Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Valenta2007-07-05 20:32:18 +0000
committerMichael Valenta2007-07-05 20:32:18 +0000
commitd0cfa0c652902e9cd670393b7345313b45664516 (patch)
tree9663864ca2a1291075986e84192468f6d05c0063
parent29cfdfb0e88e0dc8c22a3741161602c5349b13e0 (diff)
downloadeclipse.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.java9
-rw-r--r--bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyManager.java12
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);

Back to the top