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