Author: sagara Date: Tue Sep 20 11:25:59 2011 New Revision: 1173085 URL: http://svn.apache.org/viewvc?rev=1173085&view=rev Log: Allowed to use null as value for the "value" field of a Map. Allowed 0 min occurrence for Map Schema types. Corrected Date serialization logic of Map parameters.
Modified: axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java Modified: axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java?rev=1173085&r1=1173084&r2=1173085&view=diff ============================================================================== --- axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java (original) +++ axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java Tue Sep 20 11:25:59 2011 @@ -1542,7 +1542,7 @@ public class BeanUtil { } - if(Iterator.class.isAssignableFrom(vValue.getClass())){ + if(vValue != null && Iterator.class.isAssignableFrom(vValue.getClass())){ Iterator valItr = (Iterator) vValue; while (valItr.hasNext()) { properties.add(valueName); @@ -1674,6 +1674,9 @@ public class BeanUtil { String elementName, Object value, Type valueType, TypeTable typeTable, OMNamespace ns, boolean elementFormDefault) { //TODO - key/value can be a Collection, Array , Dom document ,OMElement etc + if(value == null) { + return null; + } if (SimpleTypeMapper.isMap(value.getClass())) { List<OMElement> childList = getMapElement(fac, valueType, (Map) value, typeTable, elementFormDefault); @@ -1728,7 +1731,14 @@ public class BeanUtil { } addInstanceTypeAttribute(fac, omValue, value, typeTable); return omValue; - } + + } else if (SimpleTypeMapper.isSimpleType(value)) { + OMElement omValue; + omValue = fac.createOMElement(elementName, ns); + omValue.addChild(fac.createOMText(SimpleTypeMapper + .getStringValue(value))); + return omValue; + } return value; } Modified: axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java?rev=1173085&r1=1173084&r2=1173085&view=diff ============================================================================== --- axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java (original) +++ axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java Tue Sep 20 11:25:59 2011 @@ -1808,6 +1808,7 @@ public class DefaultSchemaGenerator impl entryElement.setNillable(true); entryElement.setSchemaTypeName(entryTypeName); entryElement.setMaxOccurs(Long.MAX_VALUE); + entryElement.setMinOccurs(0); entryElement.setQName(entryTypeName); XmlSchemaComplexType mapType = new XmlSchemaComplexType(xmlSchema);