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\" " +


Reply via email to