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/06/08 21:26:21 UTC
svn commit: r782735 - in /cxf/branches/2.2.x-fixes: ./
tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/
tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/validator/
Author: dkulp
Date: Mon Jun 8 19:26:21 2009
New Revision: 782735
URL: http://svn.apache.org/viewvc?rev=782735&view=rev
Log:
Merged revisions 782729 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r782729 | dkulp | 2009-06-08 15:16:46 -0400 (Mon, 08 Jun 2009) | 2 lines
[CXF-2271] Fix problem where autoNameResolution isn't working for
unwrapped operation parts.
........
Modified:
cxf/branches/2.2.x-fixes/ (props changed)
cxf/branches/2.2.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java
cxf/branches/2.2.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/validator/WrapperStyleNameCollisionValidator.java
Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jun 8 19:26:21 2009
@@ -1 +1 @@
-/cxf/trunk:782728
+/cxf/trunk:782728-782729
Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Mon Jun 8 19:26:21 2009
@@ -1 +1 @@
-/cxf/trunk:1-782619,782728
+/cxf/trunk:1-782619,782728-782729
Modified: cxf/branches/2.2.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java?rev=782735&r1=782734&r2=782735&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java (original)
+++ cxf/branches/2.2.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java Mon Jun 8 19:26:21 2009
@@ -114,7 +114,8 @@
String name = parameter.getName();
int count = 0;
while (method.getParameter(parameter.getName()) != null
- && context.optionSet(ToolConstants.CFG_AUTORESOLVE)) {
+ && context.optionSet(ToolConstants.CFG_AUTORESOLVE)
+ && parameter.getStyle() != JavaType.Style.INOUT) {
parameter.setName(name + (++count));
}
@@ -363,13 +364,23 @@
if (outputWrapElement.size() > 1) {
for (QName inElement : inputWrapElement) {
if (isSameWrapperChild(inElement, outElement)) {
- JavaParameter jp = getParameterFromQName(outputPart.getElementQName(), outElement,
- JavaType.Style.INOUT, outputPart);
+ JavaParameter jpIn = null;
+ for (JavaParameter j : method.getParameters()) {
+ if (inElement.equals(j.getQName())) {
+ jpIn = j;
+ }
+ }
+ JavaParameter jp = getParameterFromQName(outputPart.getElementQName(), outElement,
+ JavaType.Style.INOUT, outputPart);
if (!qualified) {
jp.setTargetNamespace("");
}
+ if (!jpIn.getClassName().equals(jp.getClassName())) {
+ jp.setStyle(JavaType.Style.OUT);
+ }
addParameter(method, jp);
sameWrapperChild = true;
+
if (method.getReturn() == null) {
addVoidReturn(method);
}
@@ -406,11 +417,21 @@
if (inputWrapElement != null) {
for (QName inElement : inputWrapElement) {
if (isSameWrapperChild(inElement, outElement)) {
- JavaParameter jp = getParameterFromQName(outputPart.getElementQName(), outElement,
- JavaType.Style.INOUT, outputPart);
+
+ JavaParameter jpIn = null;
+ for (JavaParameter j : method.getParameters()) {
+ if (inElement.equals(j.getQName())) {
+ jpIn = j;
+ }
+ }
+ JavaParameter jp = getParameterFromQName(outputPart.getElementQName(), outElement,
+ JavaType.Style.INOUT, outputPart);
if (!qualified) {
jp.setTargetNamespace("");
}
+ if (!jpIn.getClassName().equals(jp.getClassName())) {
+ jp.setStyle(JavaType.Style.OUT);
+ }
addParameter(method, jp);
sameWrapperChild = true;
break;
Modified: cxf/branches/2.2.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/validator/WrapperStyleNameCollisionValidator.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/validator/WrapperStyleNameCollisionValidator.java?rev=782735&r1=782734&r2=782735&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/validator/WrapperStyleNameCollisionValidator.java (original)
+++ cxf/branches/2.2.x-fixes/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/validator/WrapperStyleNameCollisionValidator.java Mon Jun 8 19:26:21 2009
@@ -31,6 +31,7 @@
import org.apache.cxf.service.model.MessagePartInfo;
import org.apache.cxf.service.model.OperationInfo;
import org.apache.cxf.service.model.ServiceInfo;
+import org.apache.cxf.tools.common.ToolConstants;
import org.apache.cxf.tools.common.ToolContext;
import org.apache.cxf.tools.validator.ServiceValidator;
import org.apache.cxf.tools.wsdlto.frontend.jaxws.customization.JAXWSBinding;
@@ -66,6 +67,8 @@
private boolean isValidOperation(OperationInfo operation) {
ToolContext context = service.getProperty(ToolContext.class.getName(), ToolContext.class);
+
+ boolean c = context.optionSet(ToolConstants.CFG_AUTORESOLVE);
boolean valid = false;
if (operation.getUnwrappedOperation() == null) {
@@ -101,27 +104,13 @@
&& operation.getOutput().getMessageParts().size() == 1) {
output = operation.getOutput().getMessageParts().iterator().next();
}
-
- Map<QName, QName> names = new HashMap<QName, QName>();
- if (input != null) {
- for (WrapperElement element : ProcessorUtil.getWrappedElement(context, input.getElementQName())) {
- if (names.containsKey(element.getElementName())
- && (names.get(element.getElementName()) == element.getSchemaTypeName()
- || names.get(element.getElementName()).equals(element.getSchemaTypeName()))) {
- handleErrors(names.get(element.getElementName()), element);
- return false;
- } else {
- names.put(element.getElementName(), element.getSchemaTypeName());
- }
- }
- }
-
- if (output != null) {
- List<WrapperElement> els = ProcessorUtil.getWrappedElement(context, output.getElementQName());
- if (els.size() > 1) {
- for (WrapperElement element : els) {
+ if (!c) {
+ Map<QName, QName> names = new HashMap<QName, QName>();
+ if (input != null) {
+ for (WrapperElement element : ProcessorUtil.getWrappedElement(context,
+ input.getElementQName())) {
if (names.containsKey(element.getElementName())
- && !(names.get(element.getElementName()) == element.getSchemaTypeName()
+ && (names.get(element.getElementName()) == element.getSchemaTypeName()
|| names.get(element.getElementName()).equals(element.getSchemaTypeName()))) {
handleErrors(names.get(element.getElementName()), element);
return false;
@@ -130,6 +119,22 @@
}
}
}
+
+ if (output != null) {
+ List<WrapperElement> els = ProcessorUtil.getWrappedElement(context, output.getElementQName());
+ if (els.size() > 1) {
+ for (WrapperElement element : els) {
+ if (names.containsKey(element.getElementName())
+ && !(names.get(element.getElementName()) == element.getSchemaTypeName()
+ || names.get(element.getElementName()).equals(element.getSchemaTypeName()))) {
+ handleErrors(names.get(element.getElementName()), element);
+ return false;
+ } else {
+ names.put(element.getElementName(), element.getSchemaTypeName());
+ }
+ }
+ }
+ }
}
return true;
}