package fi.otavanopisto.muikku.jsf; import javax.servlet.ServletContext; import org.ocpsoft.rewrite.annotation.RewriteConfiguration; import org.ocpsoft.rewrite.config.Configuration; import org.ocpsoft.rewrite.config.ConfigurationBuilder; import org.ocpsoft.rewrite.servlet.config.HttpConfigurationProvider; import org.ocpsoft.rewrite.servlet.config.Path; import org.ocpsoft.rewrite.servlet.config.Substitute; import org.ocpsoft.rewrite.servlet.config.rule.Join; @RewriteConfiguration public class JsfResourceRewriteRules extends HttpConfigurationProvider { @Override public Configuration getConfiguration(ServletContext context) { // TODO: Parameterize theme ConfigurationBuilder configuration = ConfigurationBuilder.begin(); configuration.addRule( Join.path("/scripts/{file}") .to("/faces/javax.faces.resource/scripts/{file}")) .where("file") .matches("[a-zA-Z0-9/_.\\-]*"); configuration.addRule( Join.path("/css/{file}") .to("/javax.faces.resource/css/{file}.jsf?ln=theme-muikku")) .where("file") .matches("[a-zA-Z0-9/_.\\-]*"); configuration.addRule() .when(Path.matches("/icons/{file}")) .perform(Substitute.with("/javax.faces.resource/icons/{file}.jsf?ln=theme-muikku")) .where("file").matches("[a-zA-Z0-9/_.\\-]*"); configuration.addRule() .when(Path.matches("/gfx/{file}")) .perform(Substitute.with("/javax.faces.resource/gfx/{file}.jsf?ln=theme-muikku")) .where("file").matches("[a-zA-Z0-9/_.\\-]*"); return configuration; } @Override public int priority() { return 0; } }