You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2009/07/28 03:07:12 UTC
svn commit: r798344 - in /cxf/trunk:
api/src/main/java/org/apache/cxf/tools/common/
maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/
rt/core/src/main/java/org/apache/cxf/wsdl11/
tools/wsdlto/core/src/main/java/org/apache/cxf/tool...
Author: dkulp
Date: Tue Jul 28 01:07:11 2009
New Revision: 798344
URL: http://svn.apache.org/viewvc?rev=798344&view=rev
Log:
[CXF-1079] Add option to allow element refs when checking for ability to
unwrap.
Modified:
cxf/trunk/api/src/main/java/org/apache/cxf/tools/common/ToolConstants.java
cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/Option.java
cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/WSDL2JavaMojo.java
cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceBuilder.java
cxf/trunk/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java
cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/jaxws-toolspec.xml
Modified: cxf/trunk/api/src/main/java/org/apache/cxf/tools/common/ToolConstants.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/tools/common/ToolConstants.java?rev=798344&r1=798343&r2=798344&view=diff
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/tools/common/ToolConstants.java (original)
+++ cxf/trunk/api/src/main/java/org/apache/cxf/tools/common/ToolConstants.java Tue Jul 28 01:07:11 2009
@@ -89,6 +89,7 @@
public static final String CFG_LIB_REF = "library.references";
public static final String CFG_ANT_PROP = "ant.prop";
public static final String CFG_NO_ADDRESS_BINDING = "noAddressBinding";
+ public static final String CFG_ALLOW_ELEMENT_REFS = "allowElementReferences";
@@ -107,7 +108,6 @@
public static final String CFG_GEN_NEW_ONLY = "newonly";
// Java2WSDL Constants
-
public static final String CFG_CLASSPATH = "classpath";
public static final String CFG_TNS = "tns";
public static final String CFG_SERVICENAME = "servicename";
Modified: cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/Option.java
URL: http://svn.apache.org/viewvc/cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/Option.java?rev=798344&r1=798343&r2=798344&view=diff
==============================================================================
--- cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/Option.java (original)
+++ cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/Option.java Tue Jul 28 01:07:11 2009
@@ -140,6 +140,11 @@
* Disable generation of service address binding in the generated Java classes
*/
boolean noAddressBinding;
+
+ /**
+ * Allow element references when determining if an operation can be unwrapped or not
+ */
+ boolean allowElementRefs;
public Option() {
@@ -315,6 +320,14 @@
this.noAddressBinding = noAddressBinding;
}
+ public boolean isAllowElementRefs() {
+ return allowElementRefs;
+ }
+
+ public void setAllowElementRefs(boolean allowElementRefs) {
+ this.allowElementRefs = allowElementRefs;
+ }
+
public void copyOptions(Option destination) {
destination.setAutoNameResolution(isAutoNameResolution());
destination.setBindingFiles(getBindingFiles());
@@ -333,6 +346,7 @@
destination.setPackagenames(getPackagenames());
destination.setServiceName(getServiceName());
destination.setValidateWsdl(isValidateWsdl());
+ destination.setAllowElementRefs(isAllowElementRefs());
if (isSetWsdlLocation()) {
destination.setWsdlLocation(getWsdlLocation());
}
Modified: cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/WSDL2JavaMojo.java
URL: http://svn.apache.org/viewvc/cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/WSDL2JavaMojo.java?rev=798344&r1=798343&r2=798344&view=diff
==============================================================================
--- cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/WSDL2JavaMojo.java (original)
+++ cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/WSDL2JavaMojo.java Tue Jul 28 01:07:11 2009
@@ -422,6 +422,10 @@
}
if (wsdlOption.isExtendedSoapHeaders()) {
list.add("-exsh");
+ list.add("true");
+ }
+ if (wsdlOption.isAllowElementRefs()) {
+ list.add("-allowElementRefs");
}
if (wsdlOption.isValidateWsdl()) {
list.add("-validate");
Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceBuilder.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceBuilder.java?rev=798344&r1=798343&r2=798344&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceBuilder.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/wsdl11/WSDLServiceBuilder.java Tue Jul 28 01:07:11 2009
@@ -104,6 +104,7 @@
private Bus bus;
private Map<String, Element> schemaList = new HashMap<String, Element>();
private boolean recordOriginal = true;
+ private boolean allowRefs;
private boolean ignoreUnknownBindings;
public WSDLServiceBuilder(Bus bus) {
@@ -117,6 +118,9 @@
public void setIgnoreUnknownBindings(boolean b) {
ignoreUnknownBindings = b;
}
+ public void setAllowElementRefs(boolean b) {
+ allowRefs = b;
+ }
private void copyExtensors(AbstractPropertiesHolder info, List<?> extList) {
if (info != null) {
@@ -599,10 +603,13 @@
copyExtensors(finfo, entry.getValue().getExtensibilityElements());
copyExtensionAttributes(finfo, entry.getValue());
}
- checkForWrapped(opInfo, false);
+ checkForWrapped(opInfo, allowRefs, false);
}
public static void checkForWrapped(OperationInfo opInfo, boolean relaxed) {
+ checkForWrapped(opInfo, relaxed, relaxed);
+ }
+ public static void checkForWrapped(OperationInfo opInfo, boolean allowRefs, boolean relaxed) {
MessageInfo inputMessage = opInfo.getInput();
MessageInfo outputMessage = opInfo.getOutput();
boolean passedRule = true;
@@ -676,7 +683,7 @@
if (hasAttributes(xsct)
|| (inputEl.isNillable() && !relaxed)
|| !isWrappableSequence(xsct, inputEl.getQName().getNamespaceURI(),
- unwrappedInput, relaxed)) {
+ unwrappedInput, allowRefs)) {
passedRule = false;
}
} else {
@@ -698,7 +705,7 @@
if (hasAttributes(xsct)
|| (outputEl.isNillable() && !relaxed)
|| !isWrappableSequence(xsct, outputEl.getQName().getNamespaceURI(), unwrappedOutput,
- relaxed)) {
+ allowRefs)) {
passedRule = false;
}
} else {
Modified: cxf/trunk/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java?rev=798344&r1=798343&r2=798344&view=diff
==============================================================================
--- cxf/trunk/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java (original)
+++ cxf/trunk/tools/wsdlto/core/src/main/java/org/apache/cxf/tools/wsdlto/WSDLToJavaContainer.java Tue Jul 28 01:07:11 2009
@@ -167,6 +167,17 @@
WSDLServiceBuilder serviceBuilder = new WSDLServiceBuilder(getBus());
serviceBuilder.setIgnoreUnknownBindings(true);
+ String allowRefs = (String)context.get(ToolConstants.CFG_ALLOW_ELEMENT_REFS);
+ if (!StringUtils.isEmpty(allowRefs)
+ || context.optionSet(ToolConstants.CFG_ALLOW_ELEMENT_REFS)) {
+ if (allowRefs.length() > 0 && allowRefs.charAt(0) == '=') {
+ allowRefs = allowRefs.substring(1);
+ }
+ if (StringUtils.isEmpty(allowRefs)) {
+ allowRefs = "true";
+ }
+ serviceBuilder.setAllowElementRefs(Boolean.valueOf(allowRefs));
+ }
String serviceName = (String)context.get(ToolConstants.CFG_SERVICENAME);
if (serviceName != null) {
Modified: cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/jaxws-toolspec.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/jaxws-toolspec.xml?rev=798344&r1=798343&r2=798344&view=diff
==============================================================================
--- cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/jaxws-toolspec.xml (original)
+++ cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/jaxws-toolspec.xml Tue Jul 28 01:07:11 2009
@@ -171,6 +171,17 @@
</annotation>
<switch>autoNameResolution</switch>
</option>
+
+ <option id="allowElementReferences" maxOccurs="1">
+ <annotaion>
+ </annotaion>
+ <associatedArgument placement="immediate">
+ <annotation>=true</annotation>
+ <valueenum>true|false</valueenum>
+ </associatedArgument>
+ <switch>allowElementReferences</switch>
+ <switch>aer</switch>
+ </option>
<option id="defaultValues" maxOccurs="1">
<annotation>