JavaScriptのコードを読んでいると、
JsonRpcContainer.prototype.newUpdatePersonAppDataRequest = function(key,
value) {
var rpc = { method : "appdata.update" };
rpc.params = {userId: ["@viewer"], groupId: "@self"};
rpc.params.appId = "@app";
rpc.params.data = {};
rpc.params.data[key] = value;
rpc.params.fields = key;
return new JsonRpcRequestItem(rpc);
};
にあるとおり、@appとか@viewerとか@selfとか出てくる。
@viewerと@selfはセレクタと呼ばれていて、集合を表す、というところまでは分かったけど、
@appって何さ。
と思って、Java側のソースを読んでみた。
すると、
./java/common/src/main/java/org/apache/shindig/protocol/BaseRequestItem.java
に、
public String getAppId() {
String appId = getParameter(APP_ID);
if (appId == null || appId.equals(APP_SUBSTITUTION_TOKEN)) {
return token.getAppId();
} else {
return appId;
}
}
な感じの記述がある。
APP_SUBSTITUTION_TOKENは"@app"という文字列。
tokenはSecurityTokenオブジェクト。
ということで、
値に@appがあるとSecurityTokenで指定されているappIdに置換されると。
なるほどー。
.
0 コメント:
コメントを投稿