You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by sa...@apache.org on 2011/09/20 13:25:59 UTC

svn commit: r1173085 - in /axis/axis2/java/core/trunk/modules: adb/src/org/apache/axis2/databinding/utils/BeanUtil.java kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java

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);