You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2018/03/13 07:04:47 UTC
[19/27] logging-chainsaw git commit: Reformat code for consistency
http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/96ebd9ad/src/main/java/org/apache/log4j/chainsaw/LogPanelLoggerTreeModel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/LogPanelLoggerTreeModel.java b/src/main/java/org/apache/log4j/chainsaw/LogPanelLoggerTreeModel.java
index 6ce8bdf..e5b62d3 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LogPanelLoggerTreeModel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LogPanelLoggerTreeModel.java
@@ -5,9 +5,9 @@
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -19,61 +19,55 @@
*/
package org.apache.log4j.chainsaw;
-import java.util.Comparator;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.StringTokenizer;
+import org.apache.log4j.LogManager;
+import org.apache.log4j.Logger;
-import javax.swing.SwingUtilities;
+import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.MutableTreeNode;
-
-import org.apache.log4j.LogManager;
-import org.apache.log4j.Logger;
+import java.util.*;
/**
- *
* A TreeModel that represents the Loggers for a given LogPanel
*
* @author Paul Smith <psmith@apache.org>
*/
class LogPanelLoggerTreeModel extends DefaultTreeModel
- implements LoggerNameListener {
- private Map<String, LogPanelTreeNode> fullPackageMap = new HashMap<>();
- private final Logger logger = LogManager.getLogger(LogPanelLoggerTreeModel.class);
-
- LogPanelLoggerTreeModel() {
- super(new LogPanelTreeNode("Root Logger"));
- }
-
- /* (non-Javadoc)
- * @see org.apache.log4j.chainsaw.LoggerNameListener#loggerNameAdded(java.lang.String)
- */
- public void loggerNameAdded(final String loggerName) {
- //invoke later, not on current EDT
- SwingUtilities.invokeLater(
+ implements LoggerNameListener {
+ private Map<String, LogPanelTreeNode> fullPackageMap = new HashMap<>();
+ private final Logger logger = LogManager.getLogger(LogPanelLoggerTreeModel.class);
+
+ LogPanelLoggerTreeModel() {
+ super(new LogPanelTreeNode("Root Logger"));
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.log4j.chainsaw.LoggerNameListener#loggerNameAdded(java.lang.String)
+ */
+ public void loggerNameAdded(final String loggerName) {
+ //invoke later, not on current EDT
+ SwingUtilities.invokeLater(
() -> addLoggerNameInDispatchThread(loggerName));
- }
+ }
- public void reset() {
- DefaultMutableTreeNode current = (DefaultMutableTreeNode) getRoot();
- current.removeAllChildren();
- fullPackageMap.clear();
- nodeStructureChanged(current);
- }
+ public void reset() {
+ DefaultMutableTreeNode current = (DefaultMutableTreeNode) getRoot();
+ current.removeAllChildren();
+ fullPackageMap.clear();
+ nodeStructureChanged(current);
+ }
- private void addLoggerNameInDispatchThread(final String loggerName) {
- String[] packages = tokenize(loggerName);
+ private void addLoggerNameInDispatchThread(final String loggerName) {
+ String[] packages = tokenize(loggerName);
- /**
- * The packages array is effectively the tree
- * path that must exist within the tree, so
- * we walk the tree ensuring each level is present
- */
- DefaultMutableTreeNode current = (DefaultMutableTreeNode) getRoot();
+ /**
+ * The packages array is effectively the tree
+ * path that must exist within the tree, so
+ * we walk the tree ensuring each level is present
+ */
+ DefaultMutableTreeNode current = (DefaultMutableTreeNode) getRoot();
/**
@@ -81,116 +75,117 @@ class LogPanelLoggerTreeModel extends DefaultTreeModel
* current tree hierachy, and it has matched a package name
* with an already existing TreeNode.
*/
-outerFor:
- for (int i = 0; i < packages.length; i++) {
- String packageName = packages[i];
- Enumeration enumeration = current.children();
-
- while (enumeration.hasMoreElements()) {
- DefaultMutableTreeNode child =
- (DefaultMutableTreeNode) enumeration.nextElement();
- String childName = child.getUserObject().toString();
-
- if (childName.equals(packageName)) {
- /**
- * This the current known branch to descend
- */
- current = child;
-
- /**
- * we've found it, so break back to the outer
- * for loop to continue processing further
- * down the tree
- */
- continue outerFor;
+ outerFor:
+ for (int i = 0; i < packages.length; i++) {
+ String packageName = packages[i];
+ Enumeration enumeration = current.children();
+
+ while (enumeration.hasMoreElements()) {
+ DefaultMutableTreeNode child =
+ (DefaultMutableTreeNode) enumeration.nextElement();
+ String childName = child.getUserObject().toString();
+
+ if (childName.equals(packageName)) {
+ /**
+ * This the current known branch to descend
+ */
+ current = child;
+
+ /**
+ * we've found it, so break back to the outer
+ * for loop to continue processing further
+ * down the tree
+ */
+ continue outerFor;
+ }
+ }
+
+ /*
+ * So we haven't found this index in the current children,
+ * better create the child
+ */
+ final LogPanelTreeNode newChild = new LogPanelTreeNode(packageName);
+
+ StringBuilder fullPackageBuf = new StringBuilder();
+
+ for (int j = 0; j <= i; j++) {
+ fullPackageBuf.append(packages[j]);
+
+ if (j < i) {
+ fullPackageBuf.append(".");
+ }
+ }
+
+ logger.debug("Adding to Map " + fullPackageBuf.toString());
+ fullPackageMap.put(fullPackageBuf.toString(), newChild);
+
+ final DefaultMutableTreeNode changedNode = current;
+
+ changedNode.add(newChild);
+
+ final int[] changedIndices = new int[changedNode.getChildCount()];
+
+ for (int j = 0; j < changedIndices.length; j++) {
+ changedIndices[j] = j;
+ }
+
+ nodesWereInserted(
+ changedNode, new int[]{changedNode.getIndex(newChild)});
+ nodesChanged(changedNode, changedIndices);
+ current = newChild;
}
- }
-
- /*
- * So we haven't found this index in the current children,
- * better create the child
- */
- final LogPanelTreeNode newChild = new LogPanelTreeNode(packageName);
-
- StringBuilder fullPackageBuf = new StringBuilder();
-
- for (int j = 0; j <= i; j++) {
- fullPackageBuf.append(packages[j]);
+ }
- if (j < i) {
- fullPackageBuf.append(".");
+ LogPanelTreeNode lookupLogger(String newLogger) {
+ if (fullPackageMap.containsKey(newLogger)) {
+ return fullPackageMap.get(newLogger);
+ } else {
+ logger.debug("No logger found matching '" + newLogger + "'");
+ logger.debug("Map Dump: " + fullPackageMap);
}
- }
-
- logger.debug("Adding to Map " + fullPackageBuf.toString());
- fullPackageMap.put(fullPackageBuf.toString(), newChild);
-
- final DefaultMutableTreeNode changedNode = current;
- changedNode.add(newChild);
-
- final int[] changedIndices = new int[changedNode.getChildCount()];
-
- for (int j = 0; j < changedIndices.length; j++) {
- changedIndices[j] = j;
- }
-
- nodesWereInserted(
- changedNode, new int[] { changedNode.getIndex(newChild) });
- nodesChanged(changedNode, changedIndices);
- current = newChild;
- }
- }
-
- LogPanelTreeNode lookupLogger(String newLogger) {
- if (fullPackageMap.containsKey(newLogger)) {
- return fullPackageMap.get(newLogger);
- }else{
- logger.debug("No logger found matching '" + newLogger + "'");
- logger.debug("Map Dump: " + fullPackageMap);
+ return null;
}
- return null;
- }
-
- /**
+ /**
* Takes the loggerName and tokenizes it into it's
* package name lements returning the elements
* via the Stirng[]
+ *
* @param loggerName
* @return array of strings representing the package hierarchy
*/
- private String[] tokenize(String loggerName) {
- StringTokenizer tok = new StringTokenizer(loggerName, ".");
+ private String[] tokenize(String loggerName) {
+ StringTokenizer tok = new StringTokenizer(loggerName, ".");
- String[] tokens = new String[tok.countTokens()];
+ String[] tokens = new String[tok.countTokens()];
- int index = 0;
+ int index = 0;
- while (tok.hasMoreTokens()) {
- tokens[index++] = tok.nextToken();
- }
+ while (tok.hasMoreTokens()) {
+ tokens[index++] = tok.nextToken();
+ }
- return tokens;
- }
+ return tokens;
+ }
- private static class LogPanelTreeNode extends DefaultMutableTreeNode {
- protected static Comparator nodeComparator =
+ private static class LogPanelTreeNode extends DefaultMutableTreeNode {
+ protected static Comparator nodeComparator =
(o1, o2) -> o1.toString().compareToIgnoreCase(o2.toString());
- private LogPanelTreeNode(String logName) {
- super(logName);
- }
+ private LogPanelTreeNode(String logName) {
+ super(logName);
+ }
- public void insert(MutableTreeNode newChild, int childIndex) {
- // logger.debug("[" + this.getUserObject() + "] inserting child " + newChild + " @ index " + childIndex);
- // logger.debug("Children now: " + this.children);
- super.insert(newChild, childIndex);
+ public void insert(MutableTreeNode newChild, int childIndex) {
+ // logger.debug("[" + this.getUserObject() + "] inserting child " + newChild + " @ index " + childIndex);
+ // logger.debug("Children now: " + this.children);
+ super.insert(newChild, childIndex);
- // logger.debug("Children after insert: " + this.children);
- this.children.sort(nodeComparator);
+ // logger.debug("Children after insert: " + this.children);
+ this.children.sort(nodeComparator);
- // logger.debug("Children after sort: " + this.children);
+ // logger.debug("Children after sort: " + this.children);
+ }
}
- }
}
http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/96ebd9ad/src/main/java/org/apache/log4j/chainsaw/LogPanelPreferenceModel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/LogPanelPreferenceModel.java b/src/main/java/org/apache/log4j/chainsaw/LogPanelPreferenceModel.java
index 47187da..c0844c2 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LogPanelPreferenceModel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LogPanelPreferenceModel.java
@@ -5,9 +5,9 @@
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -19,515 +19,516 @@
*/
package org.apache.log4j.chainsaw;
+import org.apache.log4j.chainsaw.prefs.SettingsManager;
+import org.apache.log4j.helpers.Constants;
+
+import javax.swing.table.TableColumn;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import javax.swing.table.TableColumn;
-
-import org.apache.log4j.chainsaw.prefs.SettingsManager;
-import org.apache.log4j.helpers.Constants;
+import java.util.*;
/**
- * Used to encapsulate all the preferences for a given LogPanel
+ * Used to encapsulate all the preferences for a given LogPanel
+ *
* @author Paul Smith
*/
-public class LogPanelPreferenceModel implements Serializable{
- public static final String ISO8601 = "ISO8601";
- public static final Collection DATE_FORMATS;
-
- private static final long serialVersionUID = 7526472295622776147L;
- static {
- Collection list = new ArrayList();
-
- Properties properties = SettingsManager.getInstance().getDefaultSettings();
-
- for (Map.Entry<Object, Object> objectObjectEntry : properties.entrySet()) {
- Map.Entry<Object, Object> entry = objectObjectEntry;
-
- if (entry.getKey().toString().startsWith("DateFormat")) {
- list.add(entry.getValue());
- }
- }
-
- DATE_FORMATS = Collections.unmodifiableCollection(list);
- }
-
- private transient final PropertyChangeSupport propertySupport =
- new PropertyChangeSupport(this);
- private String dateFormatPattern = Constants.SIMPLE_TIME_PATTERN;
- private boolean levelIcons;
- private List allColumns = new ArrayList();
- private List visibleColumns = new ArrayList();
- private List visibleColumnOrder = new ArrayList();
- //set to true to match default 'detailPaneVisible' setting
- private boolean detailPaneVisible = true;
- private boolean toolTips;
- //default thumbnail bar tooltips to true
- private boolean thumbnailBarToolTips = true;
- private boolean scrollToBottom;
- private boolean logTreePanelVisible;
- private String loggerPrecision = "";
-
- private Collection hiddenLoggers = new HashSet();
- private String timeZone;
- //default wrapMsg to true
- private boolean wrapMsg = true;
- private boolean highlightSearchMatchText;
- private String hiddenExpression;
- private String alwaysDisplayExpression;
- private String clearTableExpression;
- //default to cyclic mode off
- private boolean cyclic = false;
- private boolean showMillisDeltaAsGap;
- //default search results to visible
- private boolean searchResultsVisible = true;
+public class LogPanelPreferenceModel implements Serializable {
+ public static final String ISO8601 = "ISO8601";
+ public static final Collection DATE_FORMATS;
+
+ private static final long serialVersionUID = 7526472295622776147L;
+
+ static {
+ Collection list = new ArrayList();
+
+ Properties properties = SettingsManager.getInstance().getDefaultSettings();
+
+ for (Map.Entry<Object, Object> objectObjectEntry : properties.entrySet()) {
+ Map.Entry<Object, Object> entry = objectObjectEntry;
+
+ if (entry.getKey().toString().startsWith("DateFormat")) {
+ list.add(entry.getValue());
+ }
+ }
+
+ DATE_FORMATS = Collections.unmodifiableCollection(list);
+ }
+
+ private transient final PropertyChangeSupport propertySupport =
+ new PropertyChangeSupport(this);
+ private String dateFormatPattern = Constants.SIMPLE_TIME_PATTERN;
+ private boolean levelIcons;
+ private List allColumns = new ArrayList();
+ private List visibleColumns = new ArrayList();
+ private List visibleColumnOrder = new ArrayList();
+ //set to true to match default 'detailPaneVisible' setting
+ private boolean detailPaneVisible = true;
+ private boolean toolTips;
+ //default thumbnail bar tooltips to true
+ private boolean thumbnailBarToolTips = true;
+ private boolean scrollToBottom;
+ private boolean logTreePanelVisible;
+ private String loggerPrecision = "";
+
+ private Collection hiddenLoggers = new HashSet();
+ private String timeZone;
+ //default wrapMsg to true
+ private boolean wrapMsg = true;
+ private boolean highlightSearchMatchText;
+ private String hiddenExpression;
+ private String alwaysDisplayExpression;
+ private String clearTableExpression;
+ //default to cyclic mode off
+ private boolean cyclic = false;
+ private boolean showMillisDeltaAsGap;
+ //default search results to visible
+ private boolean searchResultsVisible = true;
/**
- * Returns an <b>unmodifiable</b> list of the columns.
- *
- * The reason it is unmodifiable is to enforce the requirement that
- * the List is actually unique columns. IT _could_ be a set,
- * but we need to maintain the order of insertion.
- *
- * @return
- */
- public List getColumns() {
- return Collections.unmodifiableList(allColumns);
- }
-
- public void setCyclic(boolean cyclic) {
- this.cyclic = cyclic;
- }
-
- public boolean isCyclic() {
- return cyclic;
- }
-
- /**
- * Returns an <b>unmodifiable</b> list of the visible columns.
- *
- * The reason it is unmodifiable is to enforce the requirement that
- * the List is actually unique columns. IT _could_ be a set,
- * but we need to maintain the order of insertion.
- *
- * @return
- */
- public List getVisibleColumns() {
- return Collections.unmodifiableList(visibleColumns);
- }
-
- public void clearColumns(){
- Object oldValue = this.allColumns;
- allColumns = new ArrayList();
- propertySupport.firePropertyChange("columns", oldValue, allColumns);
- }
-
- private TableColumn findColumnByHeader(List list, String header) {
- for (Object aList : list) {
- TableColumn c = (TableColumn) aList;
- //columns may have changed - header may not exist
- if (c != null && c.getHeaderValue() != null && c.getHeaderValue().equals(header)) {
- return c;
- }
- }
- return null;
- }
-
- public void setVisibleColumnOrder(List visibleColumnOrder) {
- this.visibleColumnOrder = visibleColumnOrder;
- }
-
- public List getVisibleColumnOrder() {
- return visibleColumnOrder;
- }
-
- public boolean addColumn(TableColumn column){
- if (findColumnByHeader(allColumns, column.getHeaderValue().toString()) != null) {
- return false;
- }
-
- Object oldValue = allColumns;
- allColumns = new ArrayList(allColumns);
- allColumns.add(column);
-
- propertySupport.firePropertyChange("columns", oldValue, allColumns);
- return true;
- }
-
- private void setColumns(List columns) {
- Object oldValue = allColumns;
- allColumns = new ArrayList(columns);
- propertySupport.firePropertyChange("columns", oldValue, columns);
- }
+ * Returns an <b>unmodifiable</b> list of the columns.
+ * <p>
+ * The reason it is unmodifiable is to enforce the requirement that
+ * the List is actually unique columns. IT _could_ be a set,
+ * but we need to maintain the order of insertion.
+ *
+ * @return
+ */
+ public List getColumns() {
+ return Collections.unmodifiableList(allColumns);
+ }
-/**
- * Returns the Date Pattern string for the alternate date formatter.
- * @return date pattern
- */
- public final String getDateFormatPattern() {
- return dateFormatPattern;
- }
-
- public final void setDefaultDatePatternFormat() {
- String oldVal = this.dateFormatPattern;
- this.dateFormatPattern = Constants.SIMPLE_TIME_PATTERN;
- propertySupport.firePropertyChange(
- "dateFormatPattern", oldVal, this.dateFormatPattern);
- }
- /**
- * @param dateFormatPattern
- */
- public final void setDateFormatPattern(String dateFormatPattern) {
- String oldVal = this.dateFormatPattern;
- this.dateFormatPattern = dateFormatPattern;
- propertySupport.firePropertyChange(
- "dateFormatPattern", oldVal, this.dateFormatPattern);
- }
-
- /**
- * @param listener
- */
- public synchronized void addPropertyChangeListener(
- PropertyChangeListener listener) {
- propertySupport.addPropertyChangeListener(listener);
- }
-
- /**
- * @param propertyName
- * @param listener
- */
- public synchronized void addPropertyChangeListener(
- String propertyName, PropertyChangeListener listener) {
- propertySupport.addPropertyChangeListener(propertyName, listener);
- }
-
- /**
- * @param listener
- */
- public synchronized void removePropertyChangeListener(
- PropertyChangeListener listener) {
- propertySupport.removePropertyChangeListener(listener);
- }
-
- /**
- * @param propertyName
- * @param listener
- */
- public synchronized void removePropertyChangeListener(
- String propertyName, PropertyChangeListener listener) {
- propertySupport.removePropertyChangeListener(propertyName, listener);
- }
-
- /**
- * Applies all the properties of another model to this model
- *
- * @param model the model to copy
- * all the properties from
- */
- public void apply(LogPanelPreferenceModel model) {
- setCyclic(model.isCyclic());
- setLoggerPrecision(model.getLoggerPrecision());
- setDateFormatPattern(model.getDateFormatPattern());
- setLevelIcons(model.isLevelIcons());
- setWrapMessage(model.isWrapMessage());
- setHighlightSearchMatchText(model.isHighlightSearchMatchText());
- setTimeZone(model.getTimeZone());
- setToolTips(model.isToolTips());
- setThumbnailBarToolTips((model.isThumbnailBarToolTips()));
- setScrollToBottom(model.isScrollToBottom());
- setDetailPaneVisible(model.isDetailPaneVisible());
- setLogTreePanelVisible(model.isLogTreePanelVisible());
- setVisibleColumnOrder(model.getVisibleColumnOrder());
- setSearchResultsVisible(model.isSearchResultsVisible());
- // we have to copy the list, because getColumns() is unmodifiable
- setColumns(model.getColumns());
-
- setVisibleColumns(model.getVisibleColumns());
- setHiddenLoggers(model.getHiddenLoggers());
- setHiddenExpression(model.getHiddenExpression());
- setAlwaysDisplayExpression(model.getAlwaysDisplayExpression());
- setShowMillisDeltaAsGap(model.isShowMillisDeltaAsGap());
- setClearTableExpression(model.getClearTableExpression());
- }
-
- /**
- * Returns true if this the fast ISO8601DateFormat object
- * should be used instead of SimpleDateFormat
- * @return use ISO8601 format flag
- */
- public boolean isUseISO8601Format() {
- return getDateFormatPattern().equals(ISO8601);
- }
-
- /**
- * @return level icons flag
- */
- public boolean isLevelIcons() {
- return levelIcons;
- }
-
- public boolean isWrapMessage() {
- return wrapMsg;
- }
-
- public boolean isHighlightSearchMatchText() {
- return highlightSearchMatchText;
- }
-
- /**
- * @param levelIcons
- */
- public void setLevelIcons(boolean levelIcons) {
- this.levelIcons = levelIcons;
- propertySupport.firePropertyChange("levelIcons", !levelIcons, levelIcons);
- }
-
- public void setSearchResultsVisible(boolean searchResultsVisible) {
- boolean oldValue = this.searchResultsVisible;
- this.searchResultsVisible = searchResultsVisible;
- propertySupport.firePropertyChange("searchResultsVisible", oldValue, searchResultsVisible);
- }
-
- public boolean isSearchResultsVisible() {
- return searchResultsVisible;
- }
-
- /**
- * @param wrapMsg
- */
- public void setWrapMessage(boolean wrapMsg) {
- this.wrapMsg = wrapMsg;
- propertySupport.firePropertyChange("wrapMessage", !wrapMsg, wrapMsg);
- }
+ public void setCyclic(boolean cyclic) {
+ this.cyclic = cyclic;
+ }
+
+ public boolean isCyclic() {
+ return cyclic;
+ }
+
+ /**
+ * Returns an <b>unmodifiable</b> list of the visible columns.
+ * <p>
+ * The reason it is unmodifiable is to enforce the requirement that
+ * the List is actually unique columns. IT _could_ be a set,
+ * but we need to maintain the order of insertion.
+ *
+ * @return
+ */
+ public List getVisibleColumns() {
+ return Collections.unmodifiableList(visibleColumns);
+ }
+
+ public void clearColumns() {
+ Object oldValue = this.allColumns;
+ allColumns = new ArrayList();
+ propertySupport.firePropertyChange("columns", oldValue, allColumns);
+ }
+
+ private TableColumn findColumnByHeader(List list, String header) {
+ for (Object aList : list) {
+ TableColumn c = (TableColumn) aList;
+ //columns may have changed - header may not exist
+ if (c != null && c.getHeaderValue() != null && c.getHeaderValue().equals(header)) {
+ return c;
+ }
+ }
+ return null;
+ }
+
+ public void setVisibleColumnOrder(List visibleColumnOrder) {
+ this.visibleColumnOrder = visibleColumnOrder;
+ }
+
+ public List getVisibleColumnOrder() {
+ return visibleColumnOrder;
+ }
+
+ public boolean addColumn(TableColumn column) {
+ if (findColumnByHeader(allColumns, column.getHeaderValue().toString()) != null) {
+ return false;
+ }
+
+ Object oldValue = allColumns;
+ allColumns = new ArrayList(allColumns);
+ allColumns.add(column);
+
+ propertySupport.firePropertyChange("columns", oldValue, allColumns);
+ return true;
+ }
+
+ private void setColumns(List columns) {
+ Object oldValue = allColumns;
+ allColumns = new ArrayList(columns);
+ propertySupport.firePropertyChange("columns", oldValue, columns);
+ }
+
+ /**
+ * Returns the Date Pattern string for the alternate date formatter.
+ *
+ * @return date pattern
+ */
+ public final String getDateFormatPattern() {
+ return dateFormatPattern;
+ }
+
+ public final void setDefaultDatePatternFormat() {
+ String oldVal = this.dateFormatPattern;
+ this.dateFormatPattern = Constants.SIMPLE_TIME_PATTERN;
+ propertySupport.firePropertyChange(
+ "dateFormatPattern", oldVal, this.dateFormatPattern);
+ }
+
+ /**
+ * @param dateFormatPattern
+ */
+ public final void setDateFormatPattern(String dateFormatPattern) {
+ String oldVal = this.dateFormatPattern;
+ this.dateFormatPattern = dateFormatPattern;
+ propertySupport.firePropertyChange(
+ "dateFormatPattern", oldVal, this.dateFormatPattern);
+ }
+
+ /**
+ * @param listener
+ */
+ public synchronized void addPropertyChangeListener(
+ PropertyChangeListener listener) {
+ propertySupport.addPropertyChangeListener(listener);
+ }
+
+ /**
+ * @param propertyName
+ * @param listener
+ */
+ public synchronized void addPropertyChangeListener(
+ String propertyName, PropertyChangeListener listener) {
+ propertySupport.addPropertyChangeListener(propertyName, listener);
+ }
+
+ /**
+ * @param listener
+ */
+ public synchronized void removePropertyChangeListener(
+ PropertyChangeListener listener) {
+ propertySupport.removePropertyChangeListener(listener);
+ }
+
+ /**
+ * @param propertyName
+ * @param listener
+ */
+ public synchronized void removePropertyChangeListener(
+ String propertyName, PropertyChangeListener listener) {
+ propertySupport.removePropertyChangeListener(propertyName, listener);
+ }
+
+ /**
+ * Applies all the properties of another model to this model
+ *
+ * @param model the model to copy
+ * all the properties from
+ */
+ public void apply(LogPanelPreferenceModel model) {
+ setCyclic(model.isCyclic());
+ setLoggerPrecision(model.getLoggerPrecision());
+ setDateFormatPattern(model.getDateFormatPattern());
+ setLevelIcons(model.isLevelIcons());
+ setWrapMessage(model.isWrapMessage());
+ setHighlightSearchMatchText(model.isHighlightSearchMatchText());
+ setTimeZone(model.getTimeZone());
+ setToolTips(model.isToolTips());
+ setThumbnailBarToolTips((model.isThumbnailBarToolTips()));
+ setScrollToBottom(model.isScrollToBottom());
+ setDetailPaneVisible(model.isDetailPaneVisible());
+ setLogTreePanelVisible(model.isLogTreePanelVisible());
+ setVisibleColumnOrder(model.getVisibleColumnOrder());
+ setSearchResultsVisible(model.isSearchResultsVisible());
+ // we have to copy the list, because getColumns() is unmodifiable
+ setColumns(model.getColumns());
+
+ setVisibleColumns(model.getVisibleColumns());
+ setHiddenLoggers(model.getHiddenLoggers());
+ setHiddenExpression(model.getHiddenExpression());
+ setAlwaysDisplayExpression(model.getAlwaysDisplayExpression());
+ setShowMillisDeltaAsGap(model.isShowMillisDeltaAsGap());
+ setClearTableExpression(model.getClearTableExpression());
+ }
+
+ /**
+ * Returns true if this the fast ISO8601DateFormat object
+ * should be used instead of SimpleDateFormat
+ *
+ * @return use ISO8601 format flag
+ */
+ public boolean isUseISO8601Format() {
+ return getDateFormatPattern().equals(ISO8601);
+ }
+
+ /**
+ * @return level icons flag
+ */
+ public boolean isLevelIcons() {
+ return levelIcons;
+ }
+
+ public boolean isWrapMessage() {
+ return wrapMsg;
+ }
+
+ public boolean isHighlightSearchMatchText() {
+ return highlightSearchMatchText;
+ }
+
+ /**
+ * @param levelIcons
+ */
+ public void setLevelIcons(boolean levelIcons) {
+ this.levelIcons = levelIcons;
+ propertySupport.firePropertyChange("levelIcons", !levelIcons, levelIcons);
+ }
+
+ public void setSearchResultsVisible(boolean searchResultsVisible) {
+ boolean oldValue = this.searchResultsVisible;
+ this.searchResultsVisible = searchResultsVisible;
+ propertySupport.firePropertyChange("searchResultsVisible", oldValue, searchResultsVisible);
+ }
+
+ public boolean isSearchResultsVisible() {
+ return searchResultsVisible;
+ }
+
+ /**
+ * @param wrapMsg
+ */
+ public void setWrapMessage(boolean wrapMsg) {
+ this.wrapMsg = wrapMsg;
+ propertySupport.firePropertyChange("wrapMessage", !wrapMsg, wrapMsg);
+ }
/**
* @param highlightSearchMatchText
*/
public void setHighlightSearchMatchText(boolean highlightSearchMatchText) {
- this.highlightSearchMatchText = highlightSearchMatchText;
- propertySupport.firePropertyChange("highlightSearchMatchText", !highlightSearchMatchText, highlightSearchMatchText);
- }
-
- /**
- * @param loggerPrecision - an integer representing the number of packages to display,
- * or an empty string representing 'display all packages'
- */
- public void setLoggerPrecision(String loggerPrecision) {
- String oldVal = this.loggerPrecision;
- this.loggerPrecision = loggerPrecision;
- propertySupport.firePropertyChange("loggerPrecision", oldVal, this.loggerPrecision);
- }
-
- /**
- * Returns the Logger precision.
- * @return logger precision
- */
- public final String getLoggerPrecision() {
- return loggerPrecision;
- }
-
- /**
- * Returns true if the named column should be made visible otherwise
- * false.
- * @param column
- * @return column visible flag
- */
- public boolean isColumnVisible(TableColumn column) {
- return (findColumnByHeader(visibleColumns, column.getHeaderValue().toString()) != null);
- }
-
- private void setVisibleColumns(List visibleColumns) {
- Object oldValue = new ArrayList();
- this.visibleColumns = new ArrayList(visibleColumns);
-
- propertySupport.firePropertyChange("visibleColumns", oldValue, this.visibleColumns);
- }
-
- public void setColumnVisible(String columnName, boolean isVisible) {
- boolean wasVisible = findColumnByHeader(visibleColumns, columnName) != null;
-
- //because we're a list and not a set, ensure we keep at most
- //one entry for a tablecolumn
- Object col = findColumnByHeader(allColumns, columnName);
- if (isVisible && !wasVisible) {
- visibleColumns.add(col);
- visibleColumnOrder.add(col);
- propertySupport.firePropertyChange("visibleColumns", Boolean.valueOf(isVisible), Boolean.valueOf(wasVisible));
- }
- if (!isVisible && wasVisible) {
- visibleColumns.remove(col);
- visibleColumnOrder.remove(col);
- propertySupport.firePropertyChange("visibleColumns", Boolean.valueOf(isVisible), Boolean.valueOf(wasVisible));
- }
- }
-
- /**
- * Toggles the state between visible, non-visible for a particular Column name
- * @param column
- */
- public void toggleColumn(TableColumn column) {
- setColumnVisible(column.getHeaderValue().toString(), !isColumnVisible(column));
- }
-
- /**
- * @return detail pane visible flag
- */
- public final boolean isDetailPaneVisible() {
- return detailPaneVisible;
- }
-
- /**
- * @param detailPaneVisible
- */
- public final void setDetailPaneVisible(boolean detailPaneVisible) {
- boolean oldValue = this.detailPaneVisible;
- this.detailPaneVisible = detailPaneVisible;
- propertySupport.firePropertyChange(
- "detailPaneVisible", oldValue, this.detailPaneVisible);
- }
-
- /**
- * @return scroll to bottom flag
- */
- public final boolean isScrollToBottom() {
- return scrollToBottom;
- }
-
-
- public final boolean isShowMillisDeltaAsGap() {
- return showMillisDeltaAsGap;
- }
- /**
- * @param scrollToBottom
- */
- public final void setScrollToBottom(boolean scrollToBottom) {
- boolean oldValue = this.scrollToBottom;
- this.scrollToBottom = scrollToBottom;
- propertySupport.firePropertyChange(
- "scrollToBottom", oldValue, this.scrollToBottom);
- }
+ this.highlightSearchMatchText = highlightSearchMatchText;
+ propertySupport.firePropertyChange("highlightSearchMatchText", !highlightSearchMatchText, highlightSearchMatchText);
+ }
+
+ /**
+ * @param loggerPrecision - an integer representing the number of packages to display,
+ * or an empty string representing 'display all packages'
+ */
+ public void setLoggerPrecision(String loggerPrecision) {
+ String oldVal = this.loggerPrecision;
+ this.loggerPrecision = loggerPrecision;
+ propertySupport.firePropertyChange("loggerPrecision", oldVal, this.loggerPrecision);
+ }
+
+ /**
+ * Returns the Logger precision.
+ *
+ * @return logger precision
+ */
+ public final String getLoggerPrecision() {
+ return loggerPrecision;
+ }
+
+ /**
+ * Returns true if the named column should be made visible otherwise
+ * false.
+ *
+ * @param column
+ * @return column visible flag
+ */
+ public boolean isColumnVisible(TableColumn column) {
+ return (findColumnByHeader(visibleColumns, column.getHeaderValue().toString()) != null);
+ }
+
+ private void setVisibleColumns(List visibleColumns) {
+ Object oldValue = new ArrayList();
+ this.visibleColumns = new ArrayList(visibleColumns);
+
+ propertySupport.firePropertyChange("visibleColumns", oldValue, this.visibleColumns);
+ }
+
+ public void setColumnVisible(String columnName, boolean isVisible) {
+ boolean wasVisible = findColumnByHeader(visibleColumns, columnName) != null;
+
+ //because we're a list and not a set, ensure we keep at most
+ //one entry for a tablecolumn
+ Object col = findColumnByHeader(allColumns, columnName);
+ if (isVisible && !wasVisible) {
+ visibleColumns.add(col);
+ visibleColumnOrder.add(col);
+ propertySupport.firePropertyChange("visibleColumns", Boolean.valueOf(isVisible), Boolean.valueOf(wasVisible));
+ }
+ if (!isVisible && wasVisible) {
+ visibleColumns.remove(col);
+ visibleColumnOrder.remove(col);
+ propertySupport.firePropertyChange("visibleColumns", Boolean.valueOf(isVisible), Boolean.valueOf(wasVisible));
+ }
+ }
+
+ /**
+ * Toggles the state between visible, non-visible for a particular Column name
+ *
+ * @param column
+ */
+ public void toggleColumn(TableColumn column) {
+ setColumnVisible(column.getHeaderValue().toString(), !isColumnVisible(column));
+ }
+
+ /**
+ * @return detail pane visible flag
+ */
+ public final boolean isDetailPaneVisible() {
+ return detailPaneVisible;
+ }
+
+ /**
+ * @param detailPaneVisible
+ */
+ public final void setDetailPaneVisible(boolean detailPaneVisible) {
+ boolean oldValue = this.detailPaneVisible;
+ this.detailPaneVisible = detailPaneVisible;
+ propertySupport.firePropertyChange(
+ "detailPaneVisible", oldValue, this.detailPaneVisible);
+ }
+
+ /**
+ * @return scroll to bottom flag
+ */
+ public final boolean isScrollToBottom() {
+ return scrollToBottom;
+ }
+
+
+ public final boolean isShowMillisDeltaAsGap() {
+ return showMillisDeltaAsGap;
+ }
+
+ /**
+ * @param scrollToBottom
+ */
+ public final void setScrollToBottom(boolean scrollToBottom) {
+ boolean oldValue = this.scrollToBottom;
+ this.scrollToBottom = scrollToBottom;
+ propertySupport.firePropertyChange(
+ "scrollToBottom", oldValue, this.scrollToBottom);
+ }
/**
* @param showMillisDeltaAsGap
*/
public final void setShowMillisDeltaAsGap(boolean showMillisDeltaAsGap) {
- boolean oldValue = this.showMillisDeltaAsGap;
- this.showMillisDeltaAsGap = showMillisDeltaAsGap;
- propertySupport.firePropertyChange(
- "showMillisDeltaAsGap", oldValue, this.showMillisDeltaAsGap);
- }
-
- public final void setThumbnailBarToolTips(boolean thumbnailBarToolTips) {
- boolean oldValue = this.thumbnailBarToolTips;
- this.thumbnailBarToolTips = thumbnailBarToolTips;
- propertySupport.firePropertyChange("thumbnailBarToolTips", oldValue, this.thumbnailBarToolTips);
- }
-
- public final boolean isThumbnailBarToolTips() {
- return thumbnailBarToolTips;
- }
-
- /**
- * @return tool tips enabled flag
- */
- public final boolean isToolTips() {
- return toolTips;
- }
-
- /**
- * @param toolTips
- */
- public final void setToolTips(boolean toolTips) {
- boolean oldValue = this.toolTips;
- this.toolTips = toolTips;
- propertySupport.firePropertyChange("toolTips", oldValue, this.toolTips);
- }
-
- /**
- * @return log tree panel visible flag
- */
- public final boolean isLogTreePanelVisible() {
- return logTreePanelVisible;
- }
-
- /**
- * @param logTreePanelVisible
- */
- public final void setLogTreePanelVisible(boolean logTreePanelVisible) {
- boolean oldValue = this.logTreePanelVisible;
- this.logTreePanelVisible = logTreePanelVisible;
- propertySupport.firePropertyChange(
- "logTreePanelVisible", oldValue, this.logTreePanelVisible);
- }
-
- /**
- * @return custom date format flag
- */
- public boolean isCustomDateFormat()
- {
- return !DATE_FORMATS.contains(getDateFormatPattern()) && !isUseISO8601Format();
- }
-
- public void setHiddenLoggers(Collection hiddenSet) {
- Object oldValue = this.hiddenLoggers;
- this.hiddenLoggers = hiddenSet;
- propertySupport.firePropertyChange("hiddenLoggers", oldValue, this.hiddenLoggers);
- }
-
- public Collection getHiddenLoggers() {
- return hiddenLoggers;
- }
-
- public String getTimeZone() {
- return timeZone;
- }
-
- public void setTimeZone(String timeZone) {
- Object oldValue = this.timeZone;
- this.timeZone = timeZone;
- propertySupport.firePropertyChange("dateFormatTimeZone", oldValue, this.timeZone);
- }
-
- public void setHiddenExpression(String hiddenExpression) {
- Object oldValue = this.hiddenExpression;
- this.hiddenExpression = hiddenExpression;
- propertySupport.firePropertyChange("hiddenExpression", oldValue, this.hiddenExpression);
- }
-
- public String getHiddenExpression() {
- return hiddenExpression;
- }
-
- public void setAlwaysDisplayExpression(String alwaysDisplayExpression) {
- Object oldValue = this.hiddenExpression;
- this.alwaysDisplayExpression = alwaysDisplayExpression;
- propertySupport.firePropertyChange("alwaysDisplayExpression", oldValue, this.alwaysDisplayExpression);
- }
-
- public String getAlwaysDisplayExpression() {
- return alwaysDisplayExpression;
- }
-
- public void setClearTableExpression(String clearTableExpression) {
- Object oldValue = this.clearTableExpression;
- this.clearTableExpression = clearTableExpression;
- //no propertychange if both null
- if (oldValue == null && this.clearTableExpression == null) {
- return;
- }
- propertySupport.firePropertyChange("clearTableExpression", oldValue, this.clearTableExpression);
- }
-
- public String getClearTableExpression() {
- return clearTableExpression;
- }
+ boolean oldValue = this.showMillisDeltaAsGap;
+ this.showMillisDeltaAsGap = showMillisDeltaAsGap;
+ propertySupport.firePropertyChange(
+ "showMillisDeltaAsGap", oldValue, this.showMillisDeltaAsGap);
+ }
+
+ public final void setThumbnailBarToolTips(boolean thumbnailBarToolTips) {
+ boolean oldValue = this.thumbnailBarToolTips;
+ this.thumbnailBarToolTips = thumbnailBarToolTips;
+ propertySupport.firePropertyChange("thumbnailBarToolTips", oldValue, this.thumbnailBarToolTips);
+ }
+
+ public final boolean isThumbnailBarToolTips() {
+ return thumbnailBarToolTips;
+ }
+
+ /**
+ * @return tool tips enabled flag
+ */
+ public final boolean isToolTips() {
+ return toolTips;
+ }
+
+ /**
+ * @param toolTips
+ */
+ public final void setToolTips(boolean toolTips) {
+ boolean oldValue = this.toolTips;
+ this.toolTips = toolTips;
+ propertySupport.firePropertyChange("toolTips", oldValue, this.toolTips);
+ }
+
+ /**
+ * @return log tree panel visible flag
+ */
+ public final boolean isLogTreePanelVisible() {
+ return logTreePanelVisible;
+ }
+
+ /**
+ * @param logTreePanelVisible
+ */
+ public final void setLogTreePanelVisible(boolean logTreePanelVisible) {
+ boolean oldValue = this.logTreePanelVisible;
+ this.logTreePanelVisible = logTreePanelVisible;
+ propertySupport.firePropertyChange(
+ "logTreePanelVisible", oldValue, this.logTreePanelVisible);
+ }
+
+ /**
+ * @return custom date format flag
+ */
+ public boolean isCustomDateFormat() {
+ return !DATE_FORMATS.contains(getDateFormatPattern()) && !isUseISO8601Format();
+ }
+
+ public void setHiddenLoggers(Collection hiddenSet) {
+ Object oldValue = this.hiddenLoggers;
+ this.hiddenLoggers = hiddenSet;
+ propertySupport.firePropertyChange("hiddenLoggers", oldValue, this.hiddenLoggers);
+ }
+
+ public Collection getHiddenLoggers() {
+ return hiddenLoggers;
+ }
+
+ public String getTimeZone() {
+ return timeZone;
+ }
+
+ public void setTimeZone(String timeZone) {
+ Object oldValue = this.timeZone;
+ this.timeZone = timeZone;
+ propertySupport.firePropertyChange("dateFormatTimeZone", oldValue, this.timeZone);
+ }
+
+ public void setHiddenExpression(String hiddenExpression) {
+ Object oldValue = this.hiddenExpression;
+ this.hiddenExpression = hiddenExpression;
+ propertySupport.firePropertyChange("hiddenExpression", oldValue, this.hiddenExpression);
+ }
+
+ public String getHiddenExpression() {
+ return hiddenExpression;
+ }
+
+ public void setAlwaysDisplayExpression(String alwaysDisplayExpression) {
+ Object oldValue = this.hiddenExpression;
+ this.alwaysDisplayExpression = alwaysDisplayExpression;
+ propertySupport.firePropertyChange("alwaysDisplayExpression", oldValue, this.alwaysDisplayExpression);
+ }
+
+ public String getAlwaysDisplayExpression() {
+ return alwaysDisplayExpression;
+ }
+
+ public void setClearTableExpression(String clearTableExpression) {
+ Object oldValue = this.clearTableExpression;
+ this.clearTableExpression = clearTableExpression;
+ //no propertychange if both null
+ if (oldValue == null && this.clearTableExpression == null) {
+ return;
+ }
+ propertySupport.firePropertyChange("clearTableExpression", oldValue, this.clearTableExpression);
+ }
+
+ public String getClearTableExpression() {
+ return clearTableExpression;
+ }
}