You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by aj...@apache.org on 2005/08/31 13:18:53 UTC

svn commit: r265016 - in /webservices/axis2/trunk/java/modules/wsdl: src/org/apache/axis2/wsdl/codegen/emitter/MultiLanguageClientEmitter.java test/org/apache/axis2/wsdl/codegen/WSDL2JavaTest.java

Author: ajith
Date: Wed Aug 31 04:18:35 2005
New Revision: 265016

URL: http://svn.apache.org/viewcvs?rev=265016&view=rev
Log:
Modified MultiLanguageClientEmitter to fix a repeating element issue

Modified:
    webservices/axis2/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/emitter/MultiLanguageClientEmitter.java
    webservices/axis2/trunk/java/modules/wsdl/test/org/apache/axis2/wsdl/codegen/WSDL2JavaTest.java

Modified: webservices/axis2/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/emitter/MultiLanguageClientEmitter.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/emitter/MultiLanguageClientEmitter.java?rev=265016&r1=265015&r2=265016&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/emitter/MultiLanguageClientEmitter.java (original)
+++ webservices/axis2/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/emitter/MultiLanguageClientEmitter.java Wed Aug 31 04:18:35 2005
@@ -983,21 +983,29 @@
                 "namespace",
                 operation.getName().getNamespaceURI(),
                 rootElement);
+
+        //Add the parameters to a map with their type as the key
+        //this step is needed to remove repetitions
+        Map parameterMap = new HashMap();
         Element inputParamElement = getInputParamElement(doc, operation);
         if (inputParamElement!=null){
-            rootElement.appendChild(inputParamElement);
+            parameterMap.put(inputParamElement.getAttribute("type"),inputParamElement);
         }
+
         Element outputParamElement = getOutputParamElement(doc, operation);
         if (outputParamElement!=null){
-            rootElement.appendChild(outputParamElement);
+            parameterMap.put(outputParamElement.getAttribute("type"),outputParamElement);
         }
+        Element newChild;
 
         if (bindingOperation!=null) {
             List headerParameterQNameList= new ArrayList();
             addHeaderOperations(headerParameterQNameList,bindingOperation,true);
             List parameterElementList = getParameterElementList(doc,headerParameterQNameList, "header");
+
             for (int i = 0; i < parameterElementList.size(); i++) {
-                rootElement.appendChild((Element)parameterElementList.get(i));
+                newChild = (Element) parameterElementList.get(i);
+                parameterMap.put(newChild.getAttribute("type"),newChild);
             }
 
             headerParameterQNameList.clear();
@@ -1005,10 +1013,17 @@
             addHeaderOperations(headerParameterQNameList,bindingOperation,false);
             parameterElementList = getParameterElementList(doc,headerParameterQNameList, "header");
             for (int i = 0; i < parameterElementList.size(); i++) {
-                rootElement.appendChild((Element)parameterElementList.get(i));
+                 newChild = (Element) parameterElementList.get(i);
+                parameterMap.put(newChild.getAttribute("type"),newChild);
             }
         }
 
+        //Now run through the parameters and ad them to the root element
+        Collection parameters = parameterMap.values();
+        for (Iterator iterator = parameters.iterator(); iterator.hasNext();) {
+           rootElement.appendChild((Element)iterator.next());
+        }
+
         doc.appendChild(rootElement);
         return doc;
     }
@@ -1072,7 +1087,7 @@
             while (iterator.hasNext()) {
                 WSDLExtensibilityElement element = (WSDLExtensibilityElement) iterator.next();
                 if (ExtensionConstants.SOAP_11_ADDRESS.equals(element.getType()) ||
-                     ExtensionConstants.SOAP_12_ADDRESS.equals(element.getType())){
+                        ExtensionConstants.SOAP_12_ADDRESS.equals(element.getType())){
                     address = (org.apache.wsdl.extensions.SOAPAddress) element;
                 }
             }

Modified: webservices/axis2/trunk/java/modules/wsdl/test/org/apache/axis2/wsdl/codegen/WSDL2JavaTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/wsdl/test/org/apache/axis2/wsdl/codegen/WSDL2JavaTest.java?rev=265016&r1=265015&r2=265016&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/wsdl/test/org/apache/axis2/wsdl/codegen/WSDL2JavaTest.java (original)
+++ webservices/axis2/trunk/java/modules/wsdl/test/org/apache/axis2/wsdl/codegen/WSDL2JavaTest.java Wed Aug 31 04:18:35 2005
@@ -173,7 +173,7 @@
         //todo - Still the compilation fails (the original problem of the java.home was settled by setting fork
         //todo - to true). Now the compiler fails for some unknown reason (inside maven! works fine in the IDE though)
 
-        //compile(outputLocation);
+//        compile(outputLocation);
     }
 
     /**