Author: mmusaji
Date: 2013-03-05 05:50:54 -0500 (Tue, 05 Mar 2013)
New Revision: 17379
Modified:
thirdparty/cxf/branches/cxf-2.2.12-patch-02_JBPAPP-10651/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBSchemaInitializer.java
thirdparty/cxf/branches/cxf-2.2.12-patch-02_JBPAPP-10651/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/Utils.java
Log:
[JBPAPP-10651] Added checks for public field types
Modified:
thirdparty/cxf/branches/cxf-2.2.12-patch-02_JBPAPP-10651/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBSchemaInitializer.java
===================================================================
---
thirdparty/cxf/branches/cxf-2.2.12-patch-02_JBPAPP-10651/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBSchemaInitializer.java 2013-03-04
14:57:40 UTC (rev 17378)
+++
thirdparty/cxf/branches/cxf-2.2.12-patch-02_JBPAPP-10651/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBSchemaInitializer.java 2013-03-05
10:50:54 UTC (rev 17379)
@@ -572,6 +572,12 @@
for (Field f : Utils.getFields(cls, accessType)) {
//map field
Type type = Utils.getFieldType(f);
+ //we want to return the right type for collections so if we get null
+ //from the return type we check if it's ParameterizedType and get the
+ //generic return type.
+ if((type==null) && (f.getGenericType() instanceof ParameterizedType))
{
+ type = f.getGenericType();
+ }
JAXBBeanInfo beanInfo = getBeanInfo(type);
if (beanInfo != null) {
addElement(elementList, beanInfo, new QName(namespace, f.getName()),
isArray(type));
Modified:
thirdparty/cxf/branches/cxf-2.2.12-patch-02_JBPAPP-10651/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/Utils.java
===================================================================
---
thirdparty/cxf/branches/cxf-2.2.12-patch-02_JBPAPP-10651/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/Utils.java 2013-03-04
14:57:40 UTC (rev 17378)
+++
thirdparty/cxf/branches/cxf-2.2.12-patch-02_JBPAPP-10651/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/Utils.java 2013-03-05
10:50:54 UTC (rev 17379)
@@ -204,6 +204,11 @@
static Class<?> getFieldType(Field f) {
XmlJavaTypeAdapter adapter = getFieldXJTA(f);
+ if(adapter==null) {
+ if(f.getGenericType() instanceof ParameterizedType) {
+ return null;
+ }
+ }
Class<?> adapterType = getTypeFromXmlAdapter(adapter);
return adapterType != null ? adapterType : f.getType();
}
Show replies by date