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/03/26 16:00:39 UTC

svn commit: r641340 - in /incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social: opensocial/ActivitiesService.java opensocial/DataService.java opensocial/OpenSocialDataHandler.java samplecontainer/BasicDataService.java

Author: doll
Date: Wed Mar 26 08:00:37 2008
New Revision: 641340

URL: http://svn.apache.org/viewvc?rev=641340&view=rev
Log:
Added the "keys" parameter to the DataService api for fetching data. 
Also fixed some lines that were too long. 


Modified:
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/ActivitiesService.java
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/DataService.java
    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/samplecontainer/BasicDataService.java

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/ActivitiesService.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/ActivitiesService.java?rev=641340&r1=641339&r2=641340&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/ActivitiesService.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/ActivitiesService.java Wed Mar 26 08:00:37 2008
@@ -31,7 +31,8 @@
    * @param token A valid GadgetToken
    * @return a response item with the list of activities.
    */
-  public ResponseItem<List<Activity>> getActivities(List<String> ids, GadgetToken token);
+  public ResponseItem<List<Activity>> getActivities(List<String> ids,
+      GadgetToken token);
 
   /**
    * Creates the passed in activity for the given user. Once createActivity is
@@ -41,5 +42,6 @@
    * @param token A valid GadgetToken
    * @return a response item containing any errors
    */
-  public ResponseItem createActivity(String personId, Activity activity, GadgetToken token);
+  public ResponseItem createActivity(String personId, Activity activity,
+      GadgetToken token);
 }

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/DataService.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/DataService.java?rev=641340&r1=641339&r2=641340&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/DataService.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/opensocial/DataService.java Wed Mar 26 08:00:37 2008
@@ -28,11 +28,13 @@
   /**
    * Fetch data for a list of ids.
    * @param ids The list of ids
+   * @param keys The list of keys to fetch
    * @param token The GadgetToken for this request
-   * @return ResponseItem a response item with the error code set if there was a problem
+   * @return ResponseItem a response item with the error code set if
+   *     there was a problem
    */
-
-  public ResponseItem<Map<String, Map<String, String>>> getPersonData(List<String> ids, GadgetToken token);
+  public ResponseItem<Map<String, Map<String, String>>> getPersonData(
+      List<String> ids, List<String> keys, GadgetToken token);
 
   /**
    * Updates the data key for the given person with the new value.
@@ -40,7 +42,10 @@
    * @param id The person the data is for.
    * @param key The key of the data.
    * @param value The new value of the data.
-   * @return ResponseItem a response item with the error code set if there was a problem
+   * @param token The GadgetToken for this request
+   * @return ResponseItem a response item with the error code set if
+   *     there was a problem
    */
-  public ResponseItem updatePersonData(String id, String key, String value, GadgetToken token);
+  public ResponseItem updatePersonData(String id, String key,
+      String value, GadgetToken token);
 }

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=641340&r1=641339&r2=641340&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 Wed Mar 26 08:00:37 2008
@@ -40,6 +40,7 @@
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+import java.util.ArrayList;
 
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
@@ -92,7 +93,8 @@
         case FETCH_PEOPLE :
           JSONArray profileDetail = params.getJSONArray("profileDetail");
 
-          Set<String> profileDetailFields = new HashSet<String>(profileDetail.length() + 1, 1);
+          Set<String> profileDetailFields = new HashSet<String>(
+              profileDetail.length() + 1, 1);
           for (int i = 0; i < profileDetail.length(); i++) {
             profileDetailFields.add(profileDetail.getString(i));
           }
@@ -111,7 +113,14 @@
           break;
 
         case FETCH_PERSON_APP_DATA :
-          response = dataHandler.getPersonData(peopleIds, request.getToken());
+          JSONArray jsonKeys = params.getJSONArray("keys");
+          List<String> keys = new ArrayList<String>(jsonKeys.length());
+          for (int i = 0; i < jsonKeys.length(); i++) {
+            keys.add(jsonKeys.getString(i));
+          }
+
+          response = dataHandler.getPersonData(peopleIds, keys,
+              request.getToken());
           break;
 
         case UPDATE_PERSON_APP_DATA:
@@ -121,11 +130,13 @@
           String key = params.getString("key");
           String value = params.getString("value");
 
-          response = dataHandler.updatePersonData(id, key, value, request.getToken());
+          response = dataHandler.updatePersonData(id, key, value,
+              request.getToken());
           break;
 
         case FETCH_ACTIVITIES:
-          response = activitiesHandler.getActivities(peopleIds, request.getToken());
+          response = activitiesHandler.getActivities(peopleIds,
+              request.getToken());
           break;
 
         case CREATE_ACTIVITY:
@@ -136,7 +147,8 @@
           // so json -> pojo
           Activity activity = new Activity("5", personId);
           activity.setTitle("Temporary title - we don't read json right now");
-          response = activitiesHandler.createActivity(personId, activity, request.getToken());
+          response = activitiesHandler.createActivity(personId, activity,
+              request.getToken());
           break;
       }
 

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java?rev=641340&r1=641339&r2=641340&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java Wed Mar 26 08:00:37 2008
@@ -30,7 +30,7 @@
 public class BasicDataService implements DataService {
 
   public ResponseItem<Map<String, Map<String, String>>> getPersonData(
-        List<String> ids, GadgetToken token) {
+        List<String> ids, List<String> keys, GadgetToken token) {
 
     Map<String, Map<String, String>> allData
         = XmlStateFileFetcher.get().getAppData();
@@ -40,13 +40,24 @@
         new HashMap<String, Map<String, String>>(ids.size(), 1);
 
     for (String id : ids) {
-      data.put(id, allData.get(id));
+      Map<String, String> allPersonData = allData.get(id);
+      if (allPersonData != null) {
+        Map<String, String> personData = new HashMap<String, String>();
+        for (String key : allPersonData.keySet()) {
+          if (keys.contains(key)) {
+            personData.put(key, allPersonData.get(key));
+          }
+        }
+
+        data.put(id, personData);
+      }
     }
 
     return new ResponseItem<Map<String, Map<String, String>>>(data);
   }
 
-  public ResponseItem updatePersonData(String id, String key, String value, GadgetToken token) {
+  public ResponseItem updatePersonData(String id, String key, String value,
+      GadgetToken token) {
     if (!isValidKey(key)) {
       return new ResponseItem<Object>(ResponseError.BAD_REQUEST,
           "The person data key had invalid characters",