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 2013/07/19 21:09:24 UTC

svn commit: r1504969 - in /synapse/trunk/java/modules/core/src: main/java/org/apache/synapse/config/xml/ test/java/org/apache/synapse/config/xml/

Author: hiranya
Date: Fri Jul 19 19:09:23 2013
New Revision: 1504969

URL: http://svn.apache.org/r1504969
Log:
Fixing SYNAPSE-870. Iterate mediator is misinterpretting being sequential as being asynchronous, where actually it should be the opposite. That is being sequential is not being asynchronous. I've fixed this issue and now the iterate mediator is async (not sequential) by default, and setting sequential attribute to true will make it not async.

Modified:
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/IterateMediatorFactory.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/IterateMediatorSerializer.java
    synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/IterateMediatorSerializationTest.java

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/IterateMediatorFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/IterateMediatorFactory.java?rev=1504969&r1=1504968&r2=1504969&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/IterateMediatorFactory.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/IterateMediatorFactory.java Fri Jul 19 19:09:23 2013
@@ -63,7 +63,7 @@ public class IterateMediatorFactory exte
     private static final QName ATT_CONTPAR = new QName("continueParent");
     private static final QName ATT_PREPLD = new QName("preservePayload");
     private static final QName ATT_ATTACHPATH = new QName("attachPath");
-    private static final QName ATT_SEQUENCIAL = new QName("sequential");
+    private static final QName ATT_SEQUENTIAL = new QName("sequential");
 
     private static final QName ID_Q
             = new QName(XMLConfigConstants.NULL_NAMESPACE, "id");
@@ -71,7 +71,7 @@ public class IterateMediatorFactory exte
     /**
      * This method will create the IterateMediator by parsing the given xml configuration
      *
-     * @param elem OMElement describing the configuration of the IterateMediaotr
+     * @param elem OMElement describing the configuration of the IterateMediator
      * @param properties properties passed
      * @return IterateMediator created from the given configuration
      */
@@ -128,9 +128,9 @@ public class IterateMediatorFactory exte
                 attachPathValue, e);
         }
 
-        boolean asynchronous = false;
-        OMAttribute asynchronousAttr = elem.getAttribute(ATT_SEQUENCIAL);
-        if (asynchronousAttr != null && asynchronousAttr.getAttributeValue().equals("true")) {
+        boolean asynchronous = true;
+        OMAttribute sequentialAttr = elem.getAttribute(ATT_SEQUENTIAL);
+        if (sequentialAttr != null && sequentialAttr.getAttributeValue().equals("true")) {
             asynchronous = false;
         }
 

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/IterateMediatorSerializer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/IterateMediatorSerializer.java?rev=1504969&r1=1504968&r2=1504969&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/IterateMediatorSerializer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/IterateMediatorSerializer.java Fri Jul 19 19:09:23 2013
@@ -85,8 +85,8 @@ public class IterateMediatorSerializer e
             handleException("Missing expression of the IterateMediator which is required.");
         }
 
-        if (itrMed.getTarget() != null && itrMed.getTarget().isAsynchronous()) {
-            itrElem.addAttribute("sequential", "false", nullNS);
+        if (itrMed.getTarget() != null && !itrMed.getTarget().isAsynchronous()) {
+            itrElem.addAttribute("sequential", "true", nullNS);
         }
 
         itrElem.addChild(TargetSerializer.serializeTarget(itrMed.getTarget()));

Modified: synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/IterateMediatorSerializationTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/IterateMediatorSerializationTest.java?rev=1504969&r1=1504968&r2=1504969&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/IterateMediatorSerializationTest.java (original)
+++ synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/IterateMediatorSerializationTest.java Fri Jul 19 19:09:23 2013
@@ -35,7 +35,7 @@ public class IterateMediatorSerializatio
         iterateMediatorSerializer = new IterateMediatorSerializer();
     }
 
-    public void testIterateMediatorSerializationSenarioOne() throws Exception {
+    public void testIterateMediatorSerializationScenarioOne() throws Exception {
         String inputXml = "<iterate xmlns=\"http://ws.apache.org/ns/synapse\" " +
             "continueParent=\"true\" preservePayload=\"true\" expression=\".\" " +
             "attachPath=\"get-property('to')\"><target sequence=\"sequenceRef1\" " +