You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2005/03/30 03:03:35 UTC
svn commit: r159456 -
geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/TypeDescBuilder.java
Author: djencks
Date: Tue Mar 29 17:03:34 2005
New Revision: 159456
URL: http://svn.apache.org/viewcvs?view=rev&rev=159456
Log:
map to public fields as well as javabean properties
Modified:
geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/TypeDescBuilder.java
Modified: geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/TypeDescBuilder.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/TypeDescBuilder.java?view=diff&r1=159455&r2=159456
==============================================================================
--- geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/TypeDescBuilder.java (original)
+++ geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/TypeDescBuilder.java Tue Mar 29 17:03:34 2005
@@ -21,6 +21,7 @@
import java.beans.IntrospectionException;
import java.util.Map;
import java.util.HashMap;
+import java.lang.reflect.Field;
import javax.xml.namespace.QName;
import org.apache.axis.description.TypeDesc;
@@ -77,10 +78,17 @@
ElementDesc elementDesc = new ElementDesc();
elementDesc.setFieldName(fieldName);
Class javaType = (Class) properties.get(fieldName);
- if (javaType == null) {
- throw new DeploymentException("field name " + fieldName + " not found in " + properties);
+ if (javaType != null) {
+ elementDesc.setJavaType(javaType);
+ } else {
+ //see if it is a public field
+ try {
+ Field field = javaClass.getField(fieldName);
+ elementDesc.setJavaType(field.getType());
+ } catch (NoSuchFieldException e) {
+ throw new DeploymentException("field name " + fieldName + " not found in " + properties);
+ }
}
- elementDesc.setJavaType(javaType);
//TODO correct namespace???
String namespace = "";
QName xmlName = new QName(namespace, variableMapping.getXmlElementName().getStringValue().trim());
@@ -88,10 +96,10 @@
QName xmlType = schemaType.getName();
elementDesc.setXmlType(xmlType);
//TODO figure out how to find these:
-// elementDesc.setArrayType(null);
-// elementDesc.setMinOccurs(0);
-// elementDesc.setMaxOccurs(0);
-// elementDesc.setNillable(false);
+// elementDesc.setArrayType(null);
+// elementDesc.setMinOccurs(0);
+// elementDesc.setMaxOccurs(0);
+// elementDesc.setNillable(false);
fields[i] = elementDesc;
}
}