You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by hi...@apache.org on 2011/04/20 13:33:20 UTC

svn commit: r1095369 - in /synapse/trunk/java/modules/core/src: main/java/org/apache/synapse/util/MessageHelper.java test/java/org/apache/synapse/mediators/eip/CloneMediatorTest.java

Author: hiranya
Date: Wed Apr 20 11:33:20 2011
New Revision: 1095369

URL: http://svn.apache.org/viewvc?rev=1095369&view=rev
Log:
Fixing an issue with cloning SOAP infosets - See the discussion on synapse-dev

Modified:
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/MessageHelper.java
    synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/eip/CloneMediatorTest.java

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/MessageHelper.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/MessageHelper.java?rev=1095369&r1=1095368&r2=1095369&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/MessageHelper.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/MessageHelper.java Wed Apr 20 11:33:20 2011
@@ -243,7 +243,9 @@ public class MessageHelper {
         if (envelope.getHeader() != null) {
             Iterator itr = envelope.getHeader().cloneOMElement().getChildren();
             while (itr.hasNext()) {
-                newEnvelope.getHeader().addChild((OMNode) itr.next());
+                OMNode node = (OMNode) itr.next();
+                itr.remove();
+                newEnvelope.getHeader().addChild(node);
             }
         }
 
@@ -256,7 +258,9 @@ public class MessageHelper {
             } else {
                 Iterator itr = envelope.getBody().cloneOMElement().getChildren();
                 while (itr.hasNext()) {
-                    newEnvelope.getBody().addChild((OMNode) itr.next());
+                    OMNode node = (OMNode) itr.next();
+                    itr.remove();
+                    newEnvelope.getBody().addChild(node);
                 }
             }
         }

Modified: synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/eip/CloneMediatorTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/eip/CloneMediatorTest.java?rev=1095369&r1=1095368&r2=1095369&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/eip/CloneMediatorTest.java (original)
+++ synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/eip/CloneMediatorTest.java Wed Apr 20 11:33:20 2011
@@ -40,7 +40,7 @@ public class CloneMediatorTest extends A
         fac = null;
     }
 
-    public void testClonningScenarioOne() throws Exception {
+    public void testCloningScenarioOne() throws Exception {
         Mediator clone = fac.createMediator(createOMElement("<clone " +
             "xmlns=\"http://ws.apache.org/ns/synapse\"><target soapAction=\"urn:clone\" " +
             "sequence=\"seqRef\"/><target to=\"http://test\"><sequence><sequence " +
@@ -60,7 +60,7 @@ public class CloneMediatorTest extends A
         }
     }
 
-    public void testClonningWithContinueParent() throws Exception {
+    public void testCloningWithContinueParent() throws Exception {
         Mediator clone = fac.createMediator(createOMElement("<clone continueParent=\"true\" " +
             "xmlns=\"http://ws.apache.org/ns/synapse\"><target soapAction=\"urn:clone\" " +
             "sequence=\"seqRef\"/><target to=\"http://test\"><sequence><sequence " +