Author: sdeboy
Date: Wed Aug 4 04:06:40 2010
New Revision: 982114
URL: http://svn.apache.org/viewvc?rev=982114&view=rev
Log:
Feature suggestion - clear the logger tree when events are cleared
Modified:
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanelLoggerTreeModel.java
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameListener.java
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameModel.java
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameModelSupport.java
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java
logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html
Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java
URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java?rev=982114&r1=982113&r2=982114&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java (original)
+++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java Wed Aug 4 04:06:40 2010
@@ -227,6 +227,10 @@ class ChainsawCyclicBufferTableModel ext
return loggerNameModelDelegate.addLoggerName(loggerName);
}
+ public void reset() {
+ loggerNameModelDelegate.reset();
+ }
+
/**
* @param l
*/
@@ -349,6 +353,7 @@ class ChainsawCyclicBufferTableModel ext
});
notifyCountListeners();
+ loggerNameModelDelegate.reset();
}
public List getAllEvents() {
Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java?rev=982114&r1=982113&r2=982114&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java (original)
+++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java Wed Aug 4 04:06:40 2010
@@ -727,6 +727,7 @@ public class LogPanel extends DockablePa
});
tableModel.addLoggerNameListener(logTreeModel);
+ tableModel.addLoggerNameListener(logTreePanel);
/**
* Set the LoggerRule to be the LoggerTreePanel, as this visual component
Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanelLoggerTreeModel.java
URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanelLoggerTreeModel.java?rev=982114&r1=982113&r2=982114&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanelLoggerTreeModel.java (original)
+++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanelLoggerTreeModel.java Wed Aug 4 04:06:40 2010
@@ -62,6 +62,13 @@ class LogPanelLoggerTreeModel extends De
});
}
+ public void reset() {
+ DefaultMutableTreeNode current = (DefaultMutableTreeNode) getRoot();
+ current.removeAllChildren();
+ fullPackageMap.clear();
+ nodeStructureChanged(current);
+ }
+
private void addLoggerNameInDispatchThread(final String loggerName) {
String[] packages = tokenize(loggerName);
Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameListener.java
URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameListener.java?rev=982114&r1=982113&r2=982114&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameListener.java (original)
+++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameListener.java Wed Aug 4 04:06:40 2010
@@ -33,4 +33,9 @@ public interface LoggerNameListener exte
* @param loggerName the new, unique loggerName
*/
public void loggerNameAdded(String loggerName);
+
+ /**
+ * Logger names were reset (used to clear the tree model)
+ */
+ public void reset();
}
Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameModel.java
URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameModel.java?rev=982114&r1=982113&r2=982114&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameModel.java (original)
+++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameModel.java Wed Aug 4 04:06:40 2010
@@ -49,6 +49,11 @@ public interface LoggerNameModel {
* @param loggerName
*/
public boolean addLoggerName(String loggerName);
+
+ /**
+ * The logger names have been cleared
+ */
+ public void reset();
public void addLoggerNameListener(LoggerNameListener l);
public void removeLoggerNameListener(LoggerNameListener l);
Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameModelSupport.java
URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameModelSupport.java?rev=982114&r1=982113&r2=982114&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameModelSupport.java (original)
+++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameModelSupport.java Wed Aug 4 04:06:40 2010
@@ -59,6 +59,17 @@ public class LoggerNameModelSupport impl
return isNew;
}
+ public void reset() {
+ loggerNameSet.clear();
+ LoggerNameListener[] eventListeners = (LoggerNameListener[]) listenerList.getListeners(LoggerNameListener.class);
+
+ for (int i = 0; i < eventListeners.length; i++)
+ {
+ LoggerNameListener listener = eventListeners[i];
+ listener.reset();
+ }
+ }
+
/**
* Notifies all the registered listeners that a new unique
* logger name has been added to this model
Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java
URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java?rev=982114&r1=982113&r2=982114&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java (original)
+++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java Wed Aug 4 04:06:40 2010
@@ -101,7 +101,7 @@ import org.apache.log4j.spi.LoggingEvent
*
* @author Paul Smith <[email protected]>
*/
-final class LoggerNameTreePanel extends JPanel
+final class LoggerNameTreePanel extends JPanel implements LoggerNameListener
{
//~ Static fields/initializers ==============================================
@@ -159,6 +159,7 @@ final class LoggerNameTreePanel extends
private final RuleColorizer colorizer;
private Rule ignoreExpressionRule;
private FilterModel filterModel;
+ private boolean expandRootLatch = false;
//~ Constructors ============================================================
@@ -229,18 +230,16 @@ final class LoggerNameTreePanel extends
// ============================================
logTreeModel.addTreeModelListener(new TreeModelListener()
{
- private boolean latched = false;
-
public void treeNodesChanged(TreeModelEvent e)
{
}
public void treeNodesInserted(TreeModelEvent e)
{
- if (!latched)
+ if (!expandRootLatch)
{
ensureRootExpanded();
- latched = true;
+ expandRootLatch = true;
}
}
@@ -1452,6 +1451,16 @@ final class LoggerNameTreePanel extends
updateIgnoreExpression(hiddenExpression);
}
+ public void loggerNameAdded(String loggerName)
+ {
+ //no-op
+ }
+
+ public void reset()
+ {
+ expandRootLatch = false;
+ }
+
//~ Inner Classes ===========================================================
/**
Modified: logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html
URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html?rev=982114&r1=982113&r2=982114&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html (original)
+++ logging/chainsaw/trunk/src/main/resources/org/apache/log4j/chainsaw/help/release-notes.html Wed Aug 4 04:06:40 2010
@@ -10,6 +10,10 @@
<b>NOTE:</b> The mechanism and format used to persist settings in Chainsaw is subject to change. If you are experiencing problems displaying events in Chainsaw, please delete everything in the $user.dir/.chainsaw directory and restart Chainsaw.
<br>
<h1>2.1</h1>
+<h2>3 Aug 2010</h2>
+<ul>
+<li>Now clearing the logger name tree when the table is cleared.</li>
+</ul>
<h2>21 Jul 2010</h2>
<ul>
<li>Rewrote initial configuration screen with new ability to define a file receiver from the dialog (and provide a PatternLayout as the format) </li>
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.