package org.ocpsoft.rewrite.showcase.composite; import javax.servlet.ServletContext; import org.ocpsoft.rewrite.config.Configuration; import org.ocpsoft.rewrite.config.ConfigurationBuilder; import org.ocpsoft.rewrite.servlet.config.EncodeQuery; import org.ocpsoft.rewrite.servlet.config.HttpConfigurationProvider; import org.ocpsoft.rewrite.servlet.config.Redirect; import org.ocpsoft.rewrite.servlet.config.rule.Join; public class CompositeRewriteConfiguration extends HttpConfigurationProvider { @Override public Configuration getConfiguration(final ServletContext context) { return ConfigurationBuilder .begin() /* * Combine all query parameters into one encoded parameter. * If hacking is detected, redirect to the hackers page. */ .addRule() .perform(EncodeQuery.params().to("c") .onChecksumFailure(Redirect.temporary(context.getContextPath() + "/hacker"))) /* * Show the index page at '/' */ .addRule(Join.path("/").to("/index.xhtml")) .addRule(Join.path("/hacker").to("/hacker.xhtml")) ; } @Override public int priority() { return 0; } }