summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/JSON2Object.java
diff options
context:
space:
mode:
authorrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2012-01-30 21:10:20 +0000
committerrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2012-01-30 21:10:20 +0000
commit74cdb705845c4dcc748706eb94d2476b01146e8e (patch)
tree5a68e23f7fb2f7299aa5f819bfdcd0caa3726d55 /sca-java-2.x/trunk/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/JSON2Object.java
parentf4c4803ce0c14585e3c2af3641d94b651877e04c (diff)
Fix the json deserialization of generic collection and upgrade to jackson 1.9.4
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1238014 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r--sca-java-2.x/trunk/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/JSON2Object.java7
1 files changed, 3 insertions, 4 deletions
diff --git a/sca-java-2.x/trunk/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/JSON2Object.java b/sca-java-2.x/trunk/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/JSON2Object.java
index c7ae9d636d..c1afd85d00 100644
--- a/sca-java-2.x/trunk/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/JSON2Object.java
+++ b/sca-java-2.x/trunk/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/jackson/JSON2Object.java
@@ -27,14 +27,13 @@ import org.apache.tuscany.sca.databinding.json.JSONDataBinding;
import org.codehaus.jackson.JsonNode;
import org.codehaus.jackson.JsonParser;
import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.type.TypeFactory;
import org.codehaus.jackson.type.JavaType;
/**
* @version $Rev$ $Date$
*/
public class JSON2Object implements PullTransformer<Object, Object> {
- private ObjectMapper mapper;
+ // private ObjectMapper mapper;
public JSON2Object() {
super();
@@ -48,7 +47,7 @@ public class JSON2Object implements PullTransformer<Object, Object> {
try {
Class<?> cls = context.getTargetDataType().getPhysical();
ObjectMapper mapper = JacksonHelper.createObjectMapper(cls);
- JavaType javaType = TypeFactory.type(context.getTargetDataType().getGenericType());
+ JavaType javaType = mapper.constructType(context.getTargetDataType().getGenericType());
if (source instanceof String) {
String sourceString = (String) source;
if(sourceString.isEmpty()) {
@@ -57,7 +56,7 @@ public class JSON2Object implements PullTransformer<Object, Object> {
return mapper.readValue((String)source, javaType);
}
} else if (source instanceof JsonNode) {
- return mapper.treeToValue((JsonNode)source, context.getTargetDataType().getPhysical());
+ return mapper.readValue((JsonNode)source, javaType);
} else if (source instanceof JsonParser) {
return mapper.readValue((JsonParser)source, javaType);
} else {