Author: lryan
Date: Tue Jul  1 12:00:52 2008
New Revision: 673174

URL: http://svn.apache.org/viewvc?rev=673174&view=rev
Log:
Minor fix to BeanJSONConverter to handle unary references to injectable types. 
E.g Person.Name

Modified:
    
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/util/BeanJsonConverter.java

Modified: 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/util/BeanJsonConverter.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/util/BeanJsonConverter.java?rev=673174&r1=673173&r2=673174&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/util/BeanJsonConverter.java
 (original)
+++ 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/util/BeanJsonConverter.java
 Tue Jul  1 12:00:52 2008
@@ -19,8 +19,9 @@
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
-import com.google.inject.Injector;
 import com.google.inject.Inject;
+import com.google.inject.Injector;
+
 import org.json.JSONArray;
 import org.json.JSONException;
 import org.json.JSONObject;
@@ -271,7 +272,7 @@
 
       value = map;
 
-    } else if (expectedType.getSuperclass().equals(Enum.class)) {
+    } else if (Enum.class.isAssignableFrom(expectedType)) {
       String enumString = jsonObject.getString(fieldName);
       value = Enum.valueOf((Class<? extends Enum>) expectedType, enumString);
 
@@ -288,6 +289,9 @@
     } else if (expectedType.equals(Float.class)) {
       String stringFloat = jsonObject.getString(fieldName);
       value = new Float(stringFloat);
+    } else {
+      // Assume its an injected type
+      value = convertToObject(jsonObject.getJSONObject(fieldName).toString(), 
expectedType);
     }
 
     if (value != null) {


Reply via email to