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/11/14 03:22:45 UTC

svn commit: r836092 - /cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java

Author: dkulp
Date: Sat Nov 14 02:22:44 2009
New Revision: 836092

URL: http://svn.apache.org/viewvc?rev=836092&view=rev
Log:
Another tck regression

Modified:
    cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java

Modified: cxf/trunk/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/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java?rev=836092&r1=836091&r2=836092&view=diff
==============================================================================
--- cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java (original)
+++ cxf/trunk/tools/wsdlto/frontend/jaxws/src/main/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/ParameterProcessor.java Sat Nov 14 02:22:44 2009
@@ -295,7 +295,25 @@
                     }
                     continue;
                 } else if (isSamePart(inpart, outpart)) {
-                    addParameter(method, getParameterFromPart(method, outpart, JavaType.Style.INOUT));
+                    boolean found = false;
+                    for (JavaParameter p : method.getParameters()) {
+                        if (p.getQName().equals(ProcessorUtil.getElementName(outpart))) {
+                            p.setHolder(true);
+                            p.setHolderName(javax.xml.ws.Holder.class.getName());
+                            String holderClass = p.getClassName();
+                            if (JAXBUtils.holderClass(holderClass) != null) {
+                                holderClass = JAXBUtils.holderClass(holderClass).getName();
+                            }  
+                            p.setClassName(holderClass);
+                            p.getAnnotations().clear();
+                            p.setStyle(JavaType.Style.INOUT);
+                            p.annotate(new WebParamAnnotator());
+                            found = true;
+                        }
+                    }
+                    if (!found) {
+                        addParameter(method, getParameterFromPart(method, outpart, JavaType.Style.INOUT));
+                    }
                     continue;
                 } else if (!isSamePart(inpart, outpart)) {
                     if (oob) {