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 bi...@apache.org on 2020/04/14 20:02:35 UTC
[axis-axis2-java-core] 23/38: Merged r1173869 and r1299356 to the
1.5 branch.
This is an automated email from the ASF dual-hosted git repository.
billblough pushed a commit to branch 1_5
in repository https://gitbox.apache.org/repos/asf/axis-axis2-java-core.git
commit f163826867abe048602e8afe3ecdf5758f0cc3fd
Author: Andreas Veithen <ve...@apache.org>
AuthorDate: Sun Mar 11 14:22:20 2012 +0000
Merged r1173869 and r1299356 to the 1.5 branch.
---
.../adb/src/org/apache/axis2/databinding/utils/MultirefHelper.java | 4 ++--
.../test/org/apache/axis2/databinding/utils/MultirefHelperTest.java | 1 +
.../apache/axis2/handlers/addressing/AddressingInFaultHandler.java | 1 +
.../jaxws/src/org/apache/axis2/jaxws/message/impl/XMLSpineImpl.java | 3 +++
modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java | 6 ++----
5 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/modules/adb/src/org/apache/axis2/databinding/utils/MultirefHelper.java b/modules/adb/src/org/apache/axis2/databinding/utils/MultirefHelper.java
index 073484d..80d631a 100644
--- a/modules/adb/src/org/apache/axis2/databinding/utils/MultirefHelper.java
+++ b/modules/adb/src/org/apache/axis2/databinding/utils/MultirefHelper.java
@@ -146,8 +146,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;
diff --git a/modules/adb/test/org/apache/axis2/databinding/utils/MultirefHelperTest.java b/modules/adb/test/org/apache/axis2/databinding/utils/MultirefHelperTest.java
index 74a2253..27b9561 100644
--- a/modules/adb/test/org/apache/axis2/databinding/utils/MultirefHelperTest.java
+++ b/modules/adb/test/org/apache/axis2/databinding/utils/MultirefHelperTest.java
@@ -111,6 +111,7 @@ public class MultirefHelperTest extends TestCase {
OMElement omElement = null;
for (Iterator iter = generatedElement.getChildElements();iter.hasNext();){
omElement = (OMElement) iter.next();
+ iter.remove();
soapEnvelope.getBody().addChild(omElement);
}
diff --git a/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInFaultHandler.java b/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInFaultHandler.java
index 8efd4a5..4f4f682 100644
--- a/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInFaultHandler.java
+++ b/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInFaultHandler.java
@@ -70,6 +70,7 @@ public class AddressingInFaultHandler extends AbstractHandler implements Address
Iterator i = element.getChildElements();
while (i.hasNext()) {
OMElement detailElement = (OMElement)i.next();
+ i.remove();
detail.addDetailEntry(detailElement);
}
}
diff --git a/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/XMLSpineImpl.java b/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/XMLSpineImpl.java
index 4040241..b43278c 100644
--- a/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/XMLSpineImpl.java
+++ b/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/XMLSpineImpl.java
@@ -457,6 +457,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);
}
diff --git a/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java b/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java
index 5e1e293..b5293ae 100644
--- a/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java
+++ b/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java
@@ -518,10 +518,8 @@ public class SOAPElementImpl extends NodeImplEx implements SOAPElement {
//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();
}
}