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


Reply via email to