[jboss-cvs] jboss-seam/src/main/org/jboss/seam/web ...

Peter Muir peter at bleepbleep.org.uk
Tue Jan 15 07:30:12 EST 2008


  User: pmuir   
  Date: 08/01/15 07:30:12

  Modified:    src/main/org/jboss/seam/web  AbstractFilter.java
  Log:
  JBSEAM-2494
  
  Revision  Changes    Path
  1.10      +51 -2     jboss-seam/src/main/org/jboss/seam/web/AbstractFilter.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: AbstractFilter.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/web/AbstractFilter.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -b -r1.9 -r1.10
  --- AbstractFilter.java	14 Jan 2008 16:33:56 -0000	1.9
  +++ AbstractFilter.java	15 Jan 2008 12:30:12 -0000	1.10
  @@ -1,5 +1,7 @@
   package org.jboss.seam.web;
   
  +import java.util.regex.Pattern;
  +
   import javax.servlet.Filter;
   import javax.servlet.FilterConfig;
   import javax.servlet.ServletContext;
  @@ -26,6 +28,10 @@
   
      private String urlPattern;
      
  +   private String regexUrlPattern;
  +   
  +   private Pattern pattern;
  +   
      private boolean disabled;
   
      public void init(FilterConfig filterConfig) throws ServletException
  @@ -48,6 +54,26 @@
         this.urlPattern = urlPattern;
      }
      
  +   public String getRegexUrlPattern()
  +   {
  +      return this.regexUrlPattern;
  +   }
  +   
  +   public void setRegexUrlPattern(String regexUrlPattern)
  +   {
  +      this.regexUrlPattern = regexUrlPattern;
  +      pattern = null;
  +   }
  +   
  +   private Pattern getPattern()
  +   {
  +      if (pattern == null && getRegexUrlPattern() != null)
  +      {
  +         pattern = Pattern.compile(getRegexUrlPattern());
  +      }
  +      return pattern;
  +   }
  +   
      public boolean isDisabled() 
      {
         return disabled;
  @@ -68,10 +94,33 @@
      public boolean isMappedToCurrentRequestPath(ServletRequest request)
      {
         if (!(request instanceof HttpServletRequest))
  +      {
            return true;
  -      
  +      }
         String path = ((HttpServletRequest) request).getServletPath();      
  -      String pattern = getUrlPattern();
  +      String urlPattern = getUrlPattern();
  +      Pattern regexPattern = getPattern();
  +      if (urlPattern != null)
  +      {
  +         return matchesTomcatPattern(path, urlPattern);
  +      }
  +      else if (regexPattern != null)
  +      {
  +         return matchesRegexPattern(path, regexPattern);
  +      }
  +      else
  +      {
  +         return true;
  +      }
  +   }
  +   
  +   private static boolean matchesRegexPattern(String path, Pattern pattern)
  +   {
  +      return pattern.matcher(path).matches();
  +   }
  +
  +   private static boolean matchesTomcatPattern(String path, String pattern)
  +   {
         
         if (pattern==null) return true;
   
  
  
  



More information about the jboss-cvs-commits mailing list