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:37 UTC
[09/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/prefs/SaveSettingsEvent.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/prefs/SaveSettingsEvent.java b/src/main/java/org/apache/log4j/chainsaw/prefs/SaveSettingsEvent.java
index 0ea7d46..4535370 100644
--- a/src/main/java/org/apache/log4j/chainsaw/prefs/SaveSettingsEvent.java
+++ b/src/main/java/org/apache/log4j/chainsaw/prefs/SaveSettingsEvent.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.
@@ -21,43 +21,42 @@ import java.util.Properties;
/**
* @author Paul Smith <psmith@apache.org>
- *
*/
public class SaveSettingsEvent extends AbstractSettingsEvent {
-
- SaveSettingsEvent(Object source, File settingsLocation) {
- super(source, settingsLocation);
- }
-
- public void saveSetting(String key, int value) {
- saveSetting(key, "" + value);
- }
-
- public void saveSetting(String key, double value) {
- saveSetting(key, "" + value);
- }
-
- public void saveSetting(String key, Object value) {
- saveSetting(key, value.toString());
- }
-
- public void saveSetting(String key, String value) {
- properties.put(key, value);
- }
-
- Properties getProperties() {
- return properties;
- }
-
- private Properties properties = new Properties();
- /**
- * @param string
- * @param b
- */
- public void saveSetting(String string, boolean b)
- {
- properties.put(string, b?Boolean.TRUE.toString():Boolean.FALSE.toString());
-
- }
+
+ SaveSettingsEvent(Object source, File settingsLocation) {
+ super(source, settingsLocation);
+ }
+
+ public void saveSetting(String key, int value) {
+ saveSetting(key, "" + value);
+ }
+
+ public void saveSetting(String key, double value) {
+ saveSetting(key, "" + value);
+ }
+
+ public void saveSetting(String key, Object value) {
+ saveSetting(key, value.toString());
+ }
+
+ public void saveSetting(String key, String value) {
+ properties.put(key, value);
+ }
+
+ Properties getProperties() {
+ return properties;
+ }
+
+ private Properties properties = new Properties();
+
+ /**
+ * @param string
+ * @param b
+ */
+ public void saveSetting(String string, boolean b) {
+ properties.put(string, b ? Boolean.TRUE.toString() : Boolean.FALSE.toString());
+
+ }
}
http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/96ebd9ad/src/main/java/org/apache/log4j/chainsaw/prefs/SettingsEvent.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/prefs/SettingsEvent.java b/src/main/java/org/apache/log4j/chainsaw/prefs/SettingsEvent.java
index 341ce97..50f9097 100644
--- a/src/main/java/org/apache/log4j/chainsaw/prefs/SettingsEvent.java
+++ b/src/main/java/org/apache/log4j/chainsaw/prefs/SettingsEvent.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.
@@ -20,11 +20,10 @@ import java.util.EventObject;
/**
* @author Paul Smith <psmith@apache.org>
- *
*/
public abstract class SettingsEvent extends EventObject {
- SettingsEvent(Object source) {
- super(source);
- }
+ SettingsEvent(Object source) {
+ super(source);
+ }
}
http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/96ebd9ad/src/main/java/org/apache/log4j/chainsaw/prefs/SettingsListener.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/prefs/SettingsListener.java b/src/main/java/org/apache/log4j/chainsaw/prefs/SettingsListener.java
index c4c78dc..f94bfa9 100644
--- a/src/main/java/org/apache/log4j/chainsaw/prefs/SettingsListener.java
+++ b/src/main/java/org/apache/log4j/chainsaw/prefs/SettingsListener.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,37 +19,35 @@ package org.apache.log4j.chainsaw.prefs;
import java.util.EventListener;
/**
- *
* Components, or objects, that are interested in being notified when
* Settings are loaded or being saved, can implement this interface.
- *
+ * <p>
* 'Settings' are Chainsaw wide preferences, and are not specific to a particular
* tab identifer etc. See the correspoing ProfileListener and related classes
* for a discussion on profile specific events etc.
- *
+ * <p>
* The implementing class can use this event notification opportunity
- * to load setting information stored previously, or to
+ * to load setting information stored previously, or to
* request that setting information be stored.
- *
+ * <p>
* NOTE: This contract does <b>_*NOT*_</b> dictate that the Thread invoking these
* methods will be the Swing's Event dispatching event, it could
* be any arbitary thread. Having said that, it COULD be the Swing's Event
* dispatching event, but this contract makes no guarantee.
- *
- * @author Paul Smith <psmith@apache.org>
*
+ * @author Paul Smith <psmith@apache.org>
*/
public interface SettingsListener extends EventListener {
-
- /**
- * When a request to load Settings has been requested, this method
- * will be invoked by the SettingsManager. The implementing
- * component can query the event for settings, and modify
- * it's internal state based on these settings.
- *
- * @param event
- */
+
+ /**
+ * When a request to load Settings has been requested, this method
+ * will be invoked by the SettingsManager. The implementing
+ * component can query the event for settings, and modify
+ * it's internal state based on these settings.
+ *
+ * @param event
+ */
void loadSettings(LoadSettingsEvent event);
-
- void saveSettings(SaveSettingsEvent event);
+
+ void saveSettings(SaveSettingsEvent event);
}
http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/96ebd9ad/src/main/java/org/apache/log4j/chainsaw/prefs/SettingsManager.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/prefs/SettingsManager.java b/src/main/java/org/apache/log4j/chainsaw/prefs/SettingsManager.java
index 5bebe59..efbb373 100644
--- a/src/main/java/org/apache/log4j/chainsaw/prefs/SettingsManager.java
+++ b/src/main/java/org/apache/log4j/chainsaw/prefs/SettingsManager.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.
@@ -16,20 +16,12 @@
*/
package org.apache.log4j.chainsaw.prefs;
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
+import javax.swing.event.EventListenerList;
+import java.io.*;
import java.net.URLEncoder;
import java.util.EventListener;
import java.util.Properties;
-import javax.swing.event.EventListenerList;
-
/**
* SettingManager allows components to register interest in Saving/Loading
@@ -37,7 +29,6 @@ import javax.swing.event.EventListenerList;
*
* @author Paul Smith <psmith@apache.org>
* @author Scott Deboy <sdeboy@apache.org>
- *
*/
public final class SettingsManager {
private static final SettingsManager instance = new SettingsManager();
@@ -49,7 +40,6 @@ public final class SettingsManager {
/**
* Initialises the SettingsManager by loading the default Properties from
* a resource
- *
*/
private SettingsManager() {
// load the default properties as a Resource
@@ -57,8 +47,8 @@ public final class SettingsManager {
try {
is = this.getClass().getClassLoader()
- .getResource("org/apache/log4j/chainsaw/prefs/default.properties")
- .openStream();
+ .getResource("org/apache/log4j/chainsaw/prefs/default.properties")
+ .openStream();
defaultProperties.load(is);
// defaultProperties.list(System.out);
@@ -77,6 +67,7 @@ public final class SettingsManager {
/**
* Returns the singleton instance of the SettingsManager
+ *
* @return settings manager
*/
public static SettingsManager getInstance() {
@@ -85,6 +76,7 @@ public final class SettingsManager {
/**
* Registers the listener with the manager
+ *
* @param listener
*/
public void addSettingsListener(SettingsListener listener) {
@@ -95,7 +87,6 @@ public final class SettingsManager {
* Requests that the settings be loaded, all listeners will be notified of
* this call, and configure themselves according to the values found in the
* loaded settings
- *
*/
public void loadSettings() {
/*
@@ -137,7 +128,7 @@ public final class SettingsManager {
Properties loadedProperties = new Properties();
loadedProperties.putAll(getDefaultSettings());
loadedProperties.putAll(loadProperties(p));
-
+
LoadSettingsEvent event = new LoadSettingsEvent(this, loadedProperties);
@@ -153,11 +144,11 @@ public final class SettingsManager {
InputStream is = null;
File f = new File(getSettingsDirectory(),
- URLEncoder.encode(p.getNamespace() + ".properties"));
-
+ URLEncoder.encode(p.getNamespace() + ".properties"));
+
if (!f.exists()) {
- f = new File(getSettingsDirectory(),
- p.getNamespace() + ".properties");
+ f = new File(getSettingsDirectory(),
+ p.getNamespace() + ".properties");
}
if (f.exists()) {
@@ -204,7 +195,6 @@ public final class SettingsManager {
/**
* Creates a SaveSettingsEvent and calls all the SettingsListeners
* to populate the properties with configuration information
- *
*/
public void saveSettings() {
/*
@@ -225,6 +215,7 @@ public final class SettingsManager {
* Looks up all the Profileable's that have been registered
* and creates a new event for each of them, and ensures that they
* are saved within a separate external store
+ *
* @param settingsDir
*/
private void saveProfileableSetting(File settingsDir) {
@@ -244,8 +235,8 @@ public final class SettingsManager {
try {
os = new BufferedOutputStream(new FileOutputStream(
- new File(settingsDir,
- URLEncoder.encode(profileable.getNamespace()) + ".properties")));
+ new File(settingsDir,
+ URLEncoder.encode(profileable.getNamespace()) + ".properties")));
event.getProperties().store(os, HEADER);
} catch (Exception e) {
e.printStackTrace();
@@ -282,7 +273,7 @@ public final class SettingsManager {
try {
os = new BufferedOutputStream(new FileOutputStream(
- new File(settingsDir, GLOBAL_SETTINGS_FILE_NAME)));
+ new File(settingsDir, GLOBAL_SETTINGS_FILE_NAME)));
event.getProperties().store(os, HEADER);
} catch (Exception e) {
e.printStackTrace();
@@ -307,7 +298,7 @@ public final class SettingsManager {
} else {
Properties loadedProperties = loadGlobalProperties();
LoadSettingsEvent event = new LoadSettingsEvent(this,
- loadedProperties);
+ loadedProperties);
listener.loadSettings(event);
}
}
@@ -350,6 +341,7 @@ public final class SettingsManager {
/**
* Returns the loaded default settings, which can be used by
* other classes within this package.
+ *
* @return Properties defaults
*/
public Properties getDefaultSettings() {
http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/96ebd9ad/src/main/java/org/apache/log4j/chainsaw/receivers/NewReceiverDialogPanel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/receivers/NewReceiverDialogPanel.java b/src/main/java/org/apache/log4j/chainsaw/receivers/NewReceiverDialogPanel.java
index 4992843..f6cccae 100644
--- a/src/main/java/org/apache/log4j/chainsaw/receivers/NewReceiverDialogPanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/receivers/NewReceiverDialogPanel.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.
@@ -17,20 +17,6 @@
package org.apache.log4j.chainsaw.receivers;
-import java.awt.BorderLayout;
-import java.awt.Dimension;
-import java.awt.event.ActionListener;
-import java.io.IOException;
-import java.net.URL;
-
-import javax.swing.JDialog;
-import javax.swing.JEditorPane;
-import javax.swing.JFrame;
-import javax.swing.JPanel;
-import javax.swing.JScrollPane;
-import javax.swing.JSplitPane;
-import javax.swing.UIManager;
-
import org.apache.log4j.LogManager;
import org.apache.log4j.chainsaw.help.HelpManager;
import org.apache.log4j.chainsaw.helper.OkCancelPanel;
@@ -39,13 +25,18 @@ import org.apache.log4j.net.SocketHubReceiver;
import org.apache.log4j.plugins.Plugin;
import org.apache.log4j.plugins.Receiver;
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.ActionListener;
+import java.io.IOException;
+import java.net.URL;
+
/**
* A panel that allows a user to configure a new Plugin, and
* view that plugins javadoc at the same time
*
* @author Paul Smith <psmith@apache.org>
- *
*/
public class NewReceiverDialogPanel extends JPanel {
@@ -71,20 +62,20 @@ public class NewReceiverDialogPanel extends JPanel {
* url to be the Help resource for that class
*/
pluginEditorPanel.addPropertyChangeListener("plugin",
- evt -> {
+ evt -> {
- Plugin plugin = (Plugin) evt.getNewValue();
- URL url = HelpManager.getInstance().getHelpForClass(
- plugin.getClass());
+ Plugin plugin = (Plugin) evt.getNewValue();
+ URL url = HelpManager.getInstance().getHelpForClass(
+ plugin.getClass());
- try {
- javaDocPane.setPage(url);
- } catch (IOException e) {
- MessageCenter.getInstance().getLogger().error(
- "Failed to load the Help resource for " +
+ try {
+ javaDocPane.setPage(url);
+ } catch (IOException e) {
+ MessageCenter.getInstance().getLogger().error(
+ "Failed to load the Help resource for " +
plugin.getClass(), e);
- }
- });
+ }
+ });
}
/**
@@ -125,6 +116,7 @@ public class NewReceiverDialogPanel extends JPanel {
* Creates a new panel, with the contents configured to allow the editing
* of a NEW instance of the specified class (which must implement the Receiver
* interface)
+ *
* @param receiverClass
* @return NewReceiverDialogPanel
* @throws IllegalArgumentException if the specified class is not a Receiver
@@ -142,7 +134,7 @@ public class NewReceiverDialogPanel extends JPanel {
receiverInstance = (Receiver) receiverClass.newInstance();
} catch (Exception e) {
- LogManager.getLogger(NewReceiverDialogPanel.class).error(
+ LogManager.getLogger(NewReceiverDialogPanel.class).error(
"Failed to create a new Receiver instance, this exception is unexpected",
e);
}
@@ -159,7 +151,7 @@ public class NewReceiverDialogPanel extends JPanel {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
NewReceiverDialogPanel panel = NewReceiverDialogPanel.create(
- SocketHubReceiver.class);
+ SocketHubReceiver.class);
JDialog dialog = new JDialog((JFrame) null, true);
dialog.getContentPane().add(panel);
http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/96ebd9ad/src/main/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java b/src/main/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java
index 95979c7..01c41dc 100644
--- a/src/main/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.java
+++ b/src/main/java/org/apache/log4j/chainsaw/receivers/PluginPropertyEditorPanel.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.
@@ -16,32 +16,6 @@
*/
package org.apache.log4j.chainsaw.receivers;
-import java.awt.BorderLayout;
-import java.awt.Component;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-import java.beans.BeanInfo;
-import java.beans.IntrospectionException;
-import java.beans.Introspector;
-import java.beans.PropertyDescriptor;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.swing.AbstractCellEditor;
-import javax.swing.DefaultCellEditor;
-import javax.swing.JFrame;
-import javax.swing.JPanel;
-import javax.swing.JScrollPane;
-import javax.swing.JTable;
-import javax.swing.JTextField;
-import javax.swing.table.AbstractTableModel;
-import javax.swing.table.DefaultTableModel;
-import javax.swing.table.TableCellEditor;
-import javax.swing.table.TableModel;
-
import org.apache.log4j.Level;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
@@ -51,10 +25,26 @@ import org.apache.log4j.chainsaw.helper.TableCellEditorFactory;
import org.apache.log4j.net.SocketHubReceiver;
import org.apache.log4j.plugins.Plugin;
+import javax.swing.*;
+import javax.swing.table.AbstractTableModel;
+import javax.swing.table.DefaultTableModel;
+import javax.swing.table.TableCellEditor;
+import javax.swing.table.TableModel;
+import java.awt.*;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.beans.BeanInfo;
+import java.beans.IntrospectionException;
+import java.beans.Introspector;
+import java.beans.PropertyDescriptor;
+import java.util.*;
+import java.util.List;
+
/**
* A panel that allows the user to edit a particular Plugin, by using introspection
* this class discovers the modifiable properties of the Plugin
+ *
* @author Paul Smith <psmith@apache.org>
*/
public class PluginPropertyEditorPanel extends JPanel {
@@ -64,9 +54,10 @@ public class PluginPropertyEditorPanel extends JPanel {
private Plugin plugin;
private TableModel defaultModel = new DefaultTableModel(
- new String[] { "Property", "Value" }, 1);
+ new String[]{"Property", "Value"}, 1);
private static final Logger logger = LogManager.getLogger(PluginPropertyEditorPanel.class);
+
/**
*
*/
@@ -88,7 +79,7 @@ public class PluginPropertyEditorPanel extends JPanel {
propertyTable.setModel(
defaultModel = new DefaultTableModel(
- new String[] { "Property", "Value" }, 1));
+ new String[]{"Property", "Value"}, 1));
}
@@ -108,7 +99,7 @@ public class PluginPropertyEditorPanel extends JPanel {
new PluginPropertyTableModel(p);
propertyTable.setModel(model);
propertyTable.getColumnModel().getColumn(1)
- .setCellEditor(new PluginTableCellEditor());
+ .setCellEditor(new PluginTableCellEditor());
propertyTable.setEnabled(true);
} catch (Throwable e) {
logger.error("Failed to introspect the Plugin", e);
@@ -125,10 +116,10 @@ public class PluginPropertyEditorPanel extends JPanel {
JFrame frame = new JFrame("Property Editor Test bed");
frame.addWindowListener(new WindowAdapter() {
- public void windowClosed(WindowEvent e) {
- System.exit(1);
- }
- });
+ public void windowClosed(WindowEvent e) {
+ System.exit(1);
+ }
+ });
PluginPropertyEditorPanel panel = new PluginPropertyEditorPanel();
@@ -173,14 +164,13 @@ public class PluginPropertyEditorPanel extends JPanel {
/**
* @author psmith
- *
*/
private class PluginTableCellEditor extends AbstractCellEditor
implements TableCellEditor {
private Map editorMap = new HashMap();
private DefaultCellEditor defaultEditor = new DefaultCellEditor(
- new JTextField());
+ new JTextField());
private DefaultCellEditor currentEditor = defaultEditor;
private PluginTableCellEditor() {
@@ -197,12 +187,12 @@ public class PluginPropertyEditorPanel extends JPanel {
* @see javax.swing.table.TableCellEditor#getTableCellEditorComponent(javax.swing.JTable, java.lang.Object, boolean, int, int)
*/
public Component getTableCellEditorComponent(JTable table, Object value,
- boolean isSelected, int row, int column) {
+ boolean isSelected, int row, int column) {
+
+ PluginPropertyTableModel model = (PluginPropertyTableModel) table.getModel();
+ PropertyDescriptor descriptor = model.getDescriptors()[row];
+ Class valueClass = descriptor.getPropertyType();
- PluginPropertyTableModel model = (PluginPropertyTableModel) table.getModel();
- PropertyDescriptor descriptor = model.getDescriptors()[row];
- Class valueClass = descriptor.getPropertyType();
-
if (editorMap.containsKey(valueClass)) {
DefaultCellEditor editor =
@@ -244,7 +234,7 @@ public class PluginPropertyEditorPanel extends JPanel {
BeanInfo beanInfo = Introspector.getBeanInfo(p.getClass());
List list = new ArrayList(Arrays.asList(
- beanInfo.getPropertyDescriptors()));
+ beanInfo.getPropertyDescriptors()));
list.sort((o1, o2) -> {
@@ -252,11 +242,11 @@ public class PluginPropertyEditorPanel extends JPanel {
PropertyDescriptor d2 = (PropertyDescriptor) o2;
return d1.getDisplayName().compareToIgnoreCase(
- d2.getDisplayName());
+ d2.getDisplayName());
});
this.plugin = p;
this.descriptors = (PropertyDescriptor[]) list.toArray(
- new PropertyDescriptor[0]);
+ new PropertyDescriptor[0]);
}
/* (non-Javadoc)
@@ -268,25 +258,25 @@ public class PluginPropertyEditorPanel extends JPanel {
switch (col) {
- case 1:
+ case 1:
- try {
+ try {
- Object object = d.getReadMethod().invoke(plugin);
+ Object object = d.getReadMethod().invoke(plugin);
- if (object != null) {
+ if (object != null) {
- return object;
+ return object;
+ }
+ } catch (Exception e) {
+ logger.error(
+ "Error reading value for PropertyDescriptor " + d);
}
- } catch (Exception e) {
- logger.error(
- "Error reading value for PropertyDescriptor " + d);
- }
- return "";
+ return "";
- case 0:
- return d.getName();
+ case 0:
+ return d.getName();
}
return null;
@@ -341,11 +331,11 @@ public class PluginPropertyEditorPanel extends JPanel {
aValue = translateValueIfNeeded(rowIndex, aValue);
logger.debug(
"setValueAt, " + rowIndex + ", " + columnIndex +
- ", value=" + aValue + ", valueClass" + aValue.getClass());
+ ", value=" + aValue + ", valueClass" + aValue.getClass());
try {
descriptors[rowIndex].getWriteMethod().invoke(plugin,
- aValue);
+ aValue);
fireTableCellUpdated(rowIndex, columnIndex);
} catch (IllegalArgumentException e) {
// ignore
@@ -367,7 +357,7 @@ public class PluginPropertyEditorPanel extends JPanel {
private Object translateValueIfNeeded(int row, Object value) {
if ((descriptors[row].getPropertyType() == int.class) ||
- (descriptors[row].getPropertyType() == Integer.class)) {
+ (descriptors[row].getPropertyType() == Integer.class)) {
try {
@@ -379,11 +369,12 @@ public class PluginPropertyEditorPanel extends JPanel {
return value;
}
+
/**
* @return Returns the descriptors.
*/
public final PropertyDescriptor[] getDescriptors() {
- return descriptors;
+ return descriptors;
}
}
}
http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/96ebd9ad/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiverTreeCellRenderer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiverTreeCellRenderer.java b/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiverTreeCellRenderer.java
index 8e4645a..9cc1191 100644
--- a/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiverTreeCellRenderer.java
+++ b/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiverTreeCellRenderer.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.
@@ -17,18 +17,17 @@
package org.apache.log4j.chainsaw.receivers;
-import java.awt.*;
-
-import javax.swing.*;
-import javax.swing.tree.DefaultMutableTreeNode;
-import javax.swing.tree.DefaultTreeCellRenderer;
-
import org.apache.log4j.chainsaw.Generator;
import org.apache.log4j.chainsaw.icons.ChainsawIcons;
import org.apache.log4j.chainsaw.icons.LevelIconFactory;
import org.apache.log4j.plugins.Plugin;
import org.apache.log4j.spi.Thresholdable;
+import javax.swing.*;
+import javax.swing.tree.DefaultMutableTreeNode;
+import javax.swing.tree.DefaultTreeCellRenderer;
+import java.awt.*;
+
/**
* A TreeCellRenderer that can format the information of Receivers
@@ -37,75 +36,74 @@ import org.apache.log4j.spi.Thresholdable;
* @author Paul Smith <psmith@apache.org>
*/
public class ReceiverTreeCellRenderer extends DefaultTreeCellRenderer {
- private Icon rootIcon = new ImageIcon(ChainsawIcons.ANIM_NET_CONNECT);
- private JPanel panel = new JPanel();
- private JLabel levelLabel = new JLabel();
-
- public ReceiverTreeCellRenderer() {
- super();
- BoxLayout layout = new BoxLayout(panel, BoxLayout.X_AXIS);
- panel.setLayout(layout);
- panel.setOpaque(false);
- panel.add(levelLabel);
- //set preferredsize to something wide
- setPreferredSize(new Dimension(200, 19));
- panel.add(this);
- }
-
- public Component getTreeCellRendererComponent(
- JTree tree, Object value, boolean sel, boolean expanded, boolean leaf,
- int row, boolean focus) {
- super.getTreeCellRendererComponent(
- tree, value, sel, expanded, leaf, row, focus);
-
- DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
- Object o = node.getUserObject();
- setText(o.toString());
-
- String tooltip = "";
-
- setIcon(null);
- if (
- o == ((ReceiversTreeModel) tree.getModel()).getRootNode().getUserObject()) {
- setText(o.toString());
- } else if (o instanceof String) {
- setText(o.toString());
- setIcon(null);
- }else if(o instanceof Plugin){
- setText(((Plugin)o).getName());
- }else if(o instanceof Generator){
- Generator generator = (Generator) o;
- setText(generator.getName());
- setIcon(ChainsawIcons.ICON_HELP);
- }
- else {
- setText("(Unknown Type) :: " + o);
+ private Icon rootIcon = new ImageIcon(ChainsawIcons.ANIM_NET_CONNECT);
+ private JPanel panel = new JPanel();
+ private JLabel levelLabel = new JLabel();
+
+ public ReceiverTreeCellRenderer() {
+ super();
+ BoxLayout layout = new BoxLayout(panel, BoxLayout.X_AXIS);
+ panel.setLayout(layout);
+ panel.setOpaque(false);
+ panel.add(levelLabel);
+ //set preferredsize to something wide
+ setPreferredSize(new Dimension(200, 19));
+ panel.add(this);
}
- if (
- o == ((ReceiversTreeModel) tree.getModel()).getRootNode().getUserObject()) {
- setIcon(rootIcon);
- }
+ public Component getTreeCellRendererComponent(
+ JTree tree, Object value, boolean sel, boolean expanded, boolean leaf,
+ int row, boolean focus) {
+ super.getTreeCellRendererComponent(
+ tree, value, sel, expanded, leaf, row, focus);
+
+ DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
+ Object o = node.getUserObject();
+ setText(o.toString());
+
+ String tooltip = "";
+
+ setIcon(null);
+ if (
+ o == ((ReceiversTreeModel) tree.getModel()).getRootNode().getUserObject()) {
+ setText(o.toString());
+ } else if (o instanceof String) {
+ setText(o.toString());
+ setIcon(null);
+ } else if (o instanceof Plugin) {
+ setText(((Plugin) o).getName());
+ } else if (o instanceof Generator) {
+ Generator generator = (Generator) o;
+ setText(generator.getName());
+ setIcon(ChainsawIcons.ICON_HELP);
+ } else {
+ setText("(Unknown Type) :: " + o);
+ }
- levelLabel.setText(null);
- levelLabel.setIcon(null);
+ if (
+ o == ((ReceiversTreeModel) tree.getModel()).getRootNode().getUserObject()) {
+ setIcon(rootIcon);
+ }
+
+ levelLabel.setText(null);
+ levelLabel.setIcon(null);
- if (o instanceof Thresholdable) {
- Thresholdable t = (Thresholdable) o;
+ if (o instanceof Thresholdable) {
+ Thresholdable t = (Thresholdable) o;
- if (t.getThreshold() != null) {
- levelLabel.setIcon(
- LevelIconFactory.getInstance().getLevelToIconMap().get(
- t.getThreshold().toString()));
+ if (t.getThreshold() != null) {
+ levelLabel.setIcon(
+ LevelIconFactory.getInstance().getLevelToIconMap().get(
+ t.getThreshold().toString()));
- if (levelLabel.getIcon() == null) {
- levelLabel.setText(t.getThreshold().toString());
+ if (levelLabel.getIcon() == null) {
+ levelLabel.setText(t.getThreshold().toString());
+ }
+ }
}
- }
- }
- setToolTipText(tooltip);
+ setToolTipText(tooltip);
- return panel;
- }
+ return panel;
+ }
}
http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/96ebd9ad/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversHelper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversHelper.java b/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversHelper.java
index 18ac3a6..ec27de3 100644
--- a/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversHelper.java
+++ b/src/main/java/org/apache/log4j/chainsaw/receivers/ReceiversHelper.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.
@@ -17,28 +17,6 @@
package org.apache.log4j.chainsaw.receivers;
-import java.beans.BeanInfo;
-import java.beans.Introspector;
-import java.beans.PropertyDescriptor;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.LineNumberReader;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.apache.log4j.chainsaw.plugins.PluginClassLoaderFactory;
@@ -50,15 +28,31 @@ import org.apache.log4j.spi.LoggerRepositoryEx;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+import java.beans.BeanInfo;
+import java.beans.Introspector;
+import java.beans.PropertyDescriptor;
+import java.io.*;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
/**
* Helper class to assisit with all the known Receivers.
- *
+ * <p>
* A local resource 'known.receivers' is read in on initialization
* with each line representing the FQN of the Class that is a recognised Receiver.
- *
- * @author Paul Smith <psmith@apache.org>
*
+ * @author Paul Smith <psmith@apache.org>
*/
public class ReceiversHelper {
@@ -66,13 +60,14 @@ public class ReceiversHelper {
private final Logger logger = LogManager.getLogger(ReceiversHelper.class);
private List<Class> receiverClassList = new ArrayList<>();
+
/**
*
*/
private ReceiversHelper() {
URL url = this.getClass().getClassLoader().getResource(
- this.getClass().getPackage().getName().replace('.','/') + "/known.receivers");
+ this.getClass().getPackage().getName().replace('.', '/') + "/known.receivers");
if (url == null) {
logger.warn("Failed to locate known.receivers file");
return;
@@ -87,20 +82,19 @@ public class ReceiversHelper {
ClassLoader classLoader = PluginClassLoaderFactory.getInstance().getClassLoader();
while ((line = stream.readLine()) != null) {
-
- try {
- if (line.startsWith("#") || (line.length() == 0)) {
- continue;
- }
- Class receiverClass = classLoader.loadClass(line);
- receiverClassList.add(receiverClass);
- logger.debug("Located known Receiver class " + receiverClass.getName());
- } catch (ClassNotFoundException e) {
- logger.warn("Failed to locate Receiver class:" + line);
- }
- catch (NoClassDefFoundError e) {
- logger.error("Failed to locate Receiver class:" + line + ", looks like a dependent class is missing from the classpath", e);
- }
+
+ try {
+ if (line.startsWith("#") || (line.length() == 0)) {
+ continue;
+ }
+ Class receiverClass = classLoader.loadClass(line);
+ receiverClassList.add(receiverClass);
+ logger.debug("Located known Receiver class " + receiverClass.getName());
+ } catch (ClassNotFoundException e) {
+ logger.warn("Failed to locate Receiver class:" + line);
+ } catch (NoClassDefFoundError e) {
+ logger.error("Failed to locate Receiver class:" + line + ", looks like a dependent class is missing from the classpath", e);
+ }
}
} catch (Exception e) {
e.printStackTrace();
@@ -124,86 +118,87 @@ public class ReceiversHelper {
/**
* Returns an unmodifiable list of Class objects which represent all the 'known'
* Receiver classes.
+ *
* @return known receiver classes
*/
public List getKnownReceiverClasses() {
- return Collections.unmodifiableList(receiverClassList);
+ return Collections.unmodifiableList(receiverClassList);
}
- public void saveReceiverConfiguration(File file) {
- LoggerRepository repo = LogManager.getLoggerRepository();
- PluginRegistry pluginRegistry = ((LoggerRepositoryEx) repo).getPluginRegistry();
- List<Plugin> fullPluginList = pluginRegistry.getPlugins();
- List<Plugin> pluginList = new ArrayList<>();
- for (Object aFullPluginList : fullPluginList) {
- Plugin thisPlugin = (Plugin) aFullPluginList;
- if (thisPlugin instanceof Receiver) {
- pluginList.add(thisPlugin);
- }
- }
- //remove everything that isn't a receiver..otherwise, we'd create an empty config file
- try {
- if (pluginList.size() > 0) {
- //we programmatically register the ZeroConf plugin in the plugin registry
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- DocumentBuilder builder = factory.newDocumentBuilder();
- Document document = builder.newDocument();
- Element rootElement = document.createElementNS("http://jakarta.apache.org/log4j/", "configuration");
- rootElement.setPrefix("log4j");
- rootElement.setAttribute("xmlns:log4j", "http://jakarta.apache.org/log4j/");
- rootElement.setAttribute("debug", "true");
-
- for (Object aPluginList : pluginList) {
- Receiver receiver;
-
- if (aPluginList instanceof Receiver) {
- receiver = (Receiver) aPluginList;
- } else {
- continue;
- }
-
- Element pluginElement = document.createElement("plugin");
- pluginElement.setAttribute("name", receiver.getName());
- pluginElement.setAttribute("class", receiver.getClass().getName());
-
- BeanInfo beanInfo = Introspector.getBeanInfo(receiver.getClass());
- List<PropertyDescriptor> list = new ArrayList<>(Arrays.asList(beanInfo.getPropertyDescriptors()));
-
- for (Object aList : list) {
- PropertyDescriptor d = (PropertyDescriptor) aList;
- //don't serialize the loggerRepository property for subclasses of componentbase..
- //easier to change this than tweak componentbase right now..
- if (d.getReadMethod().getName().equals("getLoggerRepository")) {
+ public void saveReceiverConfiguration(File file) {
+ LoggerRepository repo = LogManager.getLoggerRepository();
+ PluginRegistry pluginRegistry = ((LoggerRepositoryEx) repo).getPluginRegistry();
+ List<Plugin> fullPluginList = pluginRegistry.getPlugins();
+ List<Plugin> pluginList = new ArrayList<>();
+ for (Object aFullPluginList : fullPluginList) {
+ Plugin thisPlugin = (Plugin) aFullPluginList;
+ if (thisPlugin instanceof Receiver) {
+ pluginList.add(thisPlugin);
+ }
+ }
+ //remove everything that isn't a receiver..otherwise, we'd create an empty config file
+ try {
+ if (pluginList.size() > 0) {
+ //we programmatically register the ZeroConf plugin in the plugin registry
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ Document document = builder.newDocument();
+ Element rootElement = document.createElementNS("http://jakarta.apache.org/log4j/", "configuration");
+ rootElement.setPrefix("log4j");
+ rootElement.setAttribute("xmlns:log4j", "http://jakarta.apache.org/log4j/");
+ rootElement.setAttribute("debug", "true");
+
+ for (Object aPluginList : pluginList) {
+ Receiver receiver;
+
+ if (aPluginList instanceof Receiver) {
+ receiver = (Receiver) aPluginList;
+ } else {
continue;
}
- Object o = d.getReadMethod().invoke(receiver);
- if (o != null) {
- Element paramElement = document.createElement("param");
- paramElement.setAttribute("name", d.getName());
- paramElement.setAttribute("value", o.toString());
- pluginElement.appendChild(paramElement);
+
+ Element pluginElement = document.createElement("plugin");
+ pluginElement.setAttribute("name", receiver.getName());
+ pluginElement.setAttribute("class", receiver.getClass().getName());
+
+ BeanInfo beanInfo = Introspector.getBeanInfo(receiver.getClass());
+ List<PropertyDescriptor> list = new ArrayList<>(Arrays.asList(beanInfo.getPropertyDescriptors()));
+
+ for (Object aList : list) {
+ PropertyDescriptor d = (PropertyDescriptor) aList;
+ //don't serialize the loggerRepository property for subclasses of componentbase..
+ //easier to change this than tweak componentbase right now..
+ if (d.getReadMethod().getName().equals("getLoggerRepository")) {
+ continue;
+ }
+ Object o = d.getReadMethod().invoke(receiver);
+ if (o != null) {
+ Element paramElement = document.createElement("param");
+ paramElement.setAttribute("name", d.getName());
+ paramElement.setAttribute("value", o.toString());
+ pluginElement.appendChild(paramElement);
+ }
}
- }
- rootElement.appendChild(pluginElement);
+ rootElement.appendChild(pluginElement);
+
+ }
+ TransformerFactory transformerFactory = TransformerFactory.newInstance();
+ Transformer transformer = transformerFactory.newTransformer();
+ transformer.setOutputProperty(OutputKeys.INDENT, "yes");
+ transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
+ DOMSource source = new DOMSource(rootElement);
+ FileOutputStream stream = new FileOutputStream(file);
+ StreamResult result = new StreamResult(stream);
+ transformer.transform(source, result);
+ stream.close();
}
- TransformerFactory transformerFactory = TransformerFactory.newInstance();
- Transformer transformer = transformerFactory.newTransformer();
- transformer.setOutputProperty(OutputKeys.INDENT, "yes");
- transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
- DOMSource source = new DOMSource(rootElement);
- FileOutputStream stream = new FileOutputStream(file);
- StreamResult result = new StreamResult(stream);
- transformer.transform(source, result);
- stream.close();
+ } catch (Exception e) {
+ e.printStackTrace();
}
-
- } catch (Exception e) {
- e.printStackTrace();
}
- }
}