psmith      2003/09/16 18:16:27

  Modified:    src/java/org/apache/log4j/chainsaw
                        LogPanelLoggerTreeModel.java
  Log:
  we now track each new FQN logger and it's associated TreeNode
  so that we can look up the TreeNode by full name.
  
  Revision  Changes    Path
  1.6       +36 -5     
jakarta-log4j/src/java/org/apache/log4j/chainsaw/LogPanelLoggerTreeModel.java
  
  Index: LogPanelLoggerTreeModel.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/LogPanelLoggerTreeModel.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- LogPanelLoggerTreeModel.java      2 Sep 2003 01:07:00 -0000       1.5
  +++ LogPanelLoggerTreeModel.java      17 Sep 2003 01:16:26 -0000      1.6
  @@ -51,9 +51,13 @@
    */
   package org.apache.log4j.chainsaw;
   
  +import org.apache.log4j.helpers.LogLog;
  +
   import java.util.Collections;
   import java.util.Comparator;
   import java.util.Enumeration;
  +import java.util.HashMap;
  +import java.util.Map;
   import java.util.StringTokenizer;
   
   import javax.swing.SwingUtilities;
  @@ -61,6 +65,7 @@
   import javax.swing.tree.DefaultTreeModel;
   import javax.swing.tree.MutableTreeNode;
   
  +
   /**
    *
    * A TreeModel that represents the Loggers for a given LogPanel
  @@ -69,6 +74,8 @@
    */
   class LogPanelLoggerTreeModel extends DefaultTreeModel
     implements LoggerNameListener {
  +  private Map fullPackageMap = new HashMap();
  +
     LogPanelLoggerTreeModel() {
       super(new LogPanelTreeNode("Root Logger"));
     }
  @@ -132,6 +139,19 @@
          */
         final LogPanelTreeNode newChild = new LogPanelTreeNode(packageName);
   
  +      StringBuffer fullPackageBuf = new StringBuffer();
  +
  +      for (int j = 0; j <= i; j++) {
  +        fullPackageBuf.append(packages[i]);
  +
  +        if (j < i) {
  +          fullPackageBuf.append(".");
  +        }
  +      }
  +
  +      LogLog.debug("Adding to Map " + fullPackageBuf.toString());
  +      fullPackageMap.put(fullPackageBuf.toString(), newChild);
  +
         final DefaultMutableTreeNode changedNode = current;
   
         changedNode.add(newChild);
  @@ -142,12 +162,21 @@
           changedIndices[j] = j;
         }
   
  -       nodesWereInserted(changedNode, new int[]{changedNode.getIndex(newChild)});
  +      nodesWereInserted(
  +        changedNode, new int[] { changedNode.getIndex(newChild) });
         nodesChanged(changedNode, changedIndices);
         current = newChild;
       }
     }
   
  +  LogPanelTreeNode lookupLogger(String logger) {
  +    if (fullPackageMap.containsKey(logger)) {
  +      return (LogPanelTreeNode) fullPackageMap.get(logger);
  +    }
  +
  +    return null;
  +  }
  +
     /**
        * Takes the loggerName and tokenizes it into it's
        * package name lements returning the elements
  @@ -186,12 +215,14 @@
       }
   
       public void insert(MutableTreeNode newChild, int childIndex) {
  -//      LogLog.debug("[" + this.getUserObject() + "] inserting child " + newChild + 
" @ index " + childIndex);
  -//      LogLog.debug("Children now: " + this.children);
  +      //      LogLog.debug("[" + this.getUserObject() + "] inserting child " + 
newChild + " @ index " + childIndex);
  +      //      LogLog.debug("Children now: " + this.children);
         super.insert(newChild, childIndex);
  -//     LogLog.debug("Children after insert: " + this.children);
  +
  +      //       LogLog.debug("Children after insert: " + this.children);
         Collections.sort(this.children, nodeComparator);
  -//     LogLog.debug("Children after sort: " + this.children);
  +
  +      //       LogLog.debug("Children after sort: " + this.children);
       }
     }
   }
  
  
  

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

Reply via email to