diff options
author | Michael Valenta | 2007-07-05 20:32:18 +0000 |
---|---|---|
committer | Michael Valenta | 2007-07-05 20:32:18 +0000 |
commit | d0cfa0c652902e9cd670393b7345313b45664516 (patch) | |
tree | 9663864ca2a1291075986e84192468f6d05c0063 | |
parent | 29cfdfb0e88e0dc8c22a3741161602c5349b13e0 (diff) | |
download | eclipse.platform.team-d0cfa0c652902e9cd670393b7345313b45664516.tar.gz eclipse.platform.team-d0cfa0c652902e9cd670393b7345313b45664516.tar.xz eclipse.platform.team-d0cfa0c652902e9cd670393b7345313b45664516.zip |
Bug 194942 org.eclipse.core.net pollutes project-specific preferences
-rw-r--r-- | bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/PreferenceModifyListener.java | 9 | ||||
-rw-r--r-- | bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyManager.java | 12 |
2 files changed, 15 insertions, 6 deletions
diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/PreferenceModifyListener.java b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/PreferenceModifyListener.java index 36a01551f..8f1904b46 100644 --- a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/PreferenceModifyListener.java +++ b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/PreferenceModifyListener.java @@ -11,6 +11,7 @@ package org.eclipse.core.internal.net; import org.eclipse.core.runtime.preferences.IEclipsePreferences; +import org.osgi.service.prefs.BackingStoreException; public class PreferenceModifyListener extends org.eclipse.core.runtime.preferences.PreferenceModifyListener { @@ -20,7 +21,13 @@ public class PreferenceModifyListener extends } public IEclipsePreferences preApply(IEclipsePreferences node) { - ((ProxyManager)ProxyManager.getProxyManager()).migrateUpdateHttpProxy(node.node("instance"), false); //$NON-NLS-1$ + try { + if (node.nodeExists("instance")) { //$NON-NLS-1$ + ((ProxyManager)ProxyManager.getProxyManager()).migrateUpdateHttpProxy(node.node("instance"), false); //$NON-NLS-1$ + } + } catch (BackingStoreException e) { + Activator.logError("Could not access instance preferences", e); //$NON-NLS-1$ + } return super.preApply(node); } diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyManager.java b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyManager.java index 4b67eb827..defb130e7 100644 --- a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyManager.java +++ b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyManager.java @@ -305,14 +305,16 @@ public class ProxyManager implements IProxyService, IPreferenceChangeListener { } } - void migrateUpdateHttpProxy(Preferences node, boolean checkSystemProperties) { + void migrateUpdateHttpProxy(Preferences node, boolean isInitialize) { Preferences netPrefs = node.node(Activator.ID); if (!netPrefs.getBoolean(PREF_HAS_MIGRATED, false)) { - netPrefs.putBoolean(PREF_HAS_MIGRATED, true); + // Only set the migration bit when initializing + if (isInitialize) + netPrefs.putBoolean(PREF_HAS_MIGRATED, true); Preferences updatePrefs = node.node("org.eclipse.update.core"); //$NON-NLS-1$ - String httpProxyHost = getHostToMigrate(updatePrefs, checkSystemProperties); - int port = getPortToMigrate(updatePrefs, checkSystemProperties); - boolean httpProxyEnable = getEnablementToMigrate(updatePrefs, checkSystemProperties); + String httpProxyHost = getHostToMigrate(updatePrefs, isInitialize /* checkSystemProperties */); + int port = getPortToMigrate(updatePrefs, isInitialize /* checkSystemProperties */); + boolean httpProxyEnable = getEnablementToMigrate(updatePrefs, isInitialize /* checkSystemProperties */); if (httpProxyHost != null) { ProxyData proxyData = new ProxyData(IProxyData.HTTP_PROXY_TYPE, httpProxyHost, port, false); ProxyType type = getType(proxyData); |