Author: doll
Date: Fri Feb 22 14:51:34 2008
New Revision: 630343
URL: http://svn.apache.org/viewvc?rev=630343&view=rev
Log:
Changed JsonContainer to take in params for path, domain and supportedFields.
This allows for better extensibility. Also changed SocialDataServlet to return
an empty object by default.
The compliance tests now run... but obviously don't pass all cases.
Modified:
incubator/shindig/trunk/features/opensocial-0.7/batchrequest.js
incubator/shindig/trunk/features/opensocial-0.7/feature.xml
incubator/shindig/trunk/features/opensocial-0.7/jsoncontainer.js
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/http/SocialDataServlet.java
Modified: incubator/shindig/trunk/features/opensocial-0.7/batchrequest.js
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/features/opensocial-0.7/batchrequest.js?rev=630343&r1=630342&r2=630343&view=diff
==============================================================================
--- incubator/shindig/trunk/features/opensocial-0.7/batchrequest.js (original)
+++ incubator/shindig/trunk/features/opensocial-0.7/batchrequest.js Fri Feb 22
14:51:34 2008
@@ -30,7 +30,6 @@
this.params_ = opt_params || {};
this.params_['request'] = jsonText;
- // TODO: Make the opt_path easy to configure within jsoncontainer
this.path_ = opt_path || 'http://localhost:8080/gadgets/socialdata';
this.callback_ = opt_callback;
};
Modified: incubator/shindig/trunk/features/opensocial-0.7/feature.xml
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/features/opensocial-0.7/feature.xml?rev=630343&r1=630342&r2=630343&view=diff
==============================================================================
--- incubator/shindig/trunk/features/opensocial-0.7/feature.xml (original)
+++ incubator/shindig/trunk/features/opensocial-0.7/feature.xml Fri Feb 22
14:51:34 2008
@@ -25,7 +25,19 @@
<script src="jsoncontainer.js"></script>
<script src="batchrequest.js"></script>
<script>
- opensocial.Container.setContainer(new JsonContainer());
+ ShindigContainer = function() {
+ var supportedFields = {
+ 'person' : ['id', 'name', 'thumbnailUrl', 'profileUrl'],
+ 'activity' : ['id', 'title'] // TODO: Support acitvities
+ };
+
+ // TODO: Support relative paths
+ JsonContainer.call(this, "http://localhost:8080/gadgets/socialdata",
+ "shindig", supportedFields);
+ };
+ ShindigContainer.inherits(JsonContainer);
+
+ opensocial.Container.setContainer(new ShindigContainer());
opensocial.Container.get().enableCaja();
</script>
</gadget>
Modified: incubator/shindig/trunk/features/opensocial-0.7/jsoncontainer.js
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/features/opensocial-0.7/jsoncontainer.js?rev=630343&r1=630342&r2=630343&view=diff
==============================================================================
--- incubator/shindig/trunk/features/opensocial-0.7/jsoncontainer.js (original)
+++ incubator/shindig/trunk/features/opensocial-0.7/jsoncontainer.js Fri Feb 22
14:51:34 2008
@@ -21,13 +21,22 @@
*/
-JsonContainer = function() {
+JsonContainer = function(baseUrl, domain, supportedFieldsArray) {
opensocial.Container.call(this);
- var supportedFields = {};
- supportedFields["person"] = {"id" : true, "name" : true};
- supportedFields["activity"] = {}; // TODO: Support acitvities
- this.environment_ = new opensocial.Environment("shindig", supportedFields);
+ var supportedFieldsMap = {};
+ for (var objectType in supportedFieldsArray) {
+ if (supportedFieldsArray.hasOwnProperty(objectType)){
+ supportedFieldsMap[objectType] = {};
+ for (var i = 0; i < supportedFieldsArray[objectType].length; i++) {
+ var supportedField = supportedFieldsArray[objectType][i];
+ supportedFieldsMap[objectType][supportedField] = true;
+ }
+ }
+ }
+
+ this.environment_ = new opensocial.Environment(domain, supportedFieldsMap);
+ this.baseUrl_ = baseUrl;
};
JsonContainer.inherits(opensocial.Container);
@@ -79,7 +88,7 @@
callback(dataResponse);
};
- new BatchRequest(jsonText, sendResponse).send();
+ new BatchRequest(jsonText, sendResponse, this.baseUrl_).send();
};
JsonContainer.prototype.newFetchPersonRequest = function(id,
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/http/SocialDataServlet.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/http/SocialDataServlet.java?rev=630343&r1=630342&r2=630343&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/http/SocialDataServlet.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/http/SocialDataServlet.java
Fri Feb 22 14:51:34 2008
@@ -43,7 +43,7 @@
// TODO: Get the security token
// TODO: Allow saving data
// TODO: Don't use string concatentation for json output
- // TODO: etc, etc, etc
+ // TODO: etc, etc, etc
String requestParam = req.getParameter("request");
try {
@@ -52,7 +52,7 @@
int length = requestItems.length();
for (int i = 0; i < length; i++) {
- String jsonData = "";
+ String jsonData = "{}";
JSONObject requestItem = requestItems.getJSONObject(i);
String type = requestItem.getString("type");
@@ -74,6 +74,7 @@
jsonData = "{'jane.doe' : {'count' : 7}, " +
"'george.doe' : {'count' : 2}}";
}
+
}
jsonResponse += "{'response' : " + jsonData + "}";