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

Gavin King gavin.king at jboss.com
Fri Jun 22 11:41:30 EDT 2007


  User: gavin   
  Date: 07/06/22 11:41:30

  Modified:    src/main/org/jboss/seam/web    AbstractFilter.java
                        SeamFilter.java
  Added:       src/main/org/jboss/seam/web    AbstractResource.java
  Log:
  much saner packaging
  
  Revision  Changes    Path
  1.3       +1 -1      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.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- AbstractFilter.java	22 Jun 2007 09:18:45 -0000	1.2
  +++ AbstractFilter.java	22 Jun 2007 15:41:30 -0000	1.3
  @@ -54,7 +54,7 @@
       * @param request ServletRequest The request containing the path
       * @return boolean True if the path matches the pattern, false otherwise
       */
  -   boolean matchesRequestPath(ServletRequest request)
  +   public boolean isMappedToCurrentRequestPath(ServletRequest request)
      {
         if (!(request instanceof HttpServletRequest))
            return true;
  
  
  
  1.10      +2 -158    jboss-seam/src/main/org/jboss/seam/web/SeamFilter.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: SeamFilter.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/web/SeamFilter.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -b -r1.9 -r1.10
  --- SeamFilter.java	22 Jun 2007 09:18:45 -0000	1.9
  +++ SeamFilter.java	22 Jun 2007 15:41:30 -0000	1.10
  @@ -1,166 +1,10 @@
   package org.jboss.seam.web;
   
  -import java.io.IOException;
  -import java.util.ArrayList;
  -import java.util.Arrays;
  -import java.util.HashMap;
  -import java.util.List;
  -import java.util.Map;
  -
  -import javax.servlet.Filter;
  -import javax.servlet.FilterChain;
  -import javax.servlet.FilterConfig;
  -import javax.servlet.ServletException;
  -import javax.servlet.ServletRequest;
  -import javax.servlet.ServletResponse;
  -
  -import org.jboss.seam.Component;
  -import org.jboss.seam.contexts.ApplicationContext;
  -import org.jboss.seam.contexts.Context;
  -import org.jboss.seam.core.Init;
  -import org.jboss.seam.log.LogProvider;
  -import org.jboss.seam.log.Logging;
  -import org.jboss.seam.servlet.ServletApplicationMap;
  -import org.jboss.seam.util.SortItem;
  -import org.jboss.seam.util.Sorter;
  -
   /**
  - * A servlet filter that orchestrates the stack of Seam
  - * component filters, and controls ordering. Filter
  - * ordering is specified via the @Filter annotation.
  - * Filters may optionally extend AbstractFilter.
    * 
  - * @see org.jboss.seam.annotations.Filter
  - * @see AbstractFilter
  + * @deprecated use org.jboss.seam.servlet.SeamFilter
    * 
    * @author Shane Bryzak
    *
    */
  -public class SeamFilter implements Filter
  -{
  -   private static final LogProvider log = Logging.getLogProvider(SeamFilter.class);   
  -   
  -   private List<Filter> filters = new ArrayList<Filter>();   
  -   
  -   private class FilterChainImpl implements FilterChain
  -   {  
  -      private FilterChain chain;
  -      private int index;
  -           
  -      private FilterChainImpl(FilterChain chain)
  -      {
  -         this.chain = chain;
  -         index = -1;
  -      }
  -      
  -      public void doFilter(ServletRequest request, ServletResponse response)
  -          throws IOException, ServletException
  -      {
  -         if ( ++index < filters.size() )
  -         {
  -            Filter filter = filters.get(index);
  -            
  -            if (filter instanceof AbstractFilter)
  -            {
  -               AbstractFilter bf = (AbstractFilter) filter;
  -               if ( bf.matchesRequestPath(request) )
  -               {
  -                  filter.doFilter(request, response, this);
  -               }
  -               else
  -               {
  -                  this.doFilter(request, response);
  -               }
  -            }            
  -            else
  -            {
  -               filter.doFilter(request, response, this);
  -            }
  -         }
  -         else
  -         {
  -            chain.doFilter(request, response);
  -         }
  -      }
  -   }
  -
  -   public void init(FilterConfig filterConfig) throws ServletException 
  -   {
  -      Context tempApplicationContext = new ApplicationContext( new ServletApplicationMap( filterConfig.getServletContext() ) ); 
  -      Init init = (Init) tempApplicationContext.get(Init.class);
  -      
  -      // Setup ready for sorting
  -      Map<String, SortItem<Filter>> sortItemsMap = new HashMap<String, SortItem<Filter>>();
  -      List<SortItem<Filter>> sortItems = new ArrayList<SortItem<Filter>>();
  -      
  -      for (String filterName : init.getInstalledFilters())
  -      {
  -         Filter filter = (Filter) tempApplicationContext.get(filterName);
  -         SortItem<Filter> si = new SortItem<Filter>(filter);         
  -         sortItemsMap.put(filterName, si);
  -         sortItems.add(si);
  -      }
  -
  -      for (SortItem<Filter> sortItem : sortItems)
  -      {
  -         org.jboss.seam.annotations.Filter filterAnn = getFilterAnnotation(sortItem.getObj().getClass());
  -         if ( filterAnn != null )
  -         {
  -            for (String s : Arrays.asList( filterAnn.around() ) )
  -            {
  -               SortItem<Filter> aroundSortItem = sortItemsMap.get(s);
  -               if (sortItem!=null && aroundSortItem != null) sortItem.getAround().add( aroundSortItem );
  -            }
  -            for (String s : Arrays.asList( filterAnn.within() ) )
  -            {
  -               SortItem<Filter> withinSortItem = sortItemsMap.get(s);
  -               if (sortItem!=null && withinSortItem != null) sortItem.getWithin().add( withinSortItem );
  -            }
  -         }
  -      }
  -
  -      // Do the sort
  -      Sorter<Filter> sList = new Sorter<Filter>();
  -      sortItems = sList.sort(sortItems);
  -      
  -      // Set the sorted filters, initialize them
  -      for (SortItem<Filter> sortItem : sortItems)
  -      {
  -         Filter filter = sortItem.getObj();
  -         filters.add(filter);
  -         log.info( "Initializing filter: " + Component.getComponentName(filter.getClass()));
  -         filter.init(filterConfig);
  -      }
  -   }
  -   
  -   public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
  -       throws IOException, ServletException
  -   {
  -      new FilterChainImpl(chain).doFilter(request, response);
  -   }
  -   
  -   public void destroy() 
  -   {
  -      for (Filter filter: filters)
  -      {
  -         filter.destroy();
  -      }
  -   }
  -   
  -   private org.jboss.seam.annotations.Filter getFilterAnnotation(Class<?> clazz)
  -   {
  -      while (!Object.class.equals(clazz))
  -      {
  -         if (clazz.isAnnotationPresent(org.jboss.seam.annotations.Filter.class))
  -         {
  -            return clazz.getAnnotation(org.jboss.seam.annotations.Filter.class);
  -         }
  -         else
  -         {
  -            clazz = clazz.getSuperclass();
  -         }
  -      }
  -      return null;
  -   }
  -   
  -}
  +public class SeamFilter extends org.jboss.seam.servlet.SeamFilter {}
  
  
  
  1.1      date: 2007/06/22 15:41:30;  author: gavin;  state: Exp;jboss-seam/src/main/org/jboss/seam/web/AbstractResource.java
  
  Index: AbstractResource.java
  ===================================================================
  package org.jboss.seam.web;
  
  import java.io.IOException;
  
  import javax.servlet.ServletContext;
  import javax.servlet.ServletException;
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
  
  /**
   * Superclass of Seam components that serve up 
   * "resources" to the client via the Seam 
   * resource servlet. Note that since a filter is
   * potentially called outside of a set of Seam
   * contexts, it is not a true Seam component. 
   * However, we are able to reuse the functionality
   * for component scanning, installation and 
   * configuration for filters. All resources
   * must extend this class.
   * 
   * @author Shane Bryzak
   *
   */
  public abstract class AbstractResource
  {
     private ServletContext context;
     
     protected ServletContext getServletContext()
     {
        return context;
     }
     
     public void setServletContext(ServletContext context)
     {
        this.context = context;
     }
           
     public abstract void getResource(HttpServletRequest request, HttpServletResponse response)
         throws ServletException, IOException;
     
     public abstract String getResourcePath();
  }
  
  
  



More information about the jboss-cvs-commits mailing list