You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by hi...@apache.org on 2010/08/14 01:25:24 UTC

svn commit: r985404 - in /synapse/trunk/scratch/hiranya/urlrewrite/src: main/java/org/apache/synapse/mediators/RewriteRule.java test/java/org/apache/synapse/mediators/URLRewriteTest.java

Author: hiranya
Date: Fri Aug 13 23:25:24 2010
New Revision: 985404

URL: http://svn.apache.org/viewvc?rev=985404&view=rev
Log:
Adding some logs


Modified:
    synapse/trunk/scratch/hiranya/urlrewrite/src/main/java/org/apache/synapse/mediators/RewriteRule.java
    synapse/trunk/scratch/hiranya/urlrewrite/src/test/java/org/apache/synapse/mediators/URLRewriteTest.java

Modified: synapse/trunk/scratch/hiranya/urlrewrite/src/main/java/org/apache/synapse/mediators/RewriteRule.java
URL: http://svn.apache.org/viewvc/synapse/trunk/scratch/hiranya/urlrewrite/src/main/java/org/apache/synapse/mediators/RewriteRule.java?rev=985404&r1=985403&r2=985404&view=diff
==============================================================================
--- synapse/trunk/scratch/hiranya/urlrewrite/src/main/java/org/apache/synapse/mediators/RewriteRule.java (original)
+++ synapse/trunk/scratch/hiranya/urlrewrite/src/main/java/org/apache/synapse/mediators/RewriteRule.java Fri Aug 13 23:25:24 2010
@@ -24,6 +24,8 @@ import org.apache.synapse.commons.evalua
 import org.apache.synapse.commons.evaluators.EvaluatorException;
 import org.apache.synapse.util.xpath.SynapseXPath;
 import org.apache.synapse.MessageContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 import java.util.Map;
 import java.net.URI;
@@ -31,6 +33,8 @@ import java.net.URISyntaxException;
 
 public class RewriteRule {
 
+    private static final Log log = LogFactory.getLog(RewriteRule.class);
+
     private Evaluator condition;
 
     private String value;
@@ -41,13 +45,25 @@ public class RewriteRule {
     public void rewrite(Object[] fragments, MessageContext messageContext, String uriString,
                         Map<String,String> headers) {
 
-        EvaluatorContext ctx = new EvaluatorContext(uriString, headers);
         if (condition != null) {
+            EvaluatorContext ctx = new EvaluatorContext(uriString, headers);
+            if (log.isDebugEnabled()) {
+                log.debug("Evaluating condition with URI: " + uriString);
+            }
+
             try {
                 if (!condition.evaluate(ctx)) {
+                    if (log.isDebugEnabled()) {
+                        log.debug("Condition evaluated to 'false' - Skipping the current action");
+                    }
                     return;
                 }
+
+                if (log.isDebugEnabled()) {
+                    log.debug("Condition evaluated to 'true' - Performing the stated action");
+                }
             } catch (EvaluatorException e) {
+                log.warn("Error while evaluating the condition - Skipping the rule as it failed", e);
                 return;
             }
         }
@@ -61,17 +77,36 @@ public class RewriteRule {
 
         if (fragmentIndex == URLRewriteMediator.FULL_URI) {
             try {
-                URI uri = new URI(result);
+                URI uri;
+                if (result != null) {
+                    uri = new URI(result);
+                    if (log.isDebugEnabled()) {
+                        log.debug("Setting the URI to: " + result);
+                    }
+                } else {
+                    uri = new URI("");
+                }
+
                 fragments[0] = uri.getScheme();
                 fragments[1] = uri.getUserInfo();
                 fragments[2] = uri.getHost();
                 fragments[3] = uri.getPort();
-                fragments[4] = uri.getPath();
+                // The uri.getPath() return the empty string for empty URIs
+                // We are better off setting it to null
+                fragments[4] = "".equals(uri.getPath()) ? null : uri.getPath();
                 fragments[5] = uri.getQuery();
                 fragments[6] = uri.getFragment();
+
             } catch (URISyntaxException e) {
                 return;
             }
+        } else if (fragmentIndex == URLRewriteMediator.PORT) {
+            // When setting the port we must first convert the value into an integer
+            if (result != null) {
+                fragments[fragmentIndex] = Integer.parseInt(result);
+            } else {
+                fragments[fragmentIndex] = -1;
+            }
         } else {
             fragments[fragmentIndex] = result;
         }

Modified: synapse/trunk/scratch/hiranya/urlrewrite/src/test/java/org/apache/synapse/mediators/URLRewriteTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/scratch/hiranya/urlrewrite/src/test/java/org/apache/synapse/mediators/URLRewriteTest.java?rev=985404&r1=985403&r2=985404&view=diff
==============================================================================
--- synapse/trunk/scratch/hiranya/urlrewrite/src/test/java/org/apache/synapse/mediators/URLRewriteTest.java (original)
+++ synapse/trunk/scratch/hiranya/urlrewrite/src/test/java/org/apache/synapse/mediators/URLRewriteTest.java Fri Aug 13 23:25:24 2010
@@ -44,7 +44,7 @@ public class URLRewriteTest extends Test
     }
 
     public void testURIParser() {
-        String uriTxt = "/services/MyService";
+        String uriTxt = "";
         try {
             URI uri = new URI(uriTxt);
             printURLFragmetns(uri);