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