[jboss-cvs] jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/ui ...

Christian Bauer christian at hibernate.org
Wed Jul 11 18:44:13 EDT 2007


  User: cbauer  
  Date: 07/07/11 18:44:13

  Added:       examples/wiki/src/main/org/jboss/seam/wiki/core/ui 
                        WikiUrlRewriteFilter.java
  Log:
  Moved URL rewrite filter into Seam chain and out of web.xml
  
  Revision  Changes    Path
  1.1      date: 2007/07/11 22:44:13;  author: cbauer;  state: Exp;jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiUrlRewriteFilter.java
  
  Index: WikiUrlRewriteFilter.java
  ===================================================================
  package org.jboss.seam.wiki.core.ui;
  
  import org.jboss.seam.ScopeType;
  import org.jboss.seam.util.EnumerationEnumeration;
  import org.jboss.seam.annotations.*;
  import org.jboss.seam.annotations.intercept.BypassInterceptors;
  import org.jboss.seam.annotations.web.Filter;
  import org.jboss.seam.web.AbstractFilter;
  import org.tuckey.web.filters.urlrewrite.UrlRewriteFilter;
  
  import javax.servlet.*;
  import java.io.IOException;
  import java.util.Enumeration;
  import java.util.Collections;
  import java.util.Map;
  
  @Startup
  @Scope(ScopeType.APPLICATION)
  @Name("wikiUrlRewriteFilter")
  @BypassInterceptors
  @Filter(within = "org.jboss.seam.web.ajax4jsfFilter")
  @Install(classDependencies = "org.tuckey.web.filters.urlrewrite.UrlRewriteFilter",
          precedence = Install.APPLICATION)
  public class WikiUrlRewriteFilter extends AbstractFilter {
  
      private UrlRewriteFilter urlRewriteFilter;
  
      public void init(FilterConfig filterConfig) throws ServletException {
          urlRewriteFilter = new UrlRewriteFilter();
          urlRewriteFilter.init(new FilterConfigWrapper(filterConfig, getInitParameters()));
      }
  
      public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
              throws IOException, ServletException {
          urlRewriteFilter.doFilter(servletRequest, servletResponse, filterChain);
      }
  
      private Map<String, String> initParameters;
  
      public Map<String, String> getInitParameters() {
          return initParameters;
      }
      public void setInitParameters(Map<String, String> initParameters) {
          this.initParameters = initParameters;
      }
  
      private class FilterConfigWrapper implements FilterConfig {
  
          private FilterConfig delegate;
          private Map<String, String> parameters;
  
          public FilterConfigWrapper(FilterConfig filterConfig, Map<String, String> initParameters) {
              delegate = filterConfig;
              parameters = initParameters;
          }
  
          public String getFilterName() {
              return delegate.getFilterName();
          }
  
          public String getInitParameter(String name) {
              if (parameters.containsKey(name)) {
                  return parameters.get(name);
              } else {
                  return delegate.getInitParameter(name);
              }
          }
  
          public Enumeration getInitParameterNames() {
              Enumeration[] enumerations = {delegate.getInitParameterNames(), Collections.enumeration(parameters.keySet())};
              return new EnumerationEnumeration(enumerations);
          }
  
          public ServletContext getServletContext() {
              return delegate.getServletContext();
          }
      }
  
  }
  
  
  



More information about the jboss-cvs-commits mailing list