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