diff options
author | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2010-11-13 17:42:04 +0000 |
---|---|---|
committer | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2010-11-13 17:42:04 +0000 |
commit | d2413f4a139158cc70a996c92b0730e64a239c87 (patch) | |
tree | 9d7ed8319d4438994928d49f72be1eb4c9dbe4f5 /sca-java-2.x/trunk/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBDataBinding.java | |
parent | d97b5d71ed4952a6295e3acdd3a5789e911689f4 (diff) |
Add value types from @XmlJavaAdapter into the JAXBContext
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1034819 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r-- | sca-java-2.x/trunk/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBDataBinding.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sca-java-2.x/trunk/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBDataBinding.java b/sca-java-2.x/trunk/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBDataBinding.java index 5d7527cfa7..4d3302cffa 100644 --- a/sca-java-2.x/trunk/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBDataBinding.java +++ b/sca-java-2.x/trunk/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBDataBinding.java @@ -19,6 +19,8 @@ package org.apache.tuscany.sca.databinding.jaxb; +import static org.apache.tuscany.sca.databinding.jaxb.JAXBContextHelper.getValueType; + import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; @@ -120,9 +122,9 @@ public class JAXBDataBinding extends BaseDataBinding { Object value; if (targetDataType != null && targetDataType.getPhysical() != sourceDataType.getPhysical()) { JAXBContext targetContext = contextHelper.createJAXBContext(targetDataType); - value = targetContext.createUnmarshaller().unmarshal(doc, targetDataType.getPhysical()); + value = targetContext.createUnmarshaller().unmarshal(doc, getValueType(targetDataType.getPhysical())); } else { - value = context.createUnmarshaller().unmarshal(doc, sourceDataType.getPhysical()); + value = context.createUnmarshaller().unmarshal(doc, getValueType(sourceDataType.getPhysical())); } if (isElement && value instanceof JAXBElement) { |