You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by is...@apache.org on 2016/05/22 14:32:34 UTC
svn commit: r1745059 - in /synapse/trunk/java/modules/core/src:
main/java/org/apache/synapse/mediators/elementary/Source.java
test/java/org/apache/synapse/mediators/elementary/EnrichMediatorTest.java
Author: isudana
Date: Sun May 22 14:32:33 2016
New Revision: 1745059
URL: http://svn.apache.org/viewvc?rev=1745059&view=rev
Log:
Fix for SYNAPSE-1007 by Ravi. Committing with a test case
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/elementary/Source.java
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/elementary/EnrichMediatorTest.java
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/elementary/Source.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/elementary/Source.java?rev=1745059&r1=1745058&r2=1745059&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/elementary/Source.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/elementary/Source.java Sun May 22 14:32:33 2016
@@ -110,6 +110,8 @@ public class Source {
if (o instanceof OMElement) {
if (clone) {
sourceNodeList.add(((OMElement) o).cloneOMElement());
+ } else {
+ sourceNodeList.add((OMElement) o);
}
} else if (o instanceof String) {
String sourceStr = (String) o;
Modified: synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/elementary/EnrichMediatorTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/elementary/EnrichMediatorTest.java?rev=1745059&r1=1745058&r2=1745059&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/elementary/EnrichMediatorTest.java (original)
+++ synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/elementary/EnrichMediatorTest.java Sun May 22 14:32:33 2016
@@ -85,4 +85,34 @@ public class EnrichMediatorTest extends
String result = element.getAttributeValue(new QName("gender"));
assertEquals("male", result);
}
+
+ /**
+ * Test for SYNAPSE-1007. Check whether message enrichment works when source is set to PROPERTY and
+ * source is not cloned.
+ *
+ * @throws Exception
+ */
+ public void testEnrich4() throws Exception {
+
+ String xml = "<student gender=\"female\"><name>John</name><age>15</age></student>";
+ OMElement omElement = TestUtils.createOMElement(xml);
+
+ EnrichMediator mediator = new EnrichMediator();
+ Source source = new Source();
+ source.setSourceType(EnrichMediator.PROPERTY);
+ source.setProperty("msg_body");
+ source.setClone(false);
+
+ Target target = new Target();
+ target.setTargetType(EnrichMediator.BODY);
+ mediator.setSource(source);
+ mediator.setTarget(target);
+
+ MessageContext msgContext = TestUtils.getTestContext("<empty/>");
+ msgContext.setProperty("msg_body", omElement);
+
+ mediator.mediate(msgContext);
+ OMElement element = msgContext.getEnvelope().getBody().getFirstElement();
+ assertEquals("student", element.getLocalName());
+ }
}