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 2012/04/20 09:18:38 UTC

svn commit: r1328228 - in /axis/axis2/java/core/trunk/modules: integration/test-resources/BaseDataTypes.wsdl kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java kernel/src/org/apache/axis2/description/java2wsdl/TypeTable.java

Author: sagara
Date: Fri Apr 20 07:18:38 2012
New Revision: 1328228

URL: http://svn.apache.org/viewvc?rev=1328228&view=rev
Log:
Fixed AXIS2-5293. 

Modified:
    axis/axis2/java/core/trunk/modules/integration/test-resources/BaseDataTypes.wsdl
    axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java
    axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/TypeTable.java

Modified: axis/axis2/java/core/trunk/modules/integration/test-resources/BaseDataTypes.wsdl
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/integration/test-resources/BaseDataTypes.wsdl?rev=1328228&r1=1328227&r2=1328228&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/integration/test-resources/BaseDataTypes.wsdl (original)
+++ axis/axis2/java/core/trunk/modules/integration/test-resources/BaseDataTypes.wsdl Fri Apr 20 07:18:38 2012
@@ -25,28 +25,28 @@
             <xs:element name="retBool">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="inBool" type="xs:boolean"/>
+                        <xs:element name="inBool" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retBoolResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+                        <xs:element name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retSByte">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="inSByte" nillable="true" type="xs:byte"/>
+                        <xs:element name="inSByte" type="xs:byte"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retSByteResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:byte"/>
+                        <xs:element name="return" type="xs:byte"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -67,84 +67,84 @@
             <xs:element name="retDouble">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="inDouble" type="xs:double"/>
+                        <xs:element name="inDouble" type="xs:double"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retDoubleResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:double"/>
+                        <xs:element name="return" type="xs:double"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retFloat">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="inFloat" type="xs:float"/>
+                        <xs:element name="inFloat" type="xs:float"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retFloatResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:float"/>
+                        <xs:element name="return" type="xs:float"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retSingle">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="inSingle" type="xs:float"/>
+                        <xs:element  name="inSingle" type="xs:float"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retSingleResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:float"/>
+                        <xs:element  name="return" type="xs:float"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retChar">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="inChar" type="xs:int"/>
+                        <xs:element name="inChar" type="xs:int"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retCharResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:int"/>
+                        <xs:element name="return" type="xs:int"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retInt">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="inInt" type="xs:int"/>
+                        <xs:element name="inInt" type="xs:int"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retIntResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:int"/>
+                        <xs:element name="return" type="xs:int"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retUShort">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="inUShort" type="xs:int"/>
+                        <xs:element name="inUShort" type="xs:int"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retUShortResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:int"/>
+                        <xs:element name="return" type="xs:int"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
@@ -277,56 +277,56 @@
             <xs:element name="retLong">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="inLong" type="xs:long"/>
+                        <xs:element name="inLong" type="xs:long"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retLongResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:long"/>
+                        <xs:element name="return" type="xs:long"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retUInt">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="inUInt" type="xs:long"/>
+                        <xs:element name="inUInt" type="xs:long"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retUIntResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:long"/>
+                        <xs:element name="return" type="xs:long"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retByte">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="inByte" type="xs:short"/>
+                        <xs:element name="inByte" type="xs:short"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retByteResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:short"/>
+                        <xs:element name="return" type="xs:short"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retShort">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="inShort" type="xs:short"/>
+                        <xs:element name="inShort" type="xs:short"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retShortResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element minOccurs="0" name="return" type="xs:short"/>
+                        <xs:element name="return" type="xs:short"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>

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=1328228&r1=1328227&r2=1328228&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 Fri Apr 20 07:18:38 2012
@@ -1379,7 +1379,14 @@ public class DefaultSchemaGenerator impl
         if (param != null) {
             disallowOptionals = JavaUtils.isTrueExplicitly(param.getValue());
         }
-        if (!disallowOptionals) {
+        if (!("int".equals(schemaTypeName.getLocalPart()) ||
+                "double".equals(schemaTypeName.getLocalPart()) ||
+                "long".equals(schemaTypeName.getLocalPart()) ||
+                "boolean".equals(schemaTypeName.getLocalPart()) ||
+                "short".equals(schemaTypeName.getLocalPart()) ||
+                "byte".equals(schemaTypeName.getLocalPart()) ||
+                "unsignedShort".equals(schemaTypeName.getLocalPart()) ||
+                "float".equals(schemaTypeName.getLocalPart())) && !disallowOptionals) {
             elt1.setMinOccurs(0);
         }
 
@@ -1394,6 +1401,8 @@ public class DefaultSchemaGenerator impl
                 "long".equals(schemaTypeName.getLocalPart()) ||
                 "boolean".equals(schemaTypeName.getLocalPart()) ||
                 "short".equals(schemaTypeName.getLocalPart()) ||
+                "byte".equals(schemaTypeName.getLocalPart()) ||  
+                "unsignedShort".equals(schemaTypeName.getLocalPart()) ||
                 "float".equals(schemaTypeName.getLocalPart())) && !disallowNillables) {
             elt1.setNillable(true);
         }

Modified: axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/TypeTable.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/TypeTable.java?rev=1328228&r1=1328227&r2=1328228&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/TypeTable.java (original)
+++ axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/TypeTable.java Fri Apr 20 07:18:38 2012
@@ -95,7 +95,7 @@ public class TypeTable {
         simpleTypetoxsd.put("byte",
                 new QName(Java2WSDLConstants.URI_2001_SCHEMA_XSD, "byte", "xs"));
         simpleTypetoxsd.put("char",
-                new QName(Java2WSDLConstants.URI_2001_SCHEMA_XSD, "string", "xs"));
+                new QName(Java2WSDLConstants.URI_2001_SCHEMA_XSD, "unsignedShort", "xs"));
         simpleTypetoxsd.put("java.lang.Integer",
                 new QName(Java2WSDLConstants.URI_2001_SCHEMA_XSD, "int", "xs"));
         simpleTypetoxsd.put("java.lang.Double",