You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by lr...@apache.org on 2008/07/01 21:00:52 UTC
svn commit: r673174 -
/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/opensocial/util/BeanJsonConverter.java
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) {