Author: amilas
Date: Mon May  9 11:01:51 2011
New Revision: 1100957

URL: http://svn.apache.org/viewvc?rev=1100957&view=rev
Log:
adding an option to java2wsdl not to generate nillable true

Modified:
    
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/ADBDataSource.java
    
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

Modified: 
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/ADBDataSource.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/ADBDataSource.java?rev=1100957&r1=1100956&r2=1100957&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/ADBDataSource.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/ADBDataSource.java
 Mon May  9 11:01:51 2011
@@ -101,7 +101,7 @@ public class ADBDataSource implements OM
         MTOMAwareOMBuilder mtomAwareOMBuilder = new MTOMAwareOMBuilder();
         serialize(mtomAwareOMBuilder);
         return mtomAwareOMBuilder.getOMElement().getXMLStreamReader();
-    }
+    }                         
 
     /**
      * Returns the backing Object.

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=1100957&r1=1100956&r2=1100957&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
 Mon May  9 11:01:51 2011
@@ -61,6 +61,7 @@ public class Java2WSDL {
         System.out.println("  -xc class1 -xc class2...                extra 
class(es) for which schematype must be generated.  ");
         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.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=1100957&r1=1100956&r2=1100957&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
 Mon May  9 11:01:51 2011
@@ -67,6 +67,7 @@ public class Java2WSDLBuilder implements
        private String use = Java2WSDLConstants.LITERAL;
        private String locationUri;
        private ArrayList<String> extraClasses;
+    private boolean nillableElementsAllowed = true;
 
        private String nsGenClassName = null;
        private Map<String,String> pkg2nsMap = null;
@@ -244,6 +245,11 @@ public class Java2WSDLBuilder implements
                     inOutmessageReceiver);
         }
         AxisService service = new AxisService();
+
+        if (!nillableElementsAllowed) {
+            
service.addParameter(Java2WSDLConstants.DISALLOW_NILLABLE_ELEMENTS_OPTION_LONG, 
"true");
+        }
+
                schemaGenerator.setAxisService(service);
                AxisService axisService = AxisService.createService(className,
                                serviceName == null ? Java2WSDLUtils
@@ -434,4 +440,12 @@ public class Java2WSDLBuilder implements
     public void setMappingFileLocation(String mappingFileLocation) {
         this.mappingFileLocation = mappingFileLocation;
     }
+
+    public boolean isNillableElementsAllowed() {
+        return nillableElementsAllowed;
+    }
+
+    public void setNillableElementsAllowed(boolean nillableElementsAllowed) {
+        this.nillableElementsAllowed = nillableElementsAllowed;
+    }
 }

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=1100957&r1=1100956&r2=1100957&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
 Mon May  9 11:01:51 2011
@@ -237,6 +237,13 @@ public class Java2WSDLCodegenEngine impl
         if (option != null) {
             java2WsdlBuilder.setMappingFileLocation(option.getOptionValue());
         }
+
+        option = 
loadOption(Java2WSDLConstants.DISALLOW_NILLABLE_ELEMENTS_OPTION,
+                           
Java2WSDLConstants.DISALLOW_NILLABLE_ELEMENTS_OPTION_LONG,
+                           optionsMap);
+        if (option != null) {
+            java2WsdlBuilder.setNillableElementsAllowed(false);
+        }
     }
     
     private Java2WSDLCommandLineOption loadOption(String shortOption, String 
longOption,

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=1100957&r1=1100956&r2=1100957&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
 Mon May  9 11:01:51 2011
@@ -64,6 +64,8 @@ public class Java2WSDLOptionsValidator i
                 
Java2WSDLConstants.TARGET_NAMESPACE_PREFIX_OPTION.equalsIgnoreCase(optionType) 
||
                 
Java2WSDLConstants.TARGET_NAMESPACE_PREFIX_OPTION_LONG.equalsIgnoreCase(optionType)
 ||
                 Java2WSDLConstants.USE_OPTION.equalsIgnoreCase(optionType) ||
+                
Java2WSDLConstants.DISALLOW_NILLABLE_ELEMENTS_OPTION.equalsIgnoreCase(optionType)
 ||
+                
Java2WSDLConstants.DISALLOW_NILLABLE_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=1100957&r1=1100956&r2=1100957&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
 Mon May  9 11:01:51 2011
@@ -951,7 +951,14 @@ public class DefaultSchemaGenerator impl
             elt1.setMaxOccurs(Long.MAX_VALUE);
         }
         elt1.setMinOccurs(0);
-        if (!isPrimitive) {
+
+        boolean disallowNillables = false;
+        Parameter param = 
service.getParameter(Java2WSDLConstants.DISALLOW_NILLABLE_ELEMENTS_OPTION_LONG);
+        if (param != null) {
+            disallowNillables = JavaUtils.isTrueExplicitly(param.getValue());
+        }
+
+        if (!isPrimitive && !disallowNillables) {
             elt1.setNillable(true);
         }
     }
@@ -1254,12 +1261,19 @@ public class DefaultSchemaGenerator impl
             elt1.setMaxOccurs(Long.MAX_VALUE);
         }
         elt1.setMinOccurs(0);
+
+        boolean disallowNillables = false;
+        Parameter param = 
service.getParameter(Java2WSDLConstants.DISALLOW_NILLABLE_ELEMENTS_OPTION_LONG);
+        if (param != null) {
+            disallowNillables = JavaUtils.isTrueExplicitly(param.getValue());
+        }
+
         if (!("int".equals(schemaTypeName.getLocalPart()) ||
                 "double".equals(schemaTypeName.getLocalPart()) ||
                 "long".equals(schemaTypeName.getLocalPart()) ||
                 "boolean".equals(schemaTypeName.getLocalPart()) ||
                 "short".equals(schemaTypeName.getLocalPart()) ||
-                "float".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/Java2WSDLConstants.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/java2wsdl/Java2WSDLConstants.java?rev=1100957&r1=1100956&r2=1100957&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
 Mon May  9 11:01:51 2011
@@ -138,6 +138,9 @@ public interface Java2WSDLConstants {
     String SCHEMA_MAPPING_FILE_LOCATION = "mfl";
     String SCHEMA_MAPPING_FILE_LOCATION_LONG = "mapping-file-location";
 
+    String DISALLOW_NILLABLE_ELEMENTS_OPTION = "dne";
+    String DISALLOW_NILLABLE_ELEMENTS_OPTION_LONG = "disallowNillableElements";
+
     String AXIS2_NAMESPACE_PREFIX = "ns1";
 
     public static final String SOLE_INPUT = "SOLE_INPUT";


Reply via email to