You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by do...@apache.org on 2008/02/22 23:51:37 UTC

svn commit: r630343 - in /incubator/shindig/trunk: features/opensocial-0.7/batchrequest.js features/opensocial-0.7/feature.xml features/opensocial-0.7/jsoncontainer.js java/gadgets/src/main/java/org/apache/shindig/social/http/SocialDataServlet.java

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 + "}";