You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2012/03/11 13:55:30 UTC

svn commit: r1299356 - in /axis/axis2/java/core/trunk/modules: adb/src/org/apache/axis2/databinding/utils/ adb/test/org/apache/axis2/databinding/utils/ jaxws/src/org/apache/axis2/jaxws/message/impl/ saaj/src/org/apache/axis2/saaj/

Author: veithen
Date: Sun Mar 11 12:55:29 2012
New Revision: 1299356

URL: http://svn.apache.org/viewvc?rev=1299356&view=rev
Log:
Fixed a couple of unsupported iterator usages.

Modified:
    axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/MultirefHelper.java
    axis/axis2/java/core/trunk/modules/adb/test/org/apache/axis2/databinding/utils/MultirefHelperTest.java
    axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/XMLSpineImpl.java
    axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java

Modified: axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/MultirefHelper.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/MultirefHelper.java?rev=1299356&r1=1299355&r2=1299356&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/MultirefHelper.java (original)
+++ axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/MultirefHelper.java Sun Mar 11 12:55:29 2012
@@ -162,8 +162,8 @@ public class MultirefHelper {
             OMElement omElement = (OMElement)childs.next();
             OMAttribute id = omElement.getAttribute(new QName("id"));
             if (id != null) {
-                omElement.build();
-                elementMap.put(id.getAttributeValue(), omElement.detach());
+                childs.remove();
+                elementMap.put(id.getAttributeValue(), omElement);
             }
         }
         filledTable = true;

Modified: axis/axis2/java/core/trunk/modules/adb/test/org/apache/axis2/databinding/utils/MultirefHelperTest.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb/test/org/apache/axis2/databinding/utils/MultirefHelperTest.java?rev=1299356&r1=1299355&r2=1299356&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/adb/test/org/apache/axis2/databinding/utils/MultirefHelperTest.java (original)
+++ axis/axis2/java/core/trunk/modules/adb/test/org/apache/axis2/databinding/utils/MultirefHelperTest.java Sun Mar 11 12:55:29 2012
@@ -105,6 +105,7 @@ public class MultirefHelperTest extends 
             OMElement omElement = null;
             for (Iterator iter = generatedElement.getChildElements();iter.hasNext();){
                 omElement = (OMElement) iter.next();
+                iter.remove();
                 soapEnvelope.getBody().addChild(omElement);
             }
 

Modified: axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/XMLSpineImpl.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/XMLSpineImpl.java?rev=1299356&r1=1299355&r2=1299356&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/XMLSpineImpl.java (original)
+++ axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/XMLSpineImpl.java Sun Mar 11 12:55:29 2012
@@ -475,6 +475,9 @@ class XMLSpineImpl implements XMLSpine {
             // the requested namespace/localPart
             if (om.getNamespace().getNamespaceURI().equals(namespace) &&
                 om.getLocalName().equals(localPart)) {
+                // _getBlockFromOMElement may replace the current element; move the iterator to the
+                // next element to avoid ConcurrentModificationException
+                it.hasNext();
                 Block block = _getBlockFromOMElement(om, context, blockFactory, false);
                 blocks.add(block);
             }

Modified: axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java?rev=1299356&r1=1299355&r2=1299356&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java (original)
+++ axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java Sun Mar 11 12:55:29 2012
@@ -518,10 +518,8 @@ public class SOAPElementImpl extends Nod
         //We will get all the children and iteratively call the detach() on all of 'em.
         Iterator childIter = element.getChildElements();
         while (childIter.hasNext()) {
-            Object o = childIter.next();
-            if (o instanceof org.apache.axiom.om.OMNode) {
-                ((org.apache.axiom.om.OMNode)o).detach();
-            }
+            childIter.next();
+            childIter.remove();
         }
     }