Author: hiranya
Date: Thu Jul 18 00:59:43 2013
New Revision: 1504337
URL: http://svn.apache.org/r1504337
Log:
Applying the patch to SYNAPSE-890. Added a test case to verify the fix.
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/PropertyMediator.java
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/builtin/PropertyMediatorTest.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/PropertyMediator.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/PropertyMediator.java?rev=1504337&r1=1504336&r2=1504337&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/PropertyMediator.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/PropertyMediator.java
Thu Jul 18 00:59:43 2013
@@ -353,6 +353,7 @@ public class PropertyMediator extends Ab
pattern.toString() + " with the property value :" +
value;
synLog.traceOrDebug(msg);
}
+ matchedValue = ""; //if not matched ideally should return empty
string
}
return matchedValue;
Modified:
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/builtin/PropertyMediatorTest.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/builtin/PropertyMediatorTest.java?rev=1504337&r1=1504336&r2=1504337&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/builtin/PropertyMediatorTest.java
(original)
+++
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/builtin/PropertyMediatorTest.java
Thu Jul 18 00:59:43 2013
@@ -21,7 +21,6 @@ package org.apache.synapse.mediators.bui
import junit.framework.TestCase;
import org.apache.synapse.MessageContext;
-import org.apache.synapse.SynapseException;
import org.apache.synapse.core.axis2.Axis2MessageContext;
import org.apache.synapse.config.xml.XMLConfigConstants;
import org.apache.synapse.mediators.MediatorProperty;
@@ -30,6 +29,7 @@ import org.apache.synapse.util.xpath.Syn
import org.apache.axiom.om.OMElement;
import java.util.Map;
+import java.util.regex.Pattern;
public class PropertyMediatorTest extends TestCase {
@@ -142,7 +142,7 @@ public class PropertyMediatorTest extend
Object prop = synCtx.getProperty("nameOne");
assertEquals(valueOne, prop);
- // Test XML property retreival
+ // Test XML property retrieval
String exprValue = new
SynapseXPath("synapse:get-property('nameOne')").stringValueOf(synCtx);
assertEquals(xml, exprValue);
@@ -209,6 +209,29 @@ public class PropertyMediatorTest extend
"value".equals(medProp.getEvaluatedExpression(synCtx)));
}
+ public void testPropertyRegexTest() throws Exception {
+ String outputProperty = "regexProperty";
+
+ PropertyMediator propMediator = new PropertyMediator();
+ propMediator.setName(outputProperty);
+ propMediator.setExpression(new
SynapseXPath("get-property('testProperty')"));
+ propMediator.setPattern(Pattern.compile("([A-Z]+)([0-9]+)"));
+
+ MessageContext synCtx = TestUtils.getTestContext("<empty/>");
+ synCtx.setProperty("testProperty", "HELLOWORLD123");
+ propMediator.mediate(synCtx);
+ assertEquals("HELLOWORLD123", synCtx.getProperty(outputProperty));
+
+ propMediator.setGroup(1);
+ propMediator.mediate(synCtx);
+ assertEquals("HELLOWORLD", synCtx.getProperty(outputProperty));
+
+ //testing the fix for SYNAPSE-890
+ synCtx.setProperty("testProperty", "HELLOWORLD");
+ propMediator.mediate(synCtx);
+ assertEquals("", synCtx.getProperty(outputProperty));
+ }
+
}