You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mi...@apache.org on 2009/07/11 01:02:45 UTC

svn commit: r793138 - in /ode/branches/APACHE_ODE_1.X/utils/src: main/java/org/apache/ode/utils/wsdl/WsdlUtils.java test/java/org/apache/ode/utils/wsdl/WsdlUtilsTest.java test/resources/wsdl-utils.wsdl

Author: midon
Date: Fri Jul 10 23:02:44 2009
New Revision: 793138

URL: http://svn.apache.org/viewvc?rev=793138&view=rev
Log:
avoid ConcurrentModificationException

Modified:
    ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/wsdl/WsdlUtils.java
    ode/branches/APACHE_ODE_1.X/utils/src/test/java/org/apache/ode/utils/wsdl/WsdlUtilsTest.java
    ode/branches/APACHE_ODE_1.X/utils/src/test/resources/wsdl-utils.wsdl

Modified: ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/wsdl/WsdlUtils.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/wsdl/WsdlUtils.java?rev=793138&r1=793137&r2=793138&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/wsdl/WsdlUtils.java (original)
+++ ode/branches/APACHE_ODE_1.X/utils/src/main/java/org/apache/ode/utils/wsdl/WsdlUtils.java Fri Jul 10 23:02:44 2009
@@ -49,6 +49,7 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
+import java.util.Iterator;
 
 /**
  * @author <a href="mailto:midon@intalio.com">Alexis Midon</a>
@@ -307,12 +308,12 @@
 
     public static Collection<UnknownExtensibilityElement> getHttpHeaders(List extensibilityElements) {
         final Collection<UnknownExtensibilityElement> unknownExtElements = CollectionsX.filter(extensibilityElements, UnknownExtensibilityElement.class);
-        for (UnknownExtensibilityElement extensibilityElement : unknownExtElements) {
-            final Element e = extensibilityElement.getElement();
+        for (Iterator<UnknownExtensibilityElement> iterator = unknownExtElements.iterator(); iterator.hasNext();) {
+            Element e = iterator.next().getElement();
             // keep only the header elements
             if (!Namespaces.ODE_HTTP_EXTENSION_NS.equalsIgnoreCase(e.getNamespaceURI())
-                    || !"header".equals(extensibilityElement.getElement().getLocalName())) {
-                unknownExtElements.remove(extensibilityElement);
+                    || !"header".equals(e.getLocalName())) {
+                iterator.remove();
             }
         }
         return unknownExtElements;

Modified: ode/branches/APACHE_ODE_1.X/utils/src/test/java/org/apache/ode/utils/wsdl/WsdlUtilsTest.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/utils/src/test/java/org/apache/ode/utils/wsdl/WsdlUtilsTest.java?rev=793138&r1=793137&r2=793138&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/utils/src/test/java/org/apache/ode/utils/wsdl/WsdlUtilsTest.java (original)
+++ ode/branches/APACHE_ODE_1.X/utils/src/test/java/org/apache/ode/utils/wsdl/WsdlUtilsTest.java Fri Jul 10 23:02:44 2009
@@ -36,6 +36,7 @@
 import java.net.URL;
 import java.util.Iterator;
 import java.util.Map;
+import java.util.Collection;
 
 /**
  * @author <a href="mailto:midon@intalio.com">Alexis Midon</a>
@@ -204,4 +205,12 @@
         mimeContent = WsdlUtils.getMimeContent(operation.getBindingInput().getExtensibilityElements());
         assertNull("No content-type expected here!", mimeContent);
     }
+
+     public void testGetHeaders() {
+        Binding binding = definition.getBinding(new QName("http://axis2.ode.apache.org", "DummyServiceHttpBinding"));
+        BindingOperation operation = binding.getBindingOperation("hello", null, null);
+        Collection headers = WsdlUtils.getHttpHeaders(operation.getBindingOutput().getExtensibilityElements());
+        assertNotNull("A header is expected!", headers);
+        assertTrue("A header is expected!", headers.size()==1);
+    }
 }

Modified: ode/branches/APACHE_ODE_1.X/utils/src/test/resources/wsdl-utils.wsdl
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/utils/src/test/resources/wsdl-utils.wsdl?rev=793138&r1=793137&r2=793138&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/utils/src/test/resources/wsdl-utils.wsdl (original)
+++ ode/branches/APACHE_ODE_1.X/utils/src/test/resources/wsdl-utils.wsdl Fri Jul 10 23:02:44 2009
@@ -26,6 +26,7 @@
                   xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
                   xmlns:xs="http://www.w3.org/2001/XMLSchema"
                   xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+                  xmlns:odex="http://www.apache.org/ode/type/extension/http"
                   targetNamespace="http://axis2.ode.apache.org">
     <wsdl:message name="helloRequest">
         <wsdl:part name="TestPart" type="xs:string"/>
@@ -60,6 +61,9 @@
             </wsdl:input>
             <wsdl:output>
                 <mime:content type="text/xml" part="hello"/>
+                <!-- dummy headers to test getHeaders() -->
+                <odex:header name="Age" part="age_part"/>                
+                <odex:foo name="Age" part="age_part"/>                
             </wsdl:output>
         </wsdl:operation>
     </wsdl:binding>