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


Reply via email to