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());
+    }
 }