Author: ssievers
Date: Tue Nov 12 12:58:36 2013
New Revision: 1541040
URL: http://svn.apache.org/r1541040
Log:
SHINDIG-1948 | Support getting only specific messages by id in
JsonDbOpensocialService | Patch from Andreas Kohn. Thanks!
Modified:
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java
shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialServiceTest.java
Modified:
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java?rev=1541040&r1=1541039&r2=1541040&view=diff
==============================================================================
---
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java
(original)
+++
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialService.java
Tue Nov 12 12:58:36 2013
@@ -688,7 +688,10 @@ public class JsonDbOpensocialService imp
// TODO: filter and sort outbox.
for (int i = 0; i < messages.length(); i++) {
JSONObject msg = messages.getJSONObject(i);
- result.add(filterFields(msg, fields, Message.class));
+ Message message = filterFields(msg, fields, Message.class);
+ if (msgIds.isEmpty() || msgIds.contains(message.getId())) {
+ result.add(message);
+ }
}
return Futures.immediateFuture(new RestfulCollection<Message>(result));
Modified:
shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialServiceTest.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialServiceTest.java?rev=1541040&r1=1541039&r2=1541040&view=diff
==============================================================================
---
shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialServiceTest.java
(original)
+++
shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/sample/spi/JsonDbOpensocialServiceTest.java
Tue Nov 12 12:58:36 2013
@@ -31,10 +31,10 @@ import org.apache.shindig.protocol.Restf
import org.apache.shindig.protocol.model.FilterOperation;
import org.apache.shindig.protocol.model.SortOrder;
import org.apache.shindig.social.SocialApiTestsGuiceModule;
-import org.apache.shindig.social.core.model.NameImpl;
-import org.apache.shindig.social.core.model.PersonImpl;
+import org.apache.shindig.social.core.model.MessageImpl;
import org.apache.shindig.social.opensocial.model.Activity;
import org.apache.shindig.social.opensocial.model.ActivityEntry;
+import org.apache.shindig.social.opensocial.model.Message;
import org.apache.shindig.social.opensocial.model.Person;
import org.apache.shindig.social.opensocial.spi.CollectionOptions;
import org.apache.shindig.social.opensocial.spi.GroupId;
@@ -387,4 +387,22 @@ public class JsonDbOpensocialServiceTest
}
}
+ @Test
+ public void testGetMessagesNoMessageIds() throws Exception {
+ RestfulCollection<Message> messages = db.getMessages(
+ CANON_USER, "publicMessage",
+ Collections.<String>emptySet(), Collections.<String>emptyList(),
+ new CollectionOptions(), token).get();
+ assertEquals(4, messages.getList().size());
+ }
+
+ @Test
+ public void testGetMessagesSingleId() throws Exception {
+ RestfulCollection<Message> messages = db.getMessages(
+ CANON_USER, "publicMessage",
+ Collections.<String>emptySet(), Collections.<String>singletonList("1"),
+ new CollectionOptions(), token).get();
+ assertEquals(1, messages.getList().size());
+ assertEquals("1", messages.getList().get(0).getId());
+ }
}