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/06/19 23:42:03 UTC

svn commit: r669709 - in /incubator/shindig/trunk/java/social-api/src: main/java/org/apache/shindig/social/dataservice/ main/java/org/apache/shindig/social/samplecontainer/ test/java/org/apache/shindig/social/dataservice/

Author: doll
Date: Thu Jun 19 14:42:03 2008
New Revision: 669709

URL: http://svn.apache.org/viewvc?rev=669709&view=rev
Log:
Cleaned up the AppDataService interface. The order of its params now match the other services. It also uses a Set<String> for fields instead of a list.


Modified:
    incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/dataservice/AppDataHandler.java
    incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/dataservice/AppDataService.java
    incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java
    incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/AppDataHandlerTest.java

Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/dataservice/AppDataHandler.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/dataservice/AppDataHandler.java?rev=669709&r1=669708&r2=669709&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/dataservice/AppDataHandler.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/dataservice/AppDataHandler.java Thu Jun 19 14:42:03 2008
@@ -21,6 +21,7 @@
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
 import com.google.inject.Inject;
 
 import java.util.List;
@@ -55,7 +56,8 @@
     String appId = getAppId(segments[2], request.getToken());
 
     List<String> fields = getListParam(request, "fields", Lists.<String>newArrayList());
-    return service.deletePersonData(userId, groupId, fields, appId, request.getToken());
+    return service.deletePersonData(userId, groupId, appId, Sets.newHashSet(fields),
+        request.getToken());
   }
 
   /**
@@ -101,8 +103,8 @@
     values = converter.convertToObject(jsonAppData,
         (Class<Map<String, String>>) values.getClass());
 
-    return service.updatePersonData(userId, groupId, fields, values,
-        appId, request.getToken());
+    return service.updatePersonData(userId, groupId, appId, Sets.newHashSet(fields), values,
+        request.getToken());
   }
 
   /**
@@ -120,10 +122,13 @@
     GroupId groupId = GroupId.fromJson(segments[1]);
     String appId = getAppId(segments[2], request.getToken());
 
+    // TODO: Make this field fetching common code and have the Set be the native type so
+    // we don't keep translating back and forth
     List<String> fields = getListParam(request, "fields",
         Lists.<String>newArrayList());
 
-    return service.getPersonData(userId, groupId, fields, appId, request.getToken());
+    return service.getPersonData(userId, groupId, appId, Sets.newHashSet(fields),
+        request.getToken());
   }
 
 }

Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/dataservice/AppDataService.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/dataservice/AppDataService.java?rev=669709&r1=669708&r2=669709&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/dataservice/AppDataService.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/dataservice/AppDataService.java Thu Jun 19 14:42:03 2008
@@ -20,8 +20,8 @@
 import org.apache.shindig.common.SecurityToken;
 import org.apache.shindig.social.ResponseItem;
 
-import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 public interface AppDataService {
 
@@ -29,43 +29,40 @@
    * Retrives app data for the specified user and group.
    * @param userId The user
    * @param groupId The group
-   * @param fields The fields to filter the data by.
    * @param appId The app
+   * @param fields The fields to filter the data by.
    * @param token The security token
    * @return The data fetched
    */
-  public ResponseItem<DataCollection> getPersonData(
-      UserId userId, GroupId groupId,
-      List<String> fields, String appId, SecurityToken token);
+  public ResponseItem<DataCollection> getPersonData(UserId userId, GroupId groupId, String appId,
+      Set<String> fields, SecurityToken token);
 
   /**
-   * Updates app data for the specified user and group with the new values.
+   * Deletes data for the specified user and group.
    *
    * @param userId The user
    * @param groupId The group
-   * @param fields The fields to filter the data by.
-   * @param values The values to set
    * @param appId The app
+   * @param fields The fields to delete.
    * @param token The security token
    * @return an error if one occurs
    */
-  public ResponseItem updatePersonData(UserId userId,
-      GroupId groupId, List<String> fields,
-      Map<String, String> values, String appId, SecurityToken token);
+  public ResponseItem deletePersonData(UserId userId, GroupId groupId, String appId,
+      Set<String> fields, SecurityToken token);
 
   /**
-   * Deletes data for the specified user and group.
+   * Updates app data for the specified user and group with the new values.
    *
    * @param userId The user
    * @param groupId The group
-   * @param fields The fields to delete.
    * @param appId The app
+   * @param fields The fields to filter the data by.
+   * @param values The values to set
    * @param token The security token
    * @return an error if one occurs
    */
-  public ResponseItem deletePersonData(UserId userId,
-      GroupId groupId, List<String> fields, String appId,
-      SecurityToken token);
+  public ResponseItem updatePersonData(UserId userId, GroupId groupId, String appId,
+      Set<String> fields, Map<String, String> values, SecurityToken token);
 }
 
 

Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java?rev=669709&r1=669708&r2=669709&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java Thu Jun 19 14:42:03 2008
@@ -33,6 +33,7 @@
 
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 public class BasicDataService implements DataService, AppDataService {
 
@@ -117,8 +118,8 @@
   // New interface methods
 
   public ResponseItem<DataCollection> getPersonData(
-      UserId userId, GroupId groupId, List<String> fields,
-      String appId, SecurityToken token) {
+      UserId userId, GroupId groupId, String appId, Set<String> fields,
+      SecurityToken token) {
     List<String> ids = Lists.newArrayList();
     switch (groupId.getType()) {
       case all:
@@ -134,13 +135,13 @@
 
     // TODO: Respect appId
     Map<String, Map<String, String>> data
-        = getPersonData(ids, fields, token).getResponse();
+        = getPersonData(ids, Lists.newArrayList(fields), token).getResponse();
     return new ResponseItem<DataCollection>(new DataCollection(data));
   }
 
   public ResponseItem updatePersonData(UserId userId,
-      GroupId groupId, List<String> fields,
-      Map<String, String> values, String appId, SecurityToken token) {
+      GroupId groupId, String appId, Set<String> fields,
+      Map<String, String> values, SecurityToken token) {
     for (String field : fields) {
       if (!isValidKey(field)) {
         return new ResponseItem<Object>(ResponseError.BAD_REQUEST,
@@ -166,7 +167,7 @@
   }
 
   public ResponseItem deletePersonData(UserId userId,
-      GroupId groupId, List<String> fields, String appId,
+      GroupId groupId, String appId, Set<String> fields,
       SecurityToken token) {
     switch(groupId.getType()) {
       case self:

Modified: incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/AppDataHandlerTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/AppDataHandlerTest.java?rev=669709&r1=669708&r2=669709&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/AppDataHandlerTest.java (original)
+++ incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/dataservice/AppDataHandlerTest.java Thu Jun 19 14:42:03 2008
@@ -23,10 +23,10 @@
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
 import junit.framework.TestCase;
 import org.easymock.classextension.EasyMock;
 
-import javax.servlet.http.HttpServletRequest;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -74,7 +74,7 @@
     ResponseItem<DataCollection> data = new ResponseItem<DataCollection>(null);
     EasyMock.expect(appDataService.getPersonData(new UserId(UserId.Type.userId, "john.doe"),
         new GroupId(group, null),
-        Lists.<String>newArrayList(), "appId", token)).andReturn(data);
+        "appId", Sets.<String>newHashSet(), token)).andReturn(data);
 
     replay();
     assertEquals(data, handler.handleGet(request));
@@ -101,7 +101,7 @@
     ResponseItem<DataCollection> data = new ResponseItem<DataCollection>(null);
     EasyMock.expect(appDataService.getPersonData(new UserId(UserId.Type.userId, "john.doe"),
         new GroupId(GroupId.Type.friends, null),
-        Lists.newArrayList("pandas"), "appId", token)).andReturn(data);
+        "appId", Sets.newHashSet("pandas"), token)).andReturn(data);
 
     replay();
     assertEquals(data, handler.handleGet(request));
@@ -122,7 +122,7 @@
     ResponseItem data = new ResponseItem<Object>(null);
     EasyMock.expect(appDataService.updatePersonData(new UserId(UserId.Type.userId, "john.doe"),
         new GroupId(GroupId.Type.self, null),
-        Lists.newArrayList("pandas"), values, "appId", token)).andReturn(data);
+        "appId", Sets.newHashSet("pandas"), values, token)).andReturn(data);
     replay();
     return data;
   }
@@ -147,7 +147,7 @@
     ResponseItem data = new ResponseItem<Object>(null);
     EasyMock.expect(appDataService.deletePersonData(new UserId(UserId.Type.userId, "john.doe"),
         new GroupId(GroupId.Type.self, null),
-        Lists.newArrayList("pandas"), "appId", token)).andReturn(data);
+        "appId", Sets.newHashSet("pandas"), token)).andReturn(data);
 
     replay();
     assertEquals(data, handler.handleDelete(request));