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/24 08:17:01 UTC

svn commit: r988397 - in /synapse/trunk/scratch/hiranya/urlrewrite/src/main/java/org/apache/synapse/mediators: RewriteRule.java URLRewriteMediator.java xml/URLRewriteMediatorFactory.java

Author: hiranya
Date: Tue Aug 24 06:17:01 2010
New Revision: 988397

URL: http://svn.apache.org/viewvc?rev=988397&view=rev
Log:
Refactoring


Modified:
    synapse/trunk/scratch/hiranya/urlrewrite/src/main/java/org/apache/synapse/mediators/RewriteRule.java
    synapse/trunk/scratch/hiranya/urlrewrite/src/main/java/org/apache/synapse/mediators/URLRewriteMediator.java
    synapse/trunk/scratch/hiranya/urlrewrite/src/main/java/org/apache/synapse/mediators/xml/URLRewriteMediatorFactory.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=988397&r1=988396&r2=988397&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 Tue Aug 24 06:17:01 2010
@@ -23,12 +23,15 @@ import org.apache.synapse.commons.evalua
 import org.apache.synapse.commons.evaluators.EvaluatorContext;
 import org.apache.synapse.commons.evaluators.EvaluatorException;
 import org.apache.synapse.MessageContext;
+import org.apache.synapse.SynapseException;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
 import java.util.Map;
 import java.util.List;
 import java.util.ArrayList;
+import java.net.URI;
+import java.net.URISyntaxException;
 
 public class RewriteRule {
 
@@ -37,10 +40,11 @@ public class RewriteRule {
     private Evaluator condition;
     private List<RewriteAction> actions = new ArrayList<RewriteAction>();
 
-    public void rewrite(Object[] fragments, MessageContext messageContext, String uriString,
+    public void rewrite(Object[] fragments, MessageContext messageContext,
                         Map<String,String> headers) {
 
         if (condition != null) {
+            String uriString = getURIString(fragments);
             EvaluatorContext ctx = new EvaluatorContext(uriString, headers);
             if (log.isDebugEnabled()) {
                 log.debug("Evaluating condition with URI: " + uriString);
@@ -79,4 +83,21 @@ public class RewriteRule {
     public void addRewriteAction(RewriteAction action) {
         actions.add(action);
     }
+
+    private String getURIString(Object[] fragments) {
+        try {
+            return new URI(
+                    (String) fragments[0],
+                    (String) fragments[1],
+                    (String) fragments[2],
+                    (Integer) fragments[3],
+                    (String) fragments[4],
+                    (String) fragments[5],
+                    (String) fragments[6]).toString();
+        } catch (URISyntaxException e) {
+            String msg = "Error while constructing the URI from fragments";
+            log.error(msg, e);
+            throw new SynapseException(msg, e);
+        }
+    }
 }

Modified: synapse/trunk/scratch/hiranya/urlrewrite/src/main/java/org/apache/synapse/mediators/URLRewriteMediator.java
URL: http://svn.apache.org/viewvc/synapse/trunk/scratch/hiranya/urlrewrite/src/main/java/org/apache/synapse/mediators/URLRewriteMediator.java?rev=988397&r1=988396&r2=988397&view=diff
==============================================================================
--- synapse/trunk/scratch/hiranya/urlrewrite/src/main/java/org/apache/synapse/mediators/URLRewriteMediator.java (original)
+++ synapse/trunk/scratch/hiranya/urlrewrite/src/main/java/org/apache/synapse/mediators/URLRewriteMediator.java Tue Aug 24 06:17:01 2010
@@ -65,16 +65,15 @@ public class URLRewriteMediator extends 
                 handleException("Malformed URI in the input address field", e, messageContext);
                 return false;
             }
-        } else {
-            uri = getURI(fragments, messageContext);
         }
 
         Map<String, String> headers = getHeaders(messageContext);
         for (RewriteRule r : rules) {
-            r.rewrite(fragments, messageContext, uri.toString(), headers);
-            uri = getURI(fragments, messageContext);
+            r.rewrite(fragments, messageContext, headers);
         }
 
+        uri = getURI(fragments, messageContext);
+
         if (outputProperty != null) {
             messageContext.setProperty(outputProperty, uri.toString());
         } else {

Modified: synapse/trunk/scratch/hiranya/urlrewrite/src/main/java/org/apache/synapse/mediators/xml/URLRewriteMediatorFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/scratch/hiranya/urlrewrite/src/main/java/org/apache/synapse/mediators/xml/URLRewriteMediatorFactory.java?rev=988397&r1=988396&r2=988397&view=diff
==============================================================================
--- synapse/trunk/scratch/hiranya/urlrewrite/src/main/java/org/apache/synapse/mediators/xml/URLRewriteMediatorFactory.java (original)
+++ synapse/trunk/scratch/hiranya/urlrewrite/src/main/java/org/apache/synapse/mediators/xml/URLRewriteMediatorFactory.java Tue Aug 24 06:17:01 2010
@@ -40,7 +40,7 @@ public class URLRewriteMediatorFactory e
 
     private static final QName REWRITE_Q    = new QName(XMLConfigConstants.SYNAPSE_NAMESPACE, "rewrite");
 
-    public Mediator createMediator(OMElement element) {
+    public Mediator createSpecificMediator(OMElement element) {
         Iterator rules = element.getChildrenWithName(new QName("rule"));
         String inputProperty = element.getAttributeValue(new QName("inProperty"));
         String outputProperty = element.getAttributeValue(new QName("outProperty"));