That patch contains a large number of space changes / re-indents so
that the actual functionality is not visible and IMHO not clear. What
exactly wants this patch to achieve?
Ciao
Henning
On Mon, Jan 5, 2009 at 16:13, <[email protected]> wrote:
> Author: etnu
> Date: Mon Jan 5 16:13:06 2009
> New Revision: 731780
>
> URL: http://svn.apache.org/viewvc?rev=731780&view=rev
> Log:
> Applied patch for SHINDIG-780, from Bob Evans. This patch implements
> requestShareApp by delegating to gadgets.rpc.
>
>
> Modified:
> incubator/shindig/trunk/features/opensocial-jsonrpc/feature.xml
> incubator/shindig/trunk/features/opensocial-jsonrpc/jsonrpccontainer.js
>
> Modified: incubator/shindig/trunk/features/opensocial-jsonrpc/feature.xml
> URL:
> http://svn.apache.org/viewvc/incubator/shindig/trunk/features/opensocial-jsonrpc/feature.xml?rev=731780&r1=731779&r2=731780&view=diff
> ==============================================================================
> --- incubator/shindig/trunk/features/opensocial-jsonrpc/feature.xml (original)
> +++ incubator/shindig/trunk/features/opensocial-jsonrpc/feature.xml Mon Jan
> 5 16:13:06 2009
> @@ -20,6 +20,7 @@
> <feature>
> <name>opensocial-jsonrpc</name>
> <dependency>opensocial-base</dependency>
> + <dependency>rpc</dependency>
> <gadget>
> <script src="jsonrpccontainer.js"></script>
> </gadget>
>
> Modified:
> incubator/shindig/trunk/features/opensocial-jsonrpc/jsonrpccontainer.js
> URL:
> http://svn.apache.org/viewvc/incubator/shindig/trunk/features/opensocial-jsonrpc/jsonrpccontainer.js?rev=731780&r1=731779&r2=731780&view=diff
> ==============================================================================
> --- incubator/shindig/trunk/features/opensocial-jsonrpc/jsonrpccontainer.js
> (original)
> +++ incubator/shindig/trunk/features/opensocial-jsonrpc/jsonrpccontainer.js
> Mon Jan 5 16:13:06 2009
> @@ -38,338 +38,394 @@
> this.baseUrl_ = baseUrl;
>
> this.securityToken_ = shindig.auth.getSecurityToken();
> -};
> -JsonRpcContainer.inherits(opensocial.Container);
>
> -JsonRpcContainer.prototype.getEnvironment = function() {
> - return this.environment_;
> + gadgets.rpc.register('shindig.requestShareApp_callback',
> + JsonRpcContainer.requestShareAppCallback_);
> };
>
> -JsonRpcContainer.prototype.requestCreateActivity = function(activity,
> priority,
> - opt_callback) {
> - opt_callback = opt_callback || function(){};
> -
> - var req = opensocial.newDataRequest();
> - var viewer = new opensocial.IdSpec({'userId' : 'VIEWER'});
> - req.add(this.newCreateActivityRequest(viewer, activity), 'key');
> - req.send(function(response) {
> - opt_callback(response.get('key'));
> - });
> -};
> +(function() {
> + var callbackIdStore = {};
>
> -JsonRpcContainer.prototype.requestData = function(dataRequest, callback) {
> - callback = callback || function(){};
> + JsonRpcContainer.inherits(opensocial.Container);
>
> - var requestObjects = dataRequest.getRequestObjects();
> - var totalRequests = requestObjects.length;
> + JsonRpcContainer.prototype.getEnvironment = function() {
> + return this.environment_;
> + };
>
> - if (totalRequests == 0) {
> - window.setTimeout(function() {
> - callback(new opensocial.DataResponse({}, true));
> - }, 0);
> - return;
> - }
> + JsonRpcContainer.prototype.requestShareApp = function(recipientIds, reason,
> + opt_callback, opt_params) {
> + var callbackId = "cId_" + Math.random();
> + callbackIdStore[callbackId] = opt_callback;
> +
> + var body = gadgets.util.unescapeString(reason.getField(
> + opensocial.Message.Field.BODY));
> +
> + if (!body || body.length == 0) {
> + var bodyMsgKey = gadgets.util.unescapeString(reason.getField(
> + opensocial.Message.Field.BODY_ID));
> + body = gadgets.Prefs.getMsg(bodyMsgKey);
> + }
>
> - var jsonBatchData = new Array(totalRequests);
> + gadgets.rpc.call('..', 'shindig.requestShareApp',
> + null,
> + callbackId,
> + recipientIds,
> + body);
> + };
> +
>
> - for (var j = 0; j < totalRequests; j++) {
> - var requestObject = requestObjects[j];
> + /**
> + * Receives the returned results from the parent container.
> + *
> + * @param {boolean} success if false, the message will not be sent
> + * @param {string} opt_errorCode an error code if success is false
> + * @param {Array.<string>?} recipientIds an array of recipient IDs,
> + * if success is true
> + * @private
> + */
> + JsonRpcContainer.requestShareAppCallback_ = function(callbackId,
> + success, opt_errorCode, recipientIds) {
> + callback = callbackIdStore[callbackId]
> + if (callback) {
> + callbackIdStore[callbackId] = null;
> +
> + var data = null;
> + if (recipientIds) {
> + data = {'recipientIds': recipientIds};
> + }
>
> - jsonBatchData[j] = requestObject.request.rpc;
> - if (requestObject.key) {
> - jsonBatchData[j].id = requestObject.key;
> + var responseItem = new opensocial.ResponseItem(null, data,
> opt_errorCode);
> + callback(responseItem);
> }
> - }
> + };
> +
> +
> + JsonRpcContainer.prototype.requestCreateActivity = function(activity,
> priority,
> + opt_callback) {
> + opt_callback = opt_callback || function(){};
> +
> + var req = opensocial.newDataRequest();
> + var viewer = new opensocial.IdSpec({'userId' : 'VIEWER'});
> + req.add(this.newCreateActivityRequest(viewer, activity), 'key');
> + req.send(function(response) {
> + opt_callback(response.get('key'));
> + });
> + };
>
> - var sendResponse = function(result) {
> - if (result.errors[0]) {
> - JsonRpcContainer.generateErrorResponse(result, requestObjects,
> callback);
> + JsonRpcContainer.prototype.requestData = function(dataRequest, callback) {
> + callback = callback || function(){};
> +
> + var requestObjects = dataRequest.getRequestObjects();
> + var totalRequests = requestObjects.length;
> +
> + if (totalRequests == 0) {
> + window.setTimeout(function() {
> + callback(new opensocial.DataResponse({}, true));
> + }, 0);
> return;
> }
>
> - result = result.data;
> + var jsonBatchData = new Array(totalRequests);
>
> - var globalError = false;
> - var responseMap = {};
> + for (var j = 0; j < totalRequests; j++) {
> + var requestObject = requestObjects[j];
>
> - // Map from indices to ids.
> - for (var i = 0; i < result.length; i++) {
> - result[result[i].id] = result[i];
> + jsonBatchData[j] = requestObject.request.rpc;
> + if (requestObject.key) {
> + jsonBatchData[j].id = requestObject.key;
> + }
> }
>
> - for (var k = 0; k < requestObjects.length; k++) {
> - var request = requestObjects[k];
> - var response = result[k];
> -
> - if (request.key && response.id != request.key) {
> - throw "Request key(" + request.key +
> - ") and response id(" + response.id + ") do not match";
> + var sendResponse = function(result) {
> + if (result.errors[0]) {
> + JsonRpcContainer.generateErrorResponse(result, requestObjects,
> callback);
> + return;
> }
>
> - var rawData = response.data;
> - var error = response.error;
> - var errorMessage = "";
> + result = result.data;
> +
> + var globalError = false;
> + var responseMap = {};
>
> - if (error) {
> - errorMessage = error.message;
> + // Map from indices to ids.
> + for (var i = 0; i < result.length; i++) {
> + result[result[i].id] = result[i];
> }
>
> - var processedData = request.request.processResponse(
> - request.request, rawData, error, errorMessage);
> - globalError = globalError || processedData.hadError();
> - if (request.key) {
> - responseMap[request.key] = processedData;
> + for (var k = 0; k < requestObjects.length; k++) {
> + var request = requestObjects[k];
> + var response = result[k];
> +
> + if (request.key && response.id != request.key) {
> + throw "Request key(" + request.key +
> + ") and response id(" + response.id + ") do not match";
> + }
> +
> + var rawData = response.data;
> + var error = response.error;
> + var errorMessage = "";
> +
> + if (error) {
> + errorMessage = error.message;
> + }
> +
> + var processedData = request.request.processResponse(
> + request.request, rawData, error, errorMessage);
> + globalError = globalError || processedData.hadError();
> + if (request.key) {
> + responseMap[request.key] = processedData;
> + }
> }
> +
> + var dataResponse = new opensocial.DataResponse(responseMap,
> globalError);
> + callback(dataResponse);
> + };
> +
> + // TODO: get the jsonbatch url from the container config
> + var makeRequestParams = {
> + "CONTENT_TYPE" : "JSON",
> + "METHOD" : "POST",
> + "AUTHORIZATION" : "SIGNED",
> + "POST_DATA" : gadgets.json.stringify(jsonBatchData)
> + };
> +
> + var url = [this.baseUrl_, "/rpc"];
> + var token = shindig.auth.getSecurityToken();
> + if (token) {
> + url.push("?st=", encodeURIComponent(token));
> }
>
> - var dataResponse = new opensocial.DataResponse(responseMap, globalError);
> - callback(dataResponse);
> + this.sendRequest(url.join(''), sendResponse, makeRequestParams,
> + "application/json");
> };
>
> - // TODO: get the jsonbatch url from the container config
> - var makeRequestParams = {
> - "CONTENT_TYPE" : "JSON",
> - "METHOD" : "POST",
> - "AUTHORIZATION" : "SIGNED",
> - "POST_DATA" : gadgets.json.stringify(jsonBatchData)
> - };
> -
> - var url = [this.baseUrl_, "/rpc"];
> - var token = shindig.auth.getSecurityToken();
> - if (token) {
> - url.push("?st=", encodeURIComponent(token));
> + JsonRpcContainer.prototype.sendRequest = function(relativeUrl, callback,
> params, contentType) {
> + gadgets.io.makeNonProxiedRequest(relativeUrl, callback, params,
> contentType);
> }
>
> - this.sendRequest(url.join(''), sendResponse, makeRequestParams,
> - "application/json");
> -};
> -
> -JsonRpcContainer.prototype.sendRequest = function(relativeUrl, callback,
> params, contentType) {
> - gadgets.io.makeNonProxiedRequest(relativeUrl, callback, params,
> contentType);
> -}
> -
> -JsonRpcContainer.generateErrorResponse = function(result, requestObjects,
> - callback) {
> - var globalErrorCode =
> - JsonRpcContainer.translateHttpError(result.errors[0]
> - || result.data.error)
> - || opensocial.ResponseItem.Error.INTERNAL_ERROR;
> -
> - var errorResponseMap = {};
> - for (var i = 0; i < requestObjects.length; i++) {
> - errorResponseMap[requestObjects[i].key] = new opensocial.ResponseItem(
> - requestObjects[i].request, null, globalErrorCode);
> - }
> - callback(new opensocial.DataResponse(errorResponseMap, true));
> -};
> -
> -JsonRpcContainer.translateHttpError = function(httpError) {
> - if (httpError == "Error 501") {
> - return opensocial.ResponseItem.Error.NOT_IMPLEMENTED;
> - } else if (httpError == "Error 401") {
> - return opensocial.ResponseItem.Error.UNAUTHORIZED;
> - } else if (httpError == "Error 403") {
> - return opensocial.ResponseItem.Error.FORBIDDEN;
> - } else if (httpError == "Error 400") {
> - return opensocial.ResponseItem.Error.BAD_REQUEST;
> - } else if (httpError == "Error 500") {
> - return opensocial.ResponseItem.Error.INTERNAL_ERROR;
> - } else if (httpError == "Error 404") {
> - return opensocial.ResponseItem.Error.BAD_REQUEST;
> - } else if (httpError == "Error 417") {
> - return opensocial.ResponseItem.Error.LIMIT_EXCEEDED;
> - }
> -};
> + JsonRpcContainer.generateErrorResponse = function(result, requestObjects,
> + callback) {
> + var globalErrorCode =
> + JsonRpcContainer.translateHttpError(result.errors[0]
> + || result.data.error)
> + || opensocial.ResponseItem.Error.INTERNAL_ERROR;
> +
> + var errorResponseMap = {};
> + for (var i = 0; i < requestObjects.length; i++) {
> + errorResponseMap[requestObjects[i].key] = new opensocial.ResponseItem(
> + requestObjects[i].request, null, globalErrorCode);
> + }
> + callback(new opensocial.DataResponse(errorResponseMap, true));
> + };
>
> -JsonRpcContainer.prototype.makeIdSpec = function(id) {
> - return new opensocial.IdSpec({'userId' : id});
> -};
> + JsonRpcContainer.translateHttpError = function(httpError) {
> + if (httpError == "Error 501") {
> + return opensocial.ResponseItem.Error.NOT_IMPLEMENTED;
> + } else if (httpError == "Error 401") {
> + return opensocial.ResponseItem.Error.UNAUTHORIZED;
> + } else if (httpError == "Error 403") {
> + return opensocial.ResponseItem.Error.FORBIDDEN;
> + } else if (httpError == "Error 400") {
> + return opensocial.ResponseItem.Error.BAD_REQUEST;
> + } else if (httpError == "Error 500") {
> + return opensocial.ResponseItem.Error.INTERNAL_ERROR;
> + } else if (httpError == "Error 404") {
> + return opensocial.ResponseItem.Error.BAD_REQUEST;
> + } else if (httpError == "Error 417") {
> + return opensocial.ResponseItem.Error.LIMIT_EXCEEDED;
> + }
> + };
>
> -JsonRpcContainer.prototype.translateIdSpec = function(newIdSpec) {
> - var userIds = newIdSpec.getField('userId');
> - var groupId = newIdSpec.getField('groupId');
> -
> - // Upconvert to array for convenience
> - if (!opensocial.Container.isArray(userIds)) {
> - userIds = [userIds];
> - }
> + JsonRpcContainer.prototype.makeIdSpec = function(id) {
> + return new opensocial.IdSpec({'userId' : id});
> + };
>
> - for (var i = 0; i < userIds.length; i++) {
> - if (userIds[i] == 'OWNER') {
> - userIds[i] = '@owner';
> - } else if (userIds[i] == 'VIEWER') {
> - userIds[i] = '@viewer';
> + JsonRpcContainer.prototype.translateIdSpec = function(newIdSpec) {
> + var userIds = newIdSpec.getField('userId');
> + var groupId = newIdSpec.getField('groupId');
> +
> + // Upconvert to array for convenience
> + if (!opensocial.Container.isArray(userIds)) {
> + userIds = [userIds];
> }
> - }
>
> - if (groupId == 'FRIENDS') {
> - groupId = "@friends";
> - } else if (groupId == 'SELF' || !groupId) {
> - groupId = "@self";
> - }
> + for (var i = 0; i < userIds.length; i++) {
> + if (userIds[i] == 'OWNER') {
> + userIds[i] = '@owner';
> + } else if (userIds[i] == 'VIEWER') {
> + userIds[i] = '@viewer';
> + }
> + }
>
> - return { userId : userIds, groupId : groupId};
> -};
> + if (groupId == 'FRIENDS') {
> + groupId = "@friends";
> + } else if (groupId == 'SELF' || !groupId) {
> + groupId = "@self";
> + }
>
> -JsonRpcContainer.prototype.newFetchPersonRequest = function(id, opt_params) {
> - var peopleRequest = this.newFetchPeopleRequest(
> - this.makeIdSpec(id), opt_params);
> -
> - var me = this;
> - return new JsonRpcRequestItem(peopleRequest.rpc,
> - function(rawJson) {
> - return me.createPersonFromJson(rawJson);
> - });
> -};
> + return { userId : userIds, groupId : groupId};
> + };
>
> -JsonRpcContainer.prototype.newFetchPeopleRequest = function(idSpec,
> - opt_params) {
> - var rpc = { method : "people.get" };
> - rpc.params = this.translateIdSpec(idSpec);
> - if (opt_params['profileDetail']) {
> -
> FieldTranslations.translateJsPersonFieldsToServerFields(opt_params['profileDetail']);
> - rpc.params.fields = opt_params['profileDetail'];
> - }
> - if (opt_params['first']) {
> - rpc.params.startIndex = opt_params['first'];
> - }
> - if (opt_params['max']) {
> - rpc.params.count = opt_params['max'];
> - }
> - if (opt_params['sortOrder']) {
> - rpc.params.sortBy = opt_params['sortOrder'];
> - }
> - if (opt_params['filter']) {
> - rpc.params.filterBy = opt_params['filter'];
> - }
> - if (idSpec.getField('networkDistance')) {
> - rpc.params.networkDistance = idSpec.getField('networkDistance');
> - }
> + JsonRpcContainer.prototype.newFetchPersonRequest = function(id,
> opt_params) {
> + var peopleRequest = this.newFetchPeopleRequest(
> + this.makeIdSpec(id), opt_params);
> +
> + var me = this;
> + return new JsonRpcRequestItem(peopleRequest.rpc,
> + function(rawJson) {
> + return me.createPersonFromJson(rawJson);
> + });
> + };
>
> - var me = this;
> - return new JsonRpcRequestItem(rpc,
> - function(rawJson) {
> - var jsonPeople;
> - if (rawJson['list']) {
> - // For the array of people response
> - jsonPeople = rawJson['list'];
> - } else {
> - // For the single person response
> - jsonPeople = [rawJson];
> - }
> + JsonRpcContainer.prototype.newFetchPeopleRequest = function(idSpec,
> + opt_params) {
> + var rpc = { method : "people.get" };
> + rpc.params = this.translateIdSpec(idSpec);
> + if (opt_params['profileDetail']) {
> +
> FieldTranslations.translateJsPersonFieldsToServerFields(opt_params['profileDetail']);
> + rpc.params.fields = opt_params['profileDetail'];
> + }
> + if (opt_params['first']) {
> + rpc.params.startIndex = opt_params['first'];
> + }
> + if (opt_params['max']) {
> + rpc.params.count = opt_params['max'];
> + }
> + if (opt_params['sortOrder']) {
> + rpc.params.sortBy = opt_params['sortOrder'];
> + }
> + if (opt_params['filter']) {
> + rpc.params.filterBy = opt_params['filter'];
> + }
> + if (idSpec.getField('networkDistance')) {
> + rpc.params.networkDistance = idSpec.getField('networkDistance');
> + }
>
> - var people = [];
> - for (var i = 0; i < jsonPeople.length; i++) {
> - people.push(me.createPersonFromJson(jsonPeople[i]));
> - }
> - return new opensocial.Collection(people,
> - rawJson['startIndex'], rawJson['totalResults']);
> - });
> -};
> + var me = this;
> + return new JsonRpcRequestItem(rpc,
> + function(rawJson) {
> + var jsonPeople;
> + if (rawJson['list']) {
> + // For the array of people response
> + jsonPeople = rawJson['list'];
> + } else {
> + // For the single person response
> + jsonPeople = [rawJson];
> + }
> +
> + var people = [];
> + for (var i = 0; i < jsonPeople.length; i++) {
> + people.push(me.createPersonFromJson(jsonPeople[i]));
> + }
> + return new opensocial.Collection(people,
> + rawJson['startIndex'], rawJson['totalResults']);
> + });
> + };
>
> -JsonRpcContainer.prototype.createPersonFromJson = function(serverJson) {
> - FieldTranslations.translateServerPersonToJsPerson(serverJson);
> - return new JsonPerson(serverJson);
> -};
> + JsonRpcContainer.prototype.createPersonFromJson = function(serverJson) {
> + FieldTranslations.translateServerPersonToJsPerson(serverJson);
> + return new JsonPerson(serverJson);
> + };
>
> -JsonRpcContainer.prototype.getFieldsList = function(keys) {
> - // datarequest.js guarantees that keys is an array
> - if (this.hasNoKeys(keys) || this.isWildcardKey(keys[0])) {
> - return [];
> - } else {
> - return keys;
> - }
> -};
> + JsonRpcContainer.prototype.getFieldsList = function(keys) {
> + // datarequest.js guarantees that keys is an array
> + if (this.hasNoKeys(keys) || this.isWildcardKey(keys[0])) {
> + return [];
> + } else {
> + return keys;
> + }
> + };
>
> -JsonRpcContainer.prototype.hasNoKeys = function(keys) {
> - return !keys || keys.length == 0;
> -};
> + JsonRpcContainer.prototype.hasNoKeys = function(keys) {
> + return !keys || keys.length == 0;
> + };
>
> -JsonRpcContainer.prototype.isWildcardKey = function(key) {
> - // Some containers support * to mean all keys in the js apis.
> - // This allows the RESTful apis to be compatible with them.
> - return key == "*";
> -};
> + JsonRpcContainer.prototype.isWildcardKey = function(key) {
> + // Some containers support * to mean all keys in the js apis.
> + // This allows the RESTful apis to be compatible with them.
> + return key == "*";
> + };
>
> -JsonRpcContainer.prototype.newFetchPersonAppDataRequest = function(idSpec,
> keys,
> - opt_params) {
> - var rpc = { method : "appdata.get" };
> - rpc.params = this.translateIdSpec(idSpec);
> - rpc.params.appId = "@app";
> - rpc.params.fields = this.getFieldsList(keys);
> - if (idSpec.getField('networkDistance')) {
> - rpc.params.networkDistance = idSpec.getField('networkDistance');
> - }
> + JsonRpcContainer.prototype.newFetchPersonAppDataRequest = function(idSpec,
> keys,
> + opt_params) {
> + var rpc = { method : "appdata.get" };
> + rpc.params = this.translateIdSpec(idSpec);
> + rpc.params.appId = "@app";
> + rpc.params.fields = this.getFieldsList(keys);
> + if (idSpec.getField('networkDistance')) {
> + rpc.params.networkDistance = idSpec.getField('networkDistance');
> + }
>
> - return new JsonRpcRequestItem(rpc,
> - function (appData) {
> - return opensocial.Container.escape(appData, opt_params, true);
> - });
> -};
> + return new JsonRpcRequestItem(rpc,
> + function (appData) {
> + return opensocial.Container.escape(appData, opt_params, true);
> + });
> + };
>
> -JsonRpcContainer.prototype.newUpdatePersonAppDataRequest = function(id, key,
> - value) {
> - var rpc = { method : "appdata.update" };
> - rpc.params = this.translateIdSpec(this.makeIdSpec(id));
> - rpc.params.appId = "@app";
> - rpc.params.data = {};
> - rpc.params.data[key] = value;
> - rpc.params.fields = key;
> - return new JsonRpcRequestItem(rpc);
> -};
> + JsonRpcContainer.prototype.newUpdatePersonAppDataRequest = function(id,
> key,
> + value) {
> + var rpc = { method : "appdata.update" };
> + rpc.params = this.translateIdSpec(this.makeIdSpec(id));
> + rpc.params.appId = "@app";
> + rpc.params.data = {};
> + rpc.params.data[key] = value;
> + rpc.params.fields = key;
> + return new JsonRpcRequestItem(rpc);
> + };
>
> -JsonRpcContainer.prototype.newRemovePersonAppDataRequest = function(id,
> keys) {
> - var rpc = { method : "appdata.delete" };
> - rpc.params = this.translateIdSpec(this.makeIdSpec(id));
> - rpc.params.appId = "@app";
> - rpc.params.fields = this.getFieldsList(keys);
> + JsonRpcContainer.prototype.newRemovePersonAppDataRequest = function(id,
> keys) {
> + var rpc = { method : "appdata.delete" };
> + rpc.params = this.translateIdSpec(this.makeIdSpec(id));
> + rpc.params.appId = "@app";
> + rpc.params.fields = this.getFieldsList(keys);
>
> - return new JsonRpcRequestItem(rpc);
> -};
> + return new JsonRpcRequestItem(rpc);
> + };
>
> -JsonRpcContainer.prototype.newFetchActivitiesRequest = function(idSpec,
> - opt_params) {
> - var rpc = { method : "activities.get" };
> - rpc.params = this.translateIdSpec(idSpec);
> - rpc.params.appId = "@app";
> - if (idSpec.getField('networkDistance')) {
> - rpc.params.networkDistance = idSpec.getField('networkDistance');
> - }
> + JsonRpcContainer.prototype.newFetchActivitiesRequest = function(idSpec,
> + opt_params) {
> + var rpc = { method : "activities.get" };
> + rpc.params = this.translateIdSpec(idSpec);
> + rpc.params.appId = "@app";
> + if (idSpec.getField('networkDistance')) {
> + rpc.params.networkDistance = idSpec.getField('networkDistance');
> + }
>
> - return new JsonRpcRequestItem(rpc,
> - function(rawJson) {
> - rawJson = rawJson['list'];
> - var activities = [];
> - for (var i = 0; i < rawJson.length; i++) {
> - activities.push(new JsonActivity(rawJson[i]));
> - }
> - return new opensocial.Collection(activities);
> - });
> -};
> + return new JsonRpcRequestItem(rpc,
> + function(rawJson) {
> + rawJson = rawJson['list'];
> + var activities = [];
> + for (var i = 0; i < rawJson.length; i++) {
> + activities.push(new JsonActivity(rawJson[i]));
> + }
> + return new opensocial.Collection(activities);
> + });
> + };
>
> -JsonRpcContainer.prototype.newActivity = function(opt_params) {
> - return new JsonActivity(opt_params, true);
> -};
> + JsonRpcContainer.prototype.newActivity = function(opt_params) {
> + return new JsonActivity(opt_params, true);
> + };
>
> -JsonRpcContainer.prototype.newMediaItem = function(mimeType, url,
> opt_params) {
> - opt_params = opt_params || {};
> - opt_params['mimeType'] = mimeType;
> - opt_params['url'] = url;
> - return new JsonMediaItem(opt_params);
> -};
> + JsonRpcContainer.prototype.newMediaItem = function(mimeType, url,
> opt_params) {
> + opt_params = opt_params || {};
> + opt_params['mimeType'] = mimeType;
> + opt_params['url'] = url;
> + return new JsonMediaItem(opt_params);
> + };
>
> -JsonRpcContainer.prototype.newCreateActivityRequest = function(idSpec,
> - activity) {
> - var rpc = { method : "activities.create" };
> - rpc.params = this.translateIdSpec(idSpec);
> - rpc.params.appId = "@app";
> - if (idSpec.getField('networkDistance')) {
> - rpc.params.networkDistance = idSpec.getField('networkDistance');
> - }
> - rpc.params.activity = activity.toJsonObject();
> + JsonRpcContainer.prototype.newCreateActivityRequest = function(idSpec,
> + activity) {
> + var rpc = { method : "activities.create" };
> + rpc.params = this.translateIdSpec(idSpec);
> + rpc.params.appId = "@app";
> + if (idSpec.getField('networkDistance')) {
> + rpc.params.networkDistance = idSpec.getField('networkDistance');
> + }
> + rpc.params.activity = activity.toJsonObject();
>
> - return new JsonRpcRequestItem(rpc);
> -};
> + return new JsonRpcRequestItem(rpc);
> + };
> +})();
>
> var JsonRpcRequestItem = function(rpc, opt_processData) {
> this.rpc = rpc;
>
>
>