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