psmith      2003/06/22 20:49:49

  Modified:    src/java/org/apache/log4j/chainsaw ReceiversTreeModel.java
  Log:
  Moved from static create factory method to a 'refresh' method
  so that a new model is not required on each change.
  
  This is mostly to stop the currently selected node from being lost on
  model change.
  
  Revision  Changes    Path
  1.5       +12 -11    
jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/ReceiversTreeModel.java
  
  Index: ReceiversTreeModel.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/ReceiversTreeModel.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ReceiversTreeModel.java   19 Jun 2003 22:57:06 -0000      1.4
  +++ ReceiversTreeModel.java   23 Jun 2003 03:49:49 -0000      1.5
  @@ -68,29 +68,30 @@
    * @author Paul Smith <[EMAIL PROTECTED]>
    */
   public class ReceiversTreeModel extends DefaultTreeModel {
  -  private ReceiversTreeModel() {
  -    super(RootNode);
  +  final DefaultMutableTreeNode NoReceiversNode = new DefaultMutableTreeNode("You 
have no Receivers defined");
  +  final DefaultMutableTreeNode RootNode;
  +
  +  ReceiversTreeModel() {
  +    super(new DefaultMutableTreeNode("Receivers"));
  +    RootNode = (DefaultMutableTreeNode) getRoot();
  +    refresh();
     }
  -  static final DefaultMutableTreeNode NoReceiversNode = new 
DefaultMutableTreeNode("You have no Receivers defined");
  -  static final DefaultMutableTreeNode RootNode = new 
DefaultMutableTreeNode("Receivers");
     /**
      * Creates a new ReceiversTreeModel by querying the Log4j Plugin Repository
      * and building up the required information.
      *
      * @return ReceiversTreeModel
      */
  -  public static final synchronized ReceiversTreeModel create() {
  +  public final synchronized ReceiversTreeModel refresh() {
       RootNode.removeAllChildren();
       
  -    ReceiversTreeModel model = new ReceiversTreeModel();
  -
       Collection receivers =
         PluginRegistry.getPlugins(
           LogManager.getLoggerRepository(), Receiver.class);
   
       if( receivers.size() == 0){
         
  -      model.getRootNode().add(NoReceiversNode);     
  +      getRootNode().add(NoReceiversNode);     
       }else {
         for (Iterator iter = receivers.iterator(); iter.hasNext();) {
           Receiver item = (Receiver) iter.next();
  @@ -106,11 +107,11 @@
             }
           }
   
  -        model.getRootNode().add(receiverNode);
  +        getRootNode().add(receiverNode);
         }
       }
  -
  -    return model;
  +    reload();
  +    return this;
     }
   
     DefaultMutableTreeNode getRootNode() {
  
  
  

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

Reply via email to