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