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 <1.1/2.0> 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