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