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]