You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by li...@apache.org on 2008/03/25 00:38:49 UTC

svn commit: r640643 - in /incubator/shindig/trunk: java/gadgets/src/main/java/org/apache/shindig/social/opensocial/ java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/ javascript/samplecontainer/examples/

Author: lindner
Date: Mon Mar 24 16:38:43 2008
New Revision: 640643

URL: http://svn.apache.org/viewvc?rev=640643&view=rev
Log:
Add support for PROFILE_DETAILS fields. 
This is implemented using a HashSet<String>

Modified:
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/OpenSocialDataHandler.java
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/PeopleService.java
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/BasicPeopleService.java
    incubator/shindig/trunk/javascript/samplecontainer/examples/SocialHelloWorld.xml

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/OpenSocialDataHandler.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/OpenSocialDataHandler.java?rev=640643&r1=640642&r2=640643&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/OpenSocialDataHandler.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/OpenSocialDataHandler.java Mon Mar 24 16:38:43 2008
@@ -37,7 +37,9 @@
 
 import java.util.logging.Logger;
 import java.util.logging.Level;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
@@ -89,6 +91,12 @@
       switch (type) {
         case FETCH_PEOPLE :
           JSONArray profileDetail = params.getJSONArray("profileDetail");
+
+          Set<String> profileDetailFields = new HashSet<String>(profileDetail.length() + 1, 1);
+          for (int i = 0; i < profileDetail.length(); i++) {
+            profileDetailFields.add(profileDetail.getString(i));
+          }
+
           PeopleService.SortOrder sortOrder = PeopleService.SortOrder.valueOf(
               params.getString("sortOrder"));
           PeopleService.FilterType filter = PeopleService.FilterType.valueOf(
@@ -99,7 +107,7 @@
           // TODO: Should we put this in the requestitem and pass the whole
           // thing along?
           response = peopleHandler.getPeople(peopleIds, sortOrder, filter,
-              first, max, request.getToken());
+              first, max, profileDetailFields, request.getToken());
           break;
 
         case FETCH_PERSON_APP_DATA :

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/PeopleService.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/PeopleService.java?rev=640643&r1=640642&r2=640643&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/PeopleService.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/PeopleService.java Mon Mar 24 16:38:43 2008
@@ -25,6 +25,7 @@
 import org.apache.shindig.gadgets.GadgetToken;
 
 import java.util.List;
+import java.util.Set;
 
 public interface PeopleService {
   /**
@@ -57,5 +58,5 @@
    */
   public ResponseItem<ApiCollection<Person>> getPeople(List<String> ids,
       SortOrder sortOrder, FilterType filter, int first, int max,
-      GadgetToken token);
+      Set<String> profileDetails, GadgetToken token);
 }

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/BasicPeopleService.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/BasicPeopleService.java?rev=640643&r1=640642&r2=640643&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/BasicPeopleService.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/BasicPeopleService.java Mon Mar 24 16:38:43 2008
@@ -28,6 +28,7 @@
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.Collections;
 import java.util.Comparator;
 
@@ -42,7 +43,8 @@
   };
 
   public ResponseItem<ApiCollection<Person>> getPeople(List<String> ids,
-      SortOrder sortOrder, FilterType filter, int first, int max, GadgetToken token) {
+      SortOrder sortOrder, FilterType filter, int first, int max, 
+      Set<String> profileDetails, GadgetToken token) {
     Map<String, Person> allPeople = XmlStateFileFetcher.get().getAllPeople();
 
     List<Person> people = new ArrayList<Person>();

Modified: incubator/shindig/trunk/javascript/samplecontainer/examples/SocialHelloWorld.xml
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/javascript/samplecontainer/examples/SocialHelloWorld.xml?rev=640643&r1=640642&r2=640643&view=diff
==============================================================================
--- incubator/shindig/trunk/javascript/samplecontainer/examples/SocialHelloWorld.xml (original)
+++ incubator/shindig/trunk/javascript/samplecontainer/examples/SocialHelloWorld.xml Mon Mar 24 16:38:43 2008
@@ -103,16 +103,31 @@
        req.send(initData);
      }
 
+
+     var opts = {};
+     opts[opensocial.DataRequest.PeopleRequestFields.FIRST] =  0;
+     opts[opensocial.DataRequest.PeopleRequestFields.MAX] = 40;
+     opts[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS] = 
+                     [opensocial.Person.Field.AGE, 
+                     opensocial.Person.Field.NAME, 
+                     opensocial.Person.Field.GENDER, 
+                     opensocial.Person.Field.PROFILE_URL, 
+                     opensocial.Person.Field.THUMBNAIL_URL,
+                     opensocial.Person.Field.STATUS];
+     opts[opensocial.DataRequest.PeopleRequestFields.SORT_ORDER] = opensocial.DataRequest.SortOrder.NAME;
+
+
+
      function initData() {
        var req = opensocial.newDataRequest();
        req.add(req.newFetchPersonRequest('VIEWER'), 'viewer');
-       req.add(req.newFetchPeopleRequest('VIEWER_FRIENDS'), 'viewerFriends');
+       req.add(req.newFetchPeopleRequest('VIEWER_FRIENDS', opts), 'viewerFriends');
        req.add(req.newFetchPersonAppDataRequest('VIEWER', 'count'), 'viewerData');
        req.add(req.newFetchPersonAppDataRequest('VIEWER_FRIENDS', 'count'), 'viewerFriendData');
        req.send(render);
      }
 
-     _IG_RegisterOnloadHandler(initData);
+     gadgets.util.registerOnLoadHandler(initData);
    </script>
 
    <div style="margin-bottom: 1em">