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