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));