You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@logging.apache.org by sd...@apache.org on 2010/09/14 09:51:36 UTC
svn commit: r996779 - in
/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw:
ApplicationPreferenceModel.java LogUI.java ReceiverConfigurationPanel.java
Author: sdeboy
Date: Tue Sep 14 07:51:36 2010
New Revision: 996779
URL: http://svn.apache.org/viewvc?rev=996779&view=rev
Log:
Minor fixes to configuration load process
- The 'always start Chainsaw with this configuration' checkbox stops all plugins (except zeroconf) and loads the requested configuration
- If 'always start' isn't checked, the new configuration plugins will be activated along with the currently-active plugins
Modified:
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModel.java
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java
logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ReceiverConfigurationPanel.java
Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModel.java
URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModel.java?rev=996779&r1=996778&r2=996779&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModel.java (original)
+++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModel.java Tue Sep 14 07:51:36 2010
@@ -30,7 +30,7 @@ import java.util.Vector;
*/
public class ApplicationPreferenceModel {
- private boolean showNoReceiverWarning = true ;
+ private boolean showNoReceiverWarning = false ;
private boolean statusBar = true;
private boolean toolbar = true;
private boolean receivers = false; //setting this to true will cause the receivers panel to be displayed by default
Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java
URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java?rev=996779&r1=996778&r2=996779&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java (original)
+++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.java Tue Sep 14 07:51:36 2010
@@ -41,6 +41,7 @@ import java.io.IOException;
import java.lang.Thread.UncaughtExceptionHandler;
import java.lang.reflect.Method;
import java.net.MalformedURLException;
+import java.net.URISyntaxException;
import java.net.URL;
import java.security.AllPermission;
import java.security.CodeSource;
@@ -419,10 +420,19 @@ public class LogUI extends JFrame implem
try {
logger.info("loading updated configuration: " + newConfiguration);
URL newConfigurationURL = new URL(newConfiguration);
- logUI.loadConfigurationUsingPluginClassLoader(newConfigurationURL);
+ File file = new File(newConfigurationURL.toURI());
+ if (file.exists()) {
+ logUI.loadConfigurationUsingPluginClassLoader(newConfigurationURL);
+ } else {
+ logger.info("Updated configuration but file does not exist");
+ }
} catch (MalformedURLException e) {
logger.error("Updated configuration - failed to convert config string to URL", e);
}
+ catch (URISyntaxException e)
+ {
+ logger.error("Updated configuration - failed to convert config string to URL", e);
+ }
}
}});
@@ -1466,6 +1476,17 @@ public class LogUI extends JFrame implem
dialog.setVisible(true);
applicationPreferenceModel.setShowNoReceiverWarning(!receiverConfigurationPanel.isDontWarnMeAgain());
+ //using this config next time - stop all plugins
+ if (receiverConfigurationPanel.isDontWarnMeAgain()) {
+ List plugins = pluginRegistry.getPlugins();
+ for (Iterator iter = plugins.iterator();iter.hasNext();) {
+ Plugin plugin = (Plugin)iter.next();
+ //don't stop ZeroConfPlugin if it is registered
+ if (!plugin.getName().toLowerCase().contains("zeroconf")) {
+ pluginRegistry.stopPlugin(plugin.getName());
+ }
+ }
+ }
URL configURL = null;
if (receiverConfigurationPanel.getModel().isNetworkReceiverMode()) {
@@ -1487,6 +1508,10 @@ public class LogUI extends JFrame implem
pluginRegistry.addPlugin(networkReceiver);
networkReceiver.activateOptions();
receiversPanel.updateReceiverTreeInDispatchThread();
+ //setting config URL here ensures we have the receiver panel auto-saved config loaded
+ if (receiverConfigurationPanel.isDontWarnMeAgain()) {
+ configURL = receiverConfigurationPanel.getModel().getSavedConfigToLoad();
+ }
} catch (Exception e) {
MessageCenter.getInstance().getLogger().error(
"Error creating Receiver", e);
@@ -1522,6 +1547,9 @@ public class LogUI extends JFrame implem
pluginRegistry.addPlugin(fileReceiver);
fileReceiver.activateOptions();
receiversPanel.updateReceiverTreeInDispatchThread();
+ if (receiverConfigurationPanel.isDontWarnMeAgain()) {
+ configURL = receiverConfigurationPanel.getModel().getSavedConfigToLoad();
+ }
}
} catch (Exception e) {
MessageCenter.getInstance().getLogger().error(
@@ -1540,7 +1568,14 @@ public class LogUI extends JFrame implem
if (receiverConfigurationPanel.isDontWarnMeAgain()) {
applicationPreferenceModel.setConfigurationURL(finalURL.toExternalForm());
} else {
- loadConfigurationUsingPluginClassLoader(finalURL);
+ try {
+ if (new File(finalURL.toURI()).exists()) {
+ loadConfigurationUsingPluginClassLoader(finalURL);
+ }
+ }
+ catch (URISyntaxException e) {
+ //ignore
+ }
}
receiversPanel.updateReceiverTreeInDispatchThread();
Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ReceiverConfigurationPanel.java
URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ReceiverConfigurationPanel.java?rev=996779&r1=996778&r2=996779&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ReceiverConfigurationPanel.java (original)
+++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ReceiverConfigurationPanel.java Tue Sep 14 07:51:36 2010
@@ -470,8 +470,7 @@ class ReceiverConfigurationPanel extends
URL url = browseConfig();
if (url != null) {
- getModel().configUrl = url;
- existingConfigurationComboBoxModel.addElement(url);
+ existingConfigurationComboBoxModel.addElement(url.toExternalForm());
existingConfigurationComboBox.getModel().setSelectedItem(
url);
}
@@ -631,7 +630,6 @@ class ReceiverConfigurationPanel extends
*/
class PanelModel {
- private URL configUrl;
private File file;
private boolean cancelled;
@@ -692,16 +690,19 @@ class ReceiverConfigurationPanel extends
URL getConfigToLoad() {
- return configUrl;
+ try
+ {
+ return new URL(existingConfigurationComboBoxModel.getSelectedItem().toString());
+ }
+ catch (MalformedURLException e)
+ {
+ return null;
+ }
}
URL getSavedConfigToLoad() {
try {
- if (file.exists()){
- return file.toURL();
- } else {
- logger.debug("No configuration file found");
- }
+ return file.toURI().toURL();
} catch (MalformedURLException e) {
logger.error("Error loading saved configurations by Chainsaw", e);
}