svn commit: r996779 - in /logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw: ApplicationPreferenceModel.java LogUI.java ReceiverConfigurationPanel.java

[email protected]
Newsgroups gmane.comp.apache.logging
Message-ID <[email protected]>
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);
             }
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.