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",