Author: sdeboy Date: Sun Jun 13 23:26:56 2010 New Revision: 954329 URL: http://svn.apache.org/viewvc?rev=954329&view=rev Log: If command-line config URL is provided, display that value in autoconfig field but persist the last-saved config URL field (allows switching between command-line URL and default auto-config URL configurations) Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModel.java logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogUI.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=954329&r1=954328&r2=954329&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 Sun Jun 13 23:26:56 2010 @@ -59,6 +59,11 @@ public class ApplicationPreferenceModel private Vector configurationURLs=new Vector(); private String configurationURL = ""; + + /** + * Remember current config if provided via means other than configurationURL (command line arg, etc) + */ + private transient String bypassConfigurationURL = null; /** * this means for Receivers that require optional jars that can't be delivered * by the Web start classloader, we need to be able to remove the SecurityManager in place @@ -197,7 +202,10 @@ public class ApplicationPreferenceModel if (configurationURLs != null) { setConfigurationURLs(configurationURLs); } - setConfigurationURL(model.getConfigurationURL()); + //only set current config URL if bypass is null + if (model.getBypassConfigurationURL() == null) { + setConfigurationURL(model.getConfigurationURL()); + } setLastUsedVersion(model.getLastUsedVersion()); setOkToRemoveSecurityManager(model.isOkToRemoveSecurityManager()); Color searchForeground = model.getSearchForegroundColor(); @@ -399,13 +407,29 @@ public class ApplicationPreferenceModel { return this.configurationURL; } + + public final String getBypassConfigurationURL() { + return bypassConfigurationURL; + } + /* + Set to null to un-bypass + */ + public void setBypassConfigurationURL(String bypassConfigurationURL) { + //don't change configuration URL..configurationURL is persisted on app exit + if (bypassConfigurationURL != null && bypassConfigurationURL.trim().equals("")) { + this.bypassConfigurationURL = null; + } + this.bypassConfigurationURL = bypassConfigurationURL; + } + /** * @param configurationURL The configurationURL to set. */ public final void setConfigurationURL(String configurationURL) { //don't add empty entries, but allow the current configuration URL to be set to an empty string - Object oldValue = this.configurationURL; + Object oldValue = this.bypassConfigurationURL != null? this.bypassConfigurationURL:this.configurationURL; + bypassConfigurationURL = null; if (configurationURL == null || configurationURL.trim().equals("")) { this.configurationURL = ""; firePropertyChange("configurationURL", oldValue, this.configurationURL); Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java?rev=954329&r1=954328&r2=954329&view=diff ============================================================================== --- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java (original) +++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/ApplicationPreferenceModelPanel.java Sun Jun 13 23:26:56 2010 @@ -553,7 +553,8 @@ public static void main(String[] args) { } return true; }}); - configurationURL.setSelectedItem(committedPreferenceModel.getConfigurationURL()); + String configToDisplay = committedPreferenceModel.getBypassConfigurationURL() != null?committedPreferenceModel.getBypassConfigurationURL():committedPreferenceModel.getConfigurationURL(); + configurationURL.setSelectedItem(configToDisplay); } private void initSliderComponent() { 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=954329&r1=954328&r2=954329&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 Sun Jun 13 23:26:56 2010 @@ -279,7 +279,7 @@ public class LogUI extends JFrame implem SettingsManager.getInstance().configure(new ApplicationPreferenceModelSaver(model)); //if a configuration URL param was provided, set the configuration URL field to null if (configurationURLAppArg != null) { - model.setConfigurationURL(""); + model.setBypassConfigurationURL(configurationURLAppArg); } applyLookAndFeel(model.getLookAndFeelClassName());