psmith 2003/06/26 20:25:24
Modified: src/java/org/apache/log4j/chainsaw ReceiversTreeModel.java
Log:
Changes to allow the Root Receiver node to detect when the
logger repository threshold had changed.
Revision Changes Path
1.2 +24 -7
jakarta-log4j/src/java/org/apache/log4j/chainsaw/ReceiversTreeModel.java
Index: ReceiversTreeModel.java
===================================================================
RCS file:
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/ReceiversTreeModel.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ReceiversTreeModel.java 25 Jun 2003 04:05:21 -0000 1.1
+++ ReceiversTreeModel.java 27 Jun 2003 03:25:23 -0000 1.2
@@ -68,14 +68,17 @@
* @author Paul Smith <[EMAIL PROTECTED]>
*/
public class ReceiversTreeModel extends DefaultTreeModel {
- final DefaultMutableTreeNode NoReceiversNode = new DefaultMutableTreeNode("You
have no Receivers defined");
+ private static final String ROOTNODE_LABEL = "Receivers";
+ final DefaultMutableTreeNode NoReceiversNode =
+ new DefaultMutableTreeNode("You have no Receivers defined");
final DefaultMutableTreeNode RootNode;
ReceiversTreeModel() {
- super(new DefaultMutableTreeNode("Receivers"));
+ super(new DefaultMutableTreeNode(ROOTNODE_LABEL));
RootNode = (DefaultMutableTreeNode) getRoot();
refresh();
}
+
/**
* Creates a new ReceiversTreeModel by querying the Log4j Plugin Repository
* and building up the required information.
@@ -84,15 +87,16 @@
*/
public final synchronized ReceiversTreeModel refresh() {
RootNode.removeAllChildren();
-
+
Collection receivers =
PluginRegistry.getPlugins(
LogManager.getLoggerRepository(), Receiver.class);
- if( receivers.size() == 0){
-
- getRootNode().add(NoReceiversNode);
- }else {
+ updateRootDisplay();
+
+ if (receivers.size() == 0) {
+ getRootNode().add(NoReceiversNode);
+ } else {
for (Iterator iter = receivers.iterator(); iter.hasNext();) {
Receiver item = (Receiver) iter.next();
DefaultMutableTreeNode receiverNode = new DefaultMutableTreeNode(item);
@@ -110,8 +114,21 @@
getRootNode().add(receiverNode);
}
}
+
reload();
+
return this;
+ }
+
+ /**
+ * Ensure the Root node of this tree is updated with the latest information
+ * and that listeners are notified.
+ */
+ void updateRootDisplay() {
+ getRootNode().setUserObject(
+ ROOTNODE_LABEL + " (" + LogManager.getLoggerRepository().getThreshold()
+ + ")");
+ nodeChanged(getRootNode());
}
DefaultMutableTreeNode getRootNode() {
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]