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]