Author: [email protected]
Date: Fri Aug 26 15:57:44 2011
New Revision: 1348

Log:
[AMDATUOPENSOCIAL-107] Despite using generics, at runtime the 
Map<String,String> of AppData properties could still contain non-String values 
(like Integer in this case). Added a toString to fix that.

Modified:
   
trunk/amdatu-opensocial/opensocial-shindig/src/main/java/org/amdatu/opensocial/shindig/persistence/AppDataServiceImpl.java
   
trunk/amdatu-opensocial/opensocial-shindig/src/main/java/org/amdatu/opensocial/shindig/service/ShindigOpenSocialContainerImpl.java

Modified: 
trunk/amdatu-opensocial/opensocial-shindig/src/main/java/org/amdatu/opensocial/shindig/persistence/AppDataServiceImpl.java
==============================================================================
--- 
trunk/amdatu-opensocial/opensocial-shindig/src/main/java/org/amdatu/opensocial/shindig/persistence/AppDataServiceImpl.java
  (original)
+++ 
trunk/amdatu-opensocial/opensocial-shindig/src/main/java/org/amdatu/opensocial/shindig/persistence/AppDataServiceImpl.java
  Fri Aug 26 15:57:44 2011
@@ -109,7 +109,10 @@
         }
         Map<String, String> currentValues = (Map<String, String>) 
ConversionUtil.byteArrayToObject(currentProperties);
         for (String key : values.keySet()) {
-            currentValues.put(key, values.get(key));
+            // Despite the generic stuff, at runtime the posted AppData values 
might still contain Integers, Doubles
+            // and other primitive types. Therefore we explicitly invoke 
toString() on them.
+            Object value = values.get(key);
+            currentValues.put(key, value.toString());
         }
         return currentValues;
     }

Modified: 
trunk/amdatu-opensocial/opensocial-shindig/src/main/java/org/amdatu/opensocial/shindig/service/ShindigOpenSocialContainerImpl.java
==============================================================================
--- 
trunk/amdatu-opensocial/opensocial-shindig/src/main/java/org/amdatu/opensocial/shindig/service/ShindigOpenSocialContainerImpl.java
  (original)
+++ 
trunk/amdatu-opensocial/opensocial-shindig/src/main/java/org/amdatu/opensocial/shindig/service/ShindigOpenSocialContainerImpl.java
  Fri Aug 26 15:57:44 2011
@@ -236,13 +236,14 @@
         // First build the userprefs with the default values
         Map<String, String> userPrefMap = new HashMap<String, String>();
         for (String name : defaultUserPrefs.keySet()) {
-            userPrefMap.put(name, 
defaultUserPrefs.get(name).getDefaultValue());
+            userPrefMap.put(name, 
defaultUserPrefs.get(name).getDefaultValue().toString());
         }
 
         // Now overrule default values with user specific user preferences.
         if (userPrefs != null) {
             for (String name : userPrefs.keySet()) {
-                userPrefMap.put(name, userPrefs.get(name));
+                Object value = userPrefs.get(name);
+                userPrefMap.put(name, value.toString());
             }
         }
         return new UserPrefs(userPrefMap);    
_______________________________________________
Amdatu-commits mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-commits

Reply via email to