sdeboy 2003/12/02 15:33:54 Modified: src/java/org/apache/log4j/chainsaw ChainsawCyclicBufferTableModel.java Log: Replaced list-based ID collection with a hashset. Revision Changes Path 1.13 +9 -10 jakarta-log4j/src/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java Index: ChainsawCyclicBufferTableModel.java =================================================================== RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- ChainsawCyclicBufferTableModel.java 2 Dec 2003 23:16:11 -0000 1.12 +++ ChainsawCyclicBufferTableModel.java 2 Dec 2003 23:33:53 -0000 1.13 @@ -95,7 +95,7 @@ private static final String PANEL_CAPACITY = "CHAINSAW_CAPACITY"; List unfilteredList = new CyclicBufferList(capacity); List filteredList = new CyclicBufferList(capacity); - List idList = new CyclicBufferList(capacity); + Set idSet = new HashSet(capacity); private boolean currentSortAscending; private int currentSortColumn; private EventListenerList eventListenerList = new EventListenerList(); @@ -242,7 +242,7 @@ synchronized (unfilteredList) { unfilteredList.clear(); filteredList.clear(); - idList.clear(); + idSet.clear(); uniqueRow = 0; } @@ -420,10 +420,10 @@ } //prevent duplicate rows - if (idList.contains(id)) { + if (idSet.contains(id)) { return false; } - idList.add(id); + idSet.add(id); unfilteredList.add(e); rowAdded = true; @@ -678,14 +678,13 @@ "Changing Model, isCyclic is now " + isCyclic()); List newUnfilteredList = null; - List newIDList = null; + HashSet newIDSet = null; + newIDSet = new HashSet(capacity); if (isCyclic()) { newUnfilteredList = new CyclicBufferList(capacity); - newIDList = new CyclicBufferList(capacity); } else { newUnfilteredList = new ArrayList(capacity); - newIDList = new ArrayList(capacity); } int increment = 0; @@ -695,15 +694,15 @@ newUnfilteredList.add(e); Object o = e.getProperty(e.getProperty(ChainsawConstants.LOG4J_ID_KEY)); if (o != null) { - newIDList.add(o); + newIDSet.add(o); } else { - newIDList.add(new Integer(increment++)); + newIDSet.add(new Integer(increment++)); } monitor.setProgress(index++); } unfilteredList = newUnfilteredList; - idList = newIDList; + idSet = newIDSet; } monitor.setNote("Refiltering...");
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]