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