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));