Author: supun
Date: Sat Sep 18 17:03:46 2010
New Revision: 998497

URL: http://svn.apache.org/viewvc?rev=998497&view=rev
Log:
moving the sequential attribute to asynchronous and making it part of the 
iterate mediator

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/main/java/org/apache/synapse/config/xml/TargetFactory.java
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/TargetSerializer.java
    
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/ConditionalRouterMediatorSerializationTest.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=998497&r1=998496&r2=998497&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
 Sat Sep 18 17:03:46 2010
@@ -26,6 +26,7 @@ import org.apache.commons.logging.LogFac
 import org.apache.synapse.Mediator;
 import org.apache.synapse.SynapseConstants;
 import org.apache.synapse.mediators.eip.splitter.IterateMediator;
+import org.apache.synapse.mediators.eip.Target;
 import org.apache.synapse.util.xpath.SynapseXPath;
 import org.jaxen.JaxenException;
 
@@ -61,6 +62,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_ASYNCHRONOUS = new QName("asynchronous");
 
     /**
      * This method will create the IterateMediator by parsing the given xml 
configuration
@@ -76,13 +78,13 @@ public class IterateMediatorFactory exte
         OMAttribute continueParent = elem.getAttribute(ATT_CONTPAR);
         if (continueParent != null) {
             mediator.setContinueParent(
-                
Boolean.valueOf(continueParent.getAttributeValue()).booleanValue());
+                    Boolean.valueOf(continueParent.getAttributeValue()));
         }
 
         OMAttribute preservePayload = elem.getAttribute(ATT_PREPLD);
         if (preservePayload != null) {
             mediator.setPreservePayload(
-                
Boolean.valueOf(preservePayload.getAttributeValue()).booleanValue());
+                    Boolean.valueOf(preservePayload.getAttributeValue()));
         }
 
         OMAttribute expression = elem.getAttribute(ATT_EXPRN);
@@ -116,9 +118,19 @@ public class IterateMediatorFactory exte
                 attachPathValue, e);
         }
 
+        boolean asynchronous = true;
+        OMAttribute asynchronousAttr = elem.getAttribute(ATT_ASYNCHRONOUS);
+        if (asynchronousAttr != null && 
asynchronousAttr.getAttributeValue().equals("false")) {
+            asynchronous = true;
+        }
+
         OMElement targetElement = elem.getFirstChildWithName(TARGET_Q);
         if (targetElement != null) {
-            mediator.setTarget(TargetFactory.createTarget(targetElement));
+            Target target = TargetFactory.createTarget(targetElement);
+            if (target != null) {
+                target.setAsynchronous(asynchronous);
+                mediator.setTarget(target);
+            }
         } else {
             handleException("Target for an iterate mediator is required :: 
missing target");
         }

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=998497&r1=998496&r2=998497&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
 Sat Sep 18 17:03:46 2010
@@ -81,6 +81,10 @@ public class IterateMediatorSerializer e
             handleException("Missing expression of the IterateMediator which 
is required.");
         }
 
+        if (itrMed.getTarget() != null && 
!itrMed.getTarget().isAsynchronous()) {
+            itrElem.addAttribute("asynchronous", "false", nullNS);
+        }
+
         itrElem.addChild(TargetSerializer.serializeTarget(itrMed.getTarget()));
 
         return itrElem;

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/TargetFactory.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/TargetFactory.java?rev=998497&r1=998496&r2=998497&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/TargetFactory.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/TargetFactory.java
 Sat Sep 18 17:03:46 2010
@@ -87,19 +87,6 @@ public class TargetFactory {
             target.setEndpointRef(endpointAttr.getAttributeValue());
         }
 
-        OMAttribute syncAttribute = elem.getAttribute(
-                new QName(XMLConfigConstants.NULL_NAMESPACE, "sequencial"));
-        if (syncAttribute != null) {
-            if (syncAttribute.getAttributeValue().equals("true")) {
-                target.setAsynchronous(false);
-            } else if (syncAttribute.getAttributeValue().equals("false")) {
-                target.setAsynchronous(true);
-            } else {
-                handleException("Only true or false expected for Target 
sequencial " +
-                        "attribute, specified value is: " + 
syncAttribute.getAttributeValue());
-            }
-        }
-
         OMElement sequence = elem.getFirstChildWithName(
                 new QName(XMLConfigConstants.SYNAPSE_NAMESPACE, "sequence"));
         if (sequence != null) {

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/TargetSerializer.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/TargetSerializer.java?rev=998497&r1=998496&r2=998497&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/TargetSerializer.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/TargetSerializer.java
 Sat Sep 18 17:03:46 2010
@@ -73,11 +73,7 @@ public class TargetSerializer {
 
         if (target.getEndpointRef() != null) {
             targetElem.addAttribute("endpoint", target.getEndpointRef(), 
nullNS);
-        }
-
-        if (!target.isAsynchronous()) {
-            targetElem.addAttribute("sequencial", "true", nullNS);
-        }
+        }        
 
         if (target.getSequence() != null) {
             SequenceMediatorSerializer serializer = new 
SequenceMediatorSerializer();

Modified: 
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/ConditionalRouterMediatorSerializationTest.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/ConditionalRouterMediatorSerializationTest.java?rev=998497&r1=998496&r2=998497&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/ConditionalRouterMediatorSerializationTest.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/config/xml/ConditionalRouterMediatorSerializationTest.java
 Sat Sep 18 17:03:46 2010
@@ -33,7 +33,7 @@ public class ConditionalRouterMediatorSe
     public void testRouterMediatorSerializationSenarioOne() throws Exception {
         String inputXml = "<conditionalRouter 
xmlns=\"http://synapse.apache.org/ns/2010/04/configuration\";>" +
                 "<route><condition><equal xmlns=\"\" type=\"url\" 
value=\"http://localhost:9000.*\"/></condition>" +
-                "<target sequencial=\"true\"><sequence><log 
level=\"full\"/></sequence></target></route>" +
+                "<target><sequence><log 
level=\"full\"/></sequence></target></route>" +
                 "</conditionalRouter>";
         
         assertTrue(serialization(inputXml, factory, serializer));
@@ -44,7 +44,7 @@ public class ConditionalRouterMediatorSe
         String inputXml = "<conditionalRouter 
xmlns=\"http://synapse.apache.org/ns/2010/04/configuration\";>" +
                 "<route><condition><and xmlns=\"\" ><equal type=\"url\" 
value=\"http://localhost:9000.*\"/>" +
                 "<match type=\"url\" 
regex=\"http://localhost:9000.*\"/></and></condition>" +
-                "<target sequencial=\"true\"><sequence><log 
level=\"full\"/></sequence></target></route>" +
+                "<target><sequence><log 
level=\"full\"/></sequence></target></route>" +
                 "</conditionalRouter>";
 
         assertTrue(serialization(inputXml, factory, serializer));
@@ -54,7 +54,7 @@ public class ConditionalRouterMediatorSe
     public void testRouterMediatorSerializationSenarioThree() throws Exception 
{
         String inputXml = "<conditionalRouter 
xmlns=\"http://synapse.apache.org/ns/2010/04/configuration\";>" +
                 "<route><condition><or xmlns=\"\" ><equal type=\"url\" 
value=\"http://localhost:9000.*\"/>" +
-                "<match type=\"url\" 
regex=\"http://localhost:9000.*\"/></or></condition><target 
sequencial=\"true\">" +
+                "<match type=\"url\" 
regex=\"http://localhost:9000.*\"/></or></condition><target>" +
                 "<sequence><log level=\"full\"/></sequence></target></route>" +
                 "</conditionalRouter>";
 
@@ -65,7 +65,7 @@ public class ConditionalRouterMediatorSe
     public void testRouterMediatorSerializationSenarioFour() throws Exception {
         String inputXml = "<conditionalRouter 
xmlns=\"http://synapse.apache.org/ns/2010/04/configuration\";>" +
                 "<route><condition><not xmlns=\"\"><equal type=\"url\" 
value=\"http://localhost:9000.*\"/></not>" +
-                "</condition><target sequencial=\"true\"><sequence><log 
level=\"full\"/></sequence></target></route>" +
+                "</condition><target><sequence><log 
level=\"full\"/></sequence></target></route>" +
                 "</conditionalRouter>";
 
         assertTrue(serialization(inputXml, factory, serializer));


Reply via email to