psmith      2003/12/04 02:35:56

  Modified:    src/java/org/apache/log4j/chainsaw ReceiversPanel.java
  Log:
  added feature suggested by [EMAIL PROTECTED] to
  be able to stop all the currently selected Receivers rather
  than just one of them.
  
  Revision  Changes    Path
  1.14      +19 -4     
jakarta-log4j/src/java/org/apache/log4j/chainsaw/ReceiversPanel.java
  
  Index: ReceiversPanel.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/ReceiversPanel.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- ReceiversPanel.java       2 Nov 2003 19:53:47 -0000       1.13
  +++ ReceiversPanel.java       4 Dec 2003 10:35:56 -0000       1.14
  @@ -427,7 +427,6 @@
     private Receiver getCurrentlySelectedReceiver() {
       DefaultMutableTreeNode node =
         (DefaultMutableTreeNode) receiversTree.getLastSelectedPathComponent();
  -
       if (node == null) {
         return null;
       }
  @@ -440,6 +439,20 @@
   
       return null;
     }
  +  
  +  private Receiver[] getSelectedReceivers() {
  +    TreePath[] paths = receiversTree.getSelectionPaths();
  +    Collection receivers = new ArrayList();
  +    for (int i = 0; i < paths.length; i++) {
  +      TreePath path = paths[i];
  +      DefaultMutableTreeNode node =(DefaultMutableTreeNode) 
path.getLastPathComponent();
  +      if (node !=null && node.getUserObject() instanceof Receiver) {
  +        receivers.add(node.getUserObject());
  +      }
  +    }
  +    return (Receiver[]) receivers.toArray(new Receiver[0]);
  +    
  +  }
   
     /**
      * Returns the currently seleted node's User Object, or null
  @@ -516,10 +529,12 @@
         new Thread(
           new Runnable() {
             public void run() {
  -            Receiver receiver = getCurrentlySelectedReceiver();
  +            Receiver[] receivers = getSelectedReceivers();
   
  -            if (receiver != null) {
  -              PluginRegistry.stopPlugin(receiver);
  +            if (receivers != null) {
  +              for (int i = 0; i < receivers.length; i++) {
  +                PluginRegistry.stopPlugin(receivers[i]);
  +              }
               }
             }
           }).start();
  
  
  

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

Reply via email to