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]