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 na...@apache.org on 2012/02/21 21:06:31 UTC

svn commit: r1291976 - in /axis/axis2/java/core/trunk: modules/java2wsdl/src/org/apache/ws/java2wsdl/ modules/java2wsdl/src/org/apache/ws/java2wsdl/utils/ modules/kernel/src/org/apache/axis2/description/java2wsdl/ src/site/xdoc/docs/

Author: nadiramra
Date: Tue Feb 21 20:06:30 2012
New Revision: 1291976

URL: http://svn.apache.org/viewvc?rev=1291976&view=rev
Log:
AXIS2-3300 minOccurs="0" always generated by Java2WSDL

Modified:
    axis/axis2/java/core/trunk/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDL.java
    axis/axis2/java/core/trunk/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLBuilder.java
    axis/axis2/java/core/trunk/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLCodegenEngine.java
    axis/axis2/java/core/trunk/modules/java2wsdl/src/org/apache/ws/java2wsdl/utils/Java2WSDLOptionsValidator.java
    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/Java2WSDLConstants.java
    axis/axis2/java/core/trunk/src/site/xdoc/docs/reference.xml

Modified: axis/axis2/java/core/trunk/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDL.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDL.java?rev=1291976&r1=1291975&r2=1291976&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDL.java (original)
+++ axis/axis2/java/core/trunk/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDL.java Tue Feb 21 20:06:30 2012
@@ -73,14 +73,15 @@ public class Java2WSDL {
         System.out.println("  -wv <1.1/2.0>                           wsdl version - defaults to 1.1 if not specified");
         System.out.println("  -dlb                                    generate schemas conforming to doc/lit/bare style");
         System.out.println("  -dne                                    disallow nillable elements in the generated schema");
+        System.out.println("  -doe                                    disallow optional elements in the generated schema");
         System.out.println("  -disableSOAP11                          disable binding generation for SOAP 1.1");
         System.out.println("  -disableSOAP12                          disable binding generation for SOAP 1.2");
         System.out.println("  -disableREST                            disable binding generation for REST");
         System.out.println("  -mpn <messagePartName>                  change the part name of the generated wsdl messages");
         System.out.println("  -ptn <portTypeName>                     port Type name of the WSDL");
-        System.out.println("  -soap11BindingName                      soap11 binding name of the WSDL");
-        System.out.println("  -soap12BindingName                      soap 12 binding name of the WSDL");
-        System.out.println("  -restBindingName                        rest binding name of the WSDL");
+        System.out.println("  -soap11BindingName <SOAP 1.1 name>      SOAP 1.1 binding name");
+        System.out.println("  -soap12BindingName <SOAP 1.2 name>      SOAP 1.2 binding name");
+        System.out.println("  -restBindingName <REST name>            REST binding name");
         System.out.println("  -res <requestElementSuffix>             Adds a suffix to the request elemment");
         System.out.println("  -dat <disallowAnonymousTypes>           Creates a named complex type for the annonymous complex type");
         System.exit(0);

Modified: axis/axis2/java/core/trunk/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLBuilder.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLBuilder.java?rev=1291976&r1=1291975&r2=1291976&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLBuilder.java (original)
+++ axis/axis2/java/core/trunk/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLBuilder.java Tue Feb 21 20:06:30 2012
@@ -69,6 +69,7 @@ public class Java2WSDLBuilder implements
 	private String locationUri;
 	private ArrayList<String> extraClasses;
     private boolean nillableElementsAllowed = true;
+    private boolean optionalElementsAllowed = true;
 
 	private String nsGenClassName = null;
 	private Map<String,String> pkg2nsMap = null;
@@ -267,6 +268,10 @@ public class Java2WSDLBuilder implements
             service.addParameter(Java2WSDLConstants.DISALLOW_NILLABLE_ELEMENTS_OPTION_LONG, "true");
         }
 
+        if (!optionalElementsAllowed) {
+            service.addParameter(Java2WSDLConstants.DISALLOW_OPTIONAL_ELEMENTS_OPTION_LONG, "true");
+        }
+        
         if (messagePartName != null){
             service.addParameter(Java2WSDLConstants.MESSAGE_PART_NAME_OPTION_LONG, messagePartName);
         }
@@ -520,6 +525,14 @@ public class Java2WSDLBuilder implements
         this.nillableElementsAllowed = nillableElementsAllowed;
     }
 
+    public boolean isOptionalElementsAllowed() {
+        return optionalElementsAllowed;
+    }
+
+    public void setOptionalElementsAllowed(boolean optionalElementsAllowed) {
+        this.optionalElementsAllowed = optionalElementsAllowed;
+    }
+    
     public boolean isDisableREST() {
         return disableREST;
     }

Modified: axis/axis2/java/core/trunk/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLCodegenEngine.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLCodegenEngine.java?rev=1291976&r1=1291975&r2=1291976&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLCodegenEngine.java (original)
+++ axis/axis2/java/core/trunk/modules/java2wsdl/src/org/apache/ws/java2wsdl/Java2WSDLCodegenEngine.java Tue Feb 21 20:06:30 2012
@@ -244,7 +244,14 @@ public class Java2WSDLCodegenEngine impl
         if (option != null) {
             java2WsdlBuilder.setNillableElementsAllowed(false);
         }
-
+        
+        option = loadOption(Java2WSDLConstants.DISALLOW_OPTIONAL_ELEMENTS_OPTION,
+                Java2WSDLConstants.DISALLOW_OPTIONAL_ELEMENTS_OPTION_LONG,
+                optionsMap);
+        if (option != null) {
+            java2WsdlBuilder.setOptionalElementsAllowed(false);
+        }
+        
         option = loadOption(Java2WSDLConstants.DISABLE_BINDING_SOAP11, null, optionsMap);
         if (option != null) {
             java2WsdlBuilder.setDisableSOAP11(true);

Modified: axis/axis2/java/core/trunk/modules/java2wsdl/src/org/apache/ws/java2wsdl/utils/Java2WSDLOptionsValidator.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/java2wsdl/src/org/apache/ws/java2wsdl/utils/Java2WSDLOptionsValidator.java?rev=1291976&r1=1291975&r2=1291976&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/java2wsdl/src/org/apache/ws/java2wsdl/utils/Java2WSDLOptionsValidator.java (original)
+++ axis/axis2/java/core/trunk/modules/java2wsdl/src/org/apache/ws/java2wsdl/utils/Java2WSDLOptionsValidator.java Tue Feb 21 20:06:30 2012
@@ -66,6 +66,8 @@ public class Java2WSDLOptionsValidator i
                 Java2WSDLConstants.USE_OPTION.equalsIgnoreCase(optionType) ||
                 Java2WSDLConstants.DISALLOW_NILLABLE_ELEMENTS_OPTION.equalsIgnoreCase(optionType) ||
                 Java2WSDLConstants.DISALLOW_NILLABLE_ELEMENTS_OPTION_LONG.equalsIgnoreCase(optionType) ||
+                Java2WSDLConstants.DISALLOW_OPTIONAL_ELEMENTS_OPTION.equalsIgnoreCase(optionType) ||
+                Java2WSDLConstants.DISALLOW_OPTIONAL_ELEMENTS_OPTION_LONG.equalsIgnoreCase(optionType) ||
                 Java2WSDLConstants.USE_OPTION_LONG.equalsIgnoreCase(optionType)||
                 Java2WSDLConstants.WSDL_VERSION_OPTION.equalsIgnoreCase(optionType)||
                 Java2WSDLConstants.CUSTOM_SCHEMA_LOCATION.equalsIgnoreCase(optionType)||

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=1291976&r1=1291975&r2=1291976&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 Feb 21 20:06:30 2012
@@ -1055,10 +1055,18 @@ public class DefaultSchemaGenerator impl
         if (isArryType && !isBase64Binary) {
             elt1.setMaxOccurs(Long.MAX_VALUE);
         }
-        elt1.setMinOccurs(0);
+        
+        boolean disallowOptionals = false;
+        Parameter param = service.getParameter(Java2WSDLConstants.DISALLOW_OPTIONAL_ELEMENTS_OPTION_LONG);
+        if (param != null) {
+            disallowOptionals = JavaUtils.isTrueExplicitly(param.getValue());
+        }
+        if (!disallowOptionals) {
+            elt1.setMinOccurs(0);
+        }
 
         boolean disallowNillables = false;
-        Parameter param = service.getParameter(Java2WSDLConstants.DISALLOW_NILLABLE_ELEMENTS_OPTION_LONG);
+        param = service.getParameter(Java2WSDLConstants.DISALLOW_NILLABLE_ELEMENTS_OPTION_LONG);
         if (param != null) {
             disallowNillables = JavaUtils.isTrueExplicitly(param.getValue());
         }
@@ -1365,10 +1373,18 @@ public class DefaultSchemaGenerator impl
         if (isArray) {
             elt1.setMaxOccurs(Long.MAX_VALUE);
         }
-        elt1.setMinOccurs(0);
+        
+        boolean disallowOptionals = false;
+        Parameter param = service.getParameter(Java2WSDLConstants.DISALLOW_OPTIONAL_ELEMENTS_OPTION_LONG);
+        if (param != null) {
+            disallowOptionals = JavaUtils.isTrueExplicitly(param.getValue());
+        }
+        if (!disallowOptionals) {
+            elt1.setMinOccurs(0);
+        }
 
         boolean disallowNillables = false;
-        Parameter param = service.getParameter(Java2WSDLConstants.DISALLOW_NILLABLE_ELEMENTS_OPTION_LONG);
+        param = service.getParameter(Java2WSDLConstants.DISALLOW_NILLABLE_ELEMENTS_OPTION_LONG);
         if (param != null) {
             disallowNillables = JavaUtils.isTrueExplicitly(param.getValue());
         }

Modified: axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/Java2WSDLConstants.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/Java2WSDLConstants.java?rev=1291976&r1=1291975&r2=1291976&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/Java2WSDLConstants.java (original)
+++ axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/Java2WSDLConstants.java Tue Feb 21 20:06:30 2012
@@ -150,6 +150,9 @@ public interface Java2WSDLConstants {
     String DISALLOW_NILLABLE_ELEMENTS_OPTION = "dne";
     String DISALLOW_NILLABLE_ELEMENTS_OPTION_LONG = "disallowNillableElements";
 
+    String DISALLOW_OPTIONAL_ELEMENTS_OPTION = "doe";
+    String DISALLOW_OPTIONAL_ELEMENTS_OPTION_LONG = "disallowOptionalElements";
+
     String MESSAGE_PART_NAME_OPTION = "mpn";
     String MESSAGE_PART_NAME_OPTION_LONG = "messagePartName";
 

Modified: axis/axis2/java/core/trunk/src/site/xdoc/docs/reference.xml
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/src/site/xdoc/docs/reference.xml?rev=1291976&r1=1291975&r2=1291976&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/src/site/xdoc/docs/reference.xml (original)
+++ axis/axis2/java/core/trunk/src/site/xdoc/docs/reference.xml Tue Feb 21 20:06:30 2012
@@ -125,6 +125,7 @@ DESCRIPTION
       -wv &lt;1.1/2.0&gt;                           wsdl version - defaults to 1.1 if not specified
       -dlb                                    generate schemas conforming to doc/lit/bare style
       -dne                                    disallow nillable elements in the generated schema
+      -doe                                    disallow optional elements in the generated schema
       -disableSOAP11                          disable binding generation for SOAP 1.1
       -disableSOAP12                          disable binding generation for SOAP 1.2
       -disableREST                            disable binding generation for REST