Author: davsclaus Date: Thu Dec 27 13:33:20 2012 New Revision: 1426196 URL: http://svn.apache.org/viewvc?rev=1426196&view=rev Log: CAMEL-5912: More work on camel-urlrewrite
Added: camel/trunk/components/camel-urlrewrite/src/test/java/org/apache/camel/component/urlrewrite/http/HttpUrlRewriteModFileTest.java - copied, changed from r1426191, camel/trunk/components/camel-urlrewrite/src/test/java/org/apache/camel/component/urlrewrite/http/HttpUrlRewriteModTest.java camel/trunk/components/camel-urlrewrite/src/test/resources/example/modrewrite.cfg Modified: camel/trunk/components/camel-http/ (props changed) camel/trunk/components/camel-urlrewrite/ (props changed) camel/trunk/components/camel-urlrewrite/src/main/java/org/apache/camel/component/urlrewrite/UrlRewriteFilter.java Propchange: camel/trunk/components/camel-http/ ------------------------------------------------------------------------------ --- svn:ignore (original) +++ svn:ignore Thu Dec 27 13:33:20 2012 @@ -14,3 +14,4 @@ eclipse-classes *.ipr *.iml *.iws +.idea Propchange: camel/trunk/components/camel-urlrewrite/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Thu Dec 27 13:33:20 2012 @@ -0,0 +1,17 @@ +.pmd +.checkstyle +.ruleset +target +.settings +.classpath +.project +.wtpmodules +prj.el +.jdee_classpath +.jdee_sources +velocity.log +eclipse-classes +*.ipr +*.iml +*.iws +.idea Modified: camel/trunk/components/camel-urlrewrite/src/main/java/org/apache/camel/component/urlrewrite/UrlRewriteFilter.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-urlrewrite/src/main/java/org/apache/camel/component/urlrewrite/UrlRewriteFilter.java?rev=1426196&r1=1426195&r2=1426196&view=diff ============================================================================== --- camel/trunk/components/camel-urlrewrite/src/main/java/org/apache/camel/component/urlrewrite/UrlRewriteFilter.java (original) +++ camel/trunk/components/camel-urlrewrite/src/main/java/org/apache/camel/component/urlrewrite/UrlRewriteFilter.java Thu Dec 27 13:33:20 2012 @@ -40,13 +40,14 @@ public abstract class UrlRewriteFilter e private static final Logger LOG = LoggerFactory.getLogger(UrlRewriteFilter.class); - // TODO: Allow to use a config file for mod rewrite rules as well // TODO: Find a better way of starting/stopping this without adding as service to CamelContext + // TODO: Dynamic ports of testing protected CamelContext camelContext; protected Conf conf; protected UrlRewriter urlRewriter; protected String configFile; + protected String modRewriteConfFile; protected String modRewriteConfText; protected boolean useQueryString; @@ -102,6 +103,14 @@ public abstract class UrlRewriteFilter e this.modRewriteConfText = modRewriteConfText; } + public String getModRewriteConfFile() { + return modRewriteConfFile; + } + + public void setModRewriteConfFile(String modRewriteConfFile) { + this.modRewriteConfFile = modRewriteConfFile; + } + public boolean isUseQueryString() { return useQueryString; } @@ -115,7 +124,21 @@ public abstract class UrlRewriteFilter e ObjectHelper.notNull(camelContext, "camelContext"); if (conf == null) { - if (modRewriteConfText != null) { + if (modRewriteConfFile != null) { + LOG.debug("Using mod rewrite config file: {} as config for urlRewrite", modRewriteConfFile); + InputStream is = camelContext.getClassResolver().loadResourceAsStream(modRewriteConfFile); + if (is == null) { + throw new IOException("Cannot load mod rewrite config file: " + modRewriteConfFile); + } + try { + String text = camelContext.getTypeConverter().mandatoryConvertTo(String.class, is); + ModRewriteConfLoader loader = new ModRewriteConfLoader(); + conf = new Conf(); + loader.process(text, conf); + } finally { + IOHelper.close(is); + } + } else if (modRewriteConfText != null) { LOG.debug("Using modRewriteConfText: {} as config for urlRewrite", modRewriteConfText); ModRewriteConfLoader loader = new ModRewriteConfLoader(); conf = new Conf(); Copied: camel/trunk/components/camel-urlrewrite/src/test/java/org/apache/camel/component/urlrewrite/http/HttpUrlRewriteModFileTest.java (from r1426191, camel/trunk/components/camel-urlrewrite/src/test/java/org/apache/camel/component/urlrewrite/http/HttpUrlRewriteModTest.java) URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-urlrewrite/src/test/java/org/apache/camel/component/urlrewrite/http/HttpUrlRewriteModFileTest.java?p2=camel/trunk/components/camel-urlrewrite/src/test/java/org/apache/camel/component/urlrewrite/http/HttpUrlRewriteModFileTest.java&p1=camel/trunk/components/camel-urlrewrite/src/test/java/org/apache/camel/component/urlrewrite/http/HttpUrlRewriteModTest.java&r1=1426191&r2=1426196&rev=1426196&view=diff ============================================================================== --- camel/trunk/components/camel-urlrewrite/src/test/java/org/apache/camel/component/urlrewrite/http/HttpUrlRewriteModTest.java (original) +++ camel/trunk/components/camel-urlrewrite/src/test/java/org/apache/camel/component/urlrewrite/http/HttpUrlRewriteModFileTest.java Thu Dec 27 13:33:20 2012 @@ -25,14 +25,14 @@ import org.junit.Test; /** * */ -public class HttpUrlRewriteModTest extends CamelTestSupport { +public class HttpUrlRewriteModFileTest extends CamelTestSupport { @Override protected JndiRegistry createRegistry() throws Exception { JndiRegistry jndi = super.createRegistry(); HttpUrlRewrite myRewrite = new HttpUrlRewrite(); - myRewrite.setModRewriteConfText("RewriteRule page/([^/\\.]+)/?$ index.php?page=$1 [L]"); + myRewrite.setModRewriteConfFile("example/modrewrite.cfg"); jndi.bind("myRewrite", myRewrite); Added: camel/trunk/components/camel-urlrewrite/src/test/resources/example/modrewrite.cfg URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-urlrewrite/src/test/resources/example/modrewrite.cfg?rev=1426196&view=auto ============================================================================== --- camel/trunk/components/camel-urlrewrite/src/test/resources/example/modrewrite.cfg (added) +++ camel/trunk/components/camel-urlrewrite/src/test/resources/example/modrewrite.cfg Thu Dec 27 13:33:20 2012 @@ -0,0 +1,2 @@ +# our custom mod rewrite rule +RewriteRule page/([^/\.]+)/?$ index.php?page=$1 [L]