Author: rbaxter85
Date: Thu Jun  6 01:33:44 2013
New Revision: 1490108

URL: http://svn.apache.org/r1490108
Log:
SHINDIG-1916
Application Data to handle Objects instead of Strings
Committed For Venkat Mahadevan

Modified:
    
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/AppDataHandler.java
    
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/AppDataService.java
    
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/opensocial/service/AppDataHandlerTest.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/opensocial/service/AppDataHandler.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/AppDataHandler.java?rev=1490108&r1=1490107&r2=1490108&view=diff
==============================================================================
--- 
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/AppDataHandler.java
 (original)
+++ 
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/service/AppDataHandler.java
 Thu Jun  6 01:33:44 2013
@@ -99,7 +99,7 @@ public class AppDataHandler {
 
     @SuppressWarnings("unchecked")
     // As of today, this is the only format supported by the AppData protocol
-    Map<String, String> values = request.getTypedParameter("data", Map.class);
+    Map<String, Object> values = request.getTypedParameter("data", Map.class);
     for (String key : values.keySet()) {
       if (!isValidKey(key)) {
         throw new ProtocolException(HttpServletResponse.SC_BAD_REQUEST,

Modified: 
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/AppDataService.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/AppDataService.java?rev=1490108&r1=1490107&r2=1490108&view=diff
==============================================================================
--- 
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/AppDataService.java
 (original)
+++ 
shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/spi/AppDataService.java
 Thu Jun  6 01:33:44 2013
@@ -70,6 +70,6 @@ public interface AppDataService {
    * @return an error if one occurs
    */
   Future<Void> updatePersonData(UserId userId, GroupId groupId,
-      String appId, Set<String> fields, Map<String, String> values, 
SecurityToken token)
+      String appId, Set<String> fields, Map<String, Object> values, 
SecurityToken token)
       throws ProtocolException;
 }

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=1490108&r1=1490107&r2=1490108&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
 Thu Jun  6 01:33:44 2013
@@ -562,7 +562,7 @@ public class JsonDbOpensocialService imp
 
   /** {@inheritDoc} */
   public Future<Void> updatePersonData(UserId userId, GroupId groupId, String 
appId,
-      Set<String> fields, Map<String, String> values, SecurityToken token)
+      Set<String> fields, Map<String, Object> values, SecurityToken token)
       throws ProtocolException {
     // TODO: this seems redundant. No need to pass both fields and a map of
     // field->value
@@ -577,7 +577,7 @@ public class JsonDbOpensocialService imp
         db.getJSONObject(DATA_TABLE).put(userId.getUserId(token), personData);
       }
 
-      for (Map.Entry<String, String> entry : values.entrySet()) {
+      for (Map.Entry<String, Object> entry : values.entrySet()) {
         personData.put(entry.getKey(), entry.getValue());
       }
       return Futures.immediateFuture(null);

Modified: 
shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/AppDataHandlerTest.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/AppDataHandlerTest.java?rev=1490108&r1=1490107&r2=1490108&view=diff
==============================================================================
--- 
shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/AppDataHandlerTest.java
 (original)
+++ 
shindig/trunk/java/social-api/src/test/java/org/apache/shindig/social/opensocial/service/AppDataHandlerTest.java
 Thu Jun  6 01:33:44 2013
@@ -155,7 +155,7 @@ public class AppDataHandlerTest extends 
     Map<String, String[]> params = Maps.newHashMap();
     params.put("fields", new String[]{"pandas"});
 
-    HashMap<String, String> values = Maps.newHashMap();
+    HashMap<String, Object> values = Maps.newHashMap();
     org.easymock.EasyMock.expect(converter.convertToObject(eq(jsonAppData), 
eq(Map.class)))
         .andReturn(values);
 

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=1490108&r1=1490107&r2=1490108&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
 Thu Jun  6 01:33:44 2013
@@ -273,7 +273,7 @@ public class JsonDbOpensocialServiceTest
   public void testUpdateExpectedAppData() throws Exception {
     // Delete the data
     db.updatePersonData(CANON_USER, SELF_GROUP, APP_ID,
-        null, ImmutableMap.of("count", "10", "newvalue", "20"), new 
FakeGadgetToken());
+        null, ImmutableMap.of("count", (Object)"10", "newvalue", (Object)"20", 
"isValid", new Boolean(true)), new FakeGadgetToken());
 
     // Fetch the remaining and test
     DataCollection responseItem = db.getPersonData(
@@ -283,11 +283,13 @@ public class JsonDbOpensocialServiceTest
     assertFalse(responseItem.getEntry().isEmpty());
     assertFalse(responseItem.getEntry().get(CANONICAL_USER_ID).isEmpty());
 
-    assertSame(3, responseItem.getEntry().get(CANONICAL_USER_ID).size());
+    assertSame(4, responseItem.getEntry().get(CANONICAL_USER_ID).size());
     
assertTrue(responseItem.getEntry().get(CANONICAL_USER_ID).containsKey("count"));
     assertEquals("10", 
responseItem.getEntry().get(CANONICAL_USER_ID).get("count"));
     
assertTrue(responseItem.getEntry().get(CANONICAL_USER_ID).containsKey("newvalue"));
     assertEquals("20", 
responseItem.getEntry().get(CANONICAL_USER_ID).get("newvalue"));
+    
assertTrue(responseItem.getEntry().get(CANONICAL_USER_ID).containsKey("isValid"));
+    assertEquals(true, 
Boolean.valueOf(responseItem.getEntry().get(CANONICAL_USER_ID).get("isValid")));
   }
 
   @Test


Reply via email to