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


Reply via email to