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 2009/02/23 22:47:39 UTC

svn commit: r747150 - in /incubator/shindig/trunk/java/social-api/src: main/java/org/apache/shindig/social/opensocial/service/PersonHandler.java test/java/org/apache/shindig/social/opensocial/service/PersonHandlerTest.java

Author: lindner
Date: Mon Feb 23 21:47:31 2009
New Revision: 747150

URL: http://svn.apache.org/viewvc?rev=747150&view=rev
Log:
SHINDIG-918 | Use getPerson when a filter is not present to retain optimizations in existing code base

Modified:
    incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/PersonHandler.java
    incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/PersonHandlerTest.java

Modified: incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/PersonHandler.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/PersonHandler.java?rev=747150&r1=747149&r2=747150&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/PersonHandler.java (original)
+++ incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/PersonHandler.java Mon Feb 23 21:47:31 2009
@@ -74,9 +74,14 @@
     if (userIds.size() == 1) {
       if (optionalPersonId.isEmpty()) {
         if (groupId.getType() == GroupId.Type.self) {
-          Future<RestfulCollection<Person>> people = personService.getPeople(
-              userIds, groupId, options, fields, request.getToken());
-          return FutureUtil.getFirstFromCollection(people);
+            // If a filter is set then we have to call getPeople(), otherwise use the simpler getPerson()
+          if (options != null && options.getFilter() != null) {
+            Future<RestfulCollection<Person>> people = personService.getPeople(
+                userIds, groupId, options, fields, request.getToken());
+            return FutureUtil.getFirstFromCollection(people);
+          } else {
+            return personService.getPerson(userIds.iterator().next(), fields, request.getToken());
+          }
         } else {
           return personService.getPeople(userIds, groupId, options, fields, request.getToken());
         }

Modified: incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/PersonHandlerTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/PersonHandlerTest.java?rev=747150&r1=747149&r2=747150&view=diff
==============================================================================
--- incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/PersonHandlerTest.java (original)
+++ incubator/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/PersonHandlerTest.java Mon Feb 23 21:47:31 2009
@@ -38,11 +38,7 @@
 import org.apache.shindig.social.opensocial.spi.PersonService;
 import org.apache.shindig.social.opensocial.spi.UserId;
 
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSortedSet;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
+import com.google.common.collect.*;
 
 import static org.easymock.EasyMock.eq;
 import static org.easymock.EasyMock.expect;
@@ -197,17 +193,12 @@
     String path = "/people/john.doe/@self";
     RestHandler operation = registry.getRestHandler(path, "GET");
 
-    Person person = new PersonImpl();
-    List<Person> people = Lists.newArrayList(person);
-    RestfulCollection<Person> data = new RestfulCollection<Person>(people);
-    expect(personService.getPeople(
-        eq(JOHN_DOE),
-        eq(new GroupId(GroupId.Type.self, null)), eq(DEFAULT_OPTIONS),
-        eq(DEFAULT_FIELDS), eq(token)))
-        .andReturn(ImmediateFuture.newInstance(data));
+    Person data = new PersonImpl();
+    expect(personService.getPerson(eq(JOHN_DOE.iterator().next()),
+        eq(DEFAULT_FIELDS), eq(token))).andReturn(ImmediateFuture.newInstance(data));
 
     replay();
-    assertEquals(person, operation.execute(Maps.<String, String[]>newHashMap(),
+    assertEquals(data, operation.execute(Maps.<String, String[]>newHashMap(),
         null, token, converter).get());
     verify();
   }