You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by ps...@apache.org on 2003/05/27 07:49:46 UTC

cvs commit: jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw AbstractChainsawTableModel.java ChainsawCyclicBufferTableModel.java

psmith      2003/05/26 22:49:46

  Modified:    src/java/org/apache/log4j/chainsaw
                        AbstractChainsawTableModel.java
                        ChainsawCyclicBufferTableModel.java
  Log:
  fixed performance issue where listeners were getting notified
  of every single filtered row insert, when it should be taking
  advantage of the value is adjusting.
  
  adding a filtered row now does NOT notify all listeners, but is
  triggered via the EventCountListener notification method.
  
  Significant performance improvement.
  
  Revision  Changes    Path
  1.4       +5 -0      jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/AbstractChainsawTableModel.java
  
  Index: AbstractChainsawTableModel.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/AbstractChainsawTableModel.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- AbstractChainsawTableModel.java	27 May 2003 05:33:22 -0000	1.3
  +++ AbstractChainsawTableModel.java	27 May 2003 05:49:46 -0000	1.4
  @@ -56,6 +56,7 @@
   import java.util.Vector;
   
   import javax.swing.SwingUtilities;
  +import javax.swing.event.TableModelEvent;
   import javax.swing.table.AbstractTableModel;
   
   
  @@ -122,6 +123,10 @@
         ((EventCountListener) countListeners.get(i)).eventCountChanged(
           getRowCount(), getUnfilteredRowCount());
       }
  +    TableModelEvent event = new TableModelEvent(this);
  +
  +    fireTableChanged(event);
  +
     }
   
     public void setCurrentSortColumn(int col, boolean ascending) {
  
  
  
  1.5       +1 -6      jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java
  
  Index: ChainsawCyclicBufferTableModel.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ChainsawCyclicBufferTableModel.java	27 May 2003 05:33:22 -0000	1.4
  +++ ChainsawCyclicBufferTableModel.java	27 May 2003 05:49:46 -0000	1.5
  @@ -86,11 +86,6 @@
       synchronized (syncLock) {
         filteredList.add(row);
       }
  -
  -    fireTableChanged(
  -      new TableModelEvent(
  -        this, getRowCount() - 1, getRowCount() - 1, TableModelEvent.ALL_COLUMNS,
  -        TableModelEvent.INSERT));
     }
   
     public void addRow(Vector row) {
  @@ -223,7 +218,7 @@
   
         if (
           (getDisplayFilter() == null) || (getDisplayFilter().isDisplayed(row))) {
  -        filteredList.add(row);
  +        addFilteredRow(row);
   
           if (isSortEnabled()) {
             sort();
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: log4j-dev-help@jakarta.apache.org