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


Reply via email to