sdeboy      2005/01/08 07:12:48

  Modified:    src/java/org/apache/log4j/filter AndFilter.java
  Log:
  using filter.setnext instead of holding a collection of filters.
  At some time soon this will be changed to use addNestedFilter
  
  Revision  Changes    Path
  1.3       +13 -10    
logging-log4j/src/java/org/apache/log4j/filter/AndFilter.java
  
  Index: AndFilter.java
  ===================================================================
  RCS file: 
/home/cvs/logging-log4j/src/java/org/apache/log4j/filter/AndFilter.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- AndFilter.java    8 Jan 2005 08:03:34 -0000       1.2
  +++ AndFilter.java    8 Jan 2005 15:12:48 -0000       1.3
  @@ -16,9 +16,6 @@
   
   package org.apache.log4j.filter;
   
  -import java.util.ArrayList;
  -import java.util.Iterator;
  -import java.util.List;
   import org.apache.log4j.spi.Filter;
   import org.apache.log4j.spi.LoggingEvent;
   
  @@ -67,15 +64,21 @@
    * @author Scott Deboy [EMAIL PROTECTED]
    */
   public class AndFilter extends Filter {
  -  List filters = new ArrayList();
  +  Filter headFilter = null;
  +  Filter tailFilter = null;
     boolean acceptOnMatch = true;
     
     public void activateOptions() {
  -    //nothing to do
     }
   
     public void addFilter(Filter filter) {
  -    filters.add(filter);
  +    System.out.println("add"+filter);
  +    if (headFilter == null) {
  +      headFilter = filter;
  +      tailFilter = filter;
  +    } else {
  +      tailFilter.setNext(filter);
  +    }
     }
     
     public void setAcceptOnMatch(boolean acceptOnMatch) {
  @@ -92,11 +95,11 @@
      */
     public int decide(LoggingEvent event) {
       boolean accepted = true;
  -    for (Iterator iter = filters.iterator(); iter.hasNext();) {
  -      Filter thisFilter = (Filter)iter.next();
  -      accepted = accepted && (Filter.ACCEPT == thisFilter.decide(event));
  +    Filter f = headFilter;
  +    while (f != null) {
  +      accepted = accepted && (Filter.ACCEPT == f.decide(event));
  +      f = f.getNext();
       }
  -    
       if (accepted) {
         if(acceptOnMatch) {
           return Filter.ACCEPT;
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to