From a1e0c68674d905ef8436e6e51004882db08b75a2 Mon Sep 17 00:00:00 2001
From: Tomasz Zarna
Date: Mon, 29 Sep 2008 11:10:31 +0000
Subject: bug 246072: [Net] Native proxy libraries support for getting native
provider name
---
.../org.eclipse.core.net/.settings/.api_filters | 10 +++++++
bundles/org.eclipse.core.net/META-INF/MANIFEST.MF | 2 +-
.../org/eclipse/core/internal/net/ProxyData.java | 17 +++++++++--
.../eclipse/core/internal/net/ProxyManager.java | 3 +-
.../org/eclipse/core/internal/net/ProxyType.java | 3 +-
.../internal/net/proxy/unix/UnixProxyProvider.java | 3 +-
.../net/proxy/win32/winhttp/ProxyProviderUtil.java | 3 ++
.../src/org/eclipse/core/net/proxy/IProxyData.java | 33 ++++++++++++++++++----
bundles/org.eclipse.ui.net/META-INF/MANIFEST.MF | 4 +--
.../ui/internal/net/ProxyPreferencePage.java | 1 +
10 files changed, 66 insertions(+), 13 deletions(-)
create mode 100644 bundles/org.eclipse.core.net/.settings/.api_filters
(limited to 'bundles')
diff --git a/bundles/org.eclipse.core.net/.settings/.api_filters b/bundles/org.eclipse.core.net/.settings/.api_filters
new file mode 100644
index 000000000..5abb7af25
--- /dev/null
+++ b/bundles/org.eclipse.core.net/.settings/.api_filters
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/bundles/org.eclipse.core.net/META-INF/MANIFEST.MF b/bundles/org.eclipse.core.net/META-INF/MANIFEST.MF
index b8e299213..ac4b7983b 100644
--- a/bundles/org.eclipse.core.net/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.core.net/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %PLUGIN_NAME
Bundle-SymbolicName: org.eclipse.core.net;singleton:=true
-Bundle-Version: 1.1.100.qualifier
+Bundle-Version: 1.2.0.qualifier
Bundle-Activator: org.eclipse.core.internal.net.Activator
Bundle-Vendor: %PLUGIN_PROVIDER
Bundle-Localization: plugin
diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyData.java b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyData.java
index af7a1791c..c3d523ee7 100644
--- a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyData.java
+++ b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyData.java
@@ -20,12 +20,15 @@ public class ProxyData implements IProxyData {
private String user;
private String password;
private boolean requiresAuthentication;
+ private String source;
- public ProxyData(String type, String host, int port, boolean requiresAuthentication) {
+ public ProxyData(String type, String host, int port,
+ boolean requiresAuthentication, String source) {
this.type = type;
this.host = host;
this.port = port;
this.requiresAuthentication = requiresAuthentication;
+ this.source = source;
}
public ProxyData(String type) {
@@ -83,6 +86,14 @@ public class ProxyData implements IProxyData {
requiresAuthentication = false;
}
+ public String getSource() {
+ return source;
+ }
+
+ public void setSource(String source) {
+ this.source = source;
+ }
+
public String toString() {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("type: "); //$NON-NLS-1$
@@ -97,7 +108,9 @@ public class ProxyData implements IProxyData {
stringBuffer.append(password);
stringBuffer.append(" reqAuth: "); //$NON-NLS-1$
stringBuffer.append(requiresAuthentication);
- return stringBuffer.toString();
+ stringBuffer.append(" source: "); //$NON-NLS-1$
+ stringBuffer.append(source);
+ return stringBuffer.toString();
}
}
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 0b6505a9b..14c054415 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
@@ -445,7 +445,8 @@ public class ProxyManager implements IProxyService, IPreferenceChangeListener {
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);
+ ProxyData proxyData = new ProxyData(IProxyData.HTTP_PROXY_TYPE,
+ httpProxyHost, port, false, null);
ProxyType type = getType(proxyData);
type.updatePreferencesIfMissing(netPrefs, proxyData);
if (httpProxyEnable) {
diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyType.java b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyType.java
index 3f973994c..207b14473 100644
--- a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyType.java
+++ b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyType.java
@@ -135,7 +135,8 @@ public class ProxyType implements INodeChangeListener, IPreferenceChangeListener
host = null;
int port = node.getInt(PREF_PROXY_PORT, -1);
boolean requiresAuth = node.getBoolean(PREF_PROXY_HAS_AUTH, false);
- ProxyData proxyData = new ProxyData(type, host, port, requiresAuth);
+ ProxyData proxyData = new ProxyData(type, host, port, requiresAuth,
+ null);
loadProxyAuth(proxyData);
if (verifyFlag == VERIFY_EMPTY) {
// We are initializing so verify that the system properties are empty
diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/proxy/unix/UnixProxyProvider.java b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/proxy/unix/UnixProxyProvider.java
index c2f2389e8..49b7136eb 100644
--- a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/proxy/unix/UnixProxyProvider.java
+++ b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/proxy/unix/UnixProxyProvider.java
@@ -127,7 +127,7 @@ public class UnixProxyProvider extends AbstractProxyProvider {
pd.setUserid(user);
pd.setPassword(password);
}
-
+ pd.setSource("LINUX_ENV"); //$NON-NLS-1$
if (Policy.DEBUG_SYSTEM_PROVIDERS)
Policy.debug("Got Env proxy: " + pd); //$NON-NLS-1$
return pd;
@@ -143,6 +143,7 @@ public class UnixProxyProvider extends AbstractProxyProvider {
pd = getGConfProxyInfo(protocol);
if (Policy.DEBUG_SYSTEM_PROVIDERS)
Policy.debug("Got Gnome proxy: " + pd); //$NON-NLS-1$
+ pd.setSource("LINUX_GNOME"); //$NON-NLS-1$
return pd;
} catch (UnsatisfiedLinkError e) {
// The library should be loaded, so this is a real exception
diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/proxy/win32/winhttp/ProxyProviderUtil.java b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/proxy/win32/winhttp/ProxyProviderUtil.java
index 04f31df86..b1795e6b5 100644
--- a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/proxy/win32/winhttp/ProxyProviderUtil.java
+++ b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/proxy/win32/winhttp/ProxyProviderUtil.java
@@ -7,6 +7,7 @@
*
* Contributors:
* compeople AG (Stefan Liebig) - initial API and implementation
+ * IBM Corporation - bug 246072, adding IProxyData.source support
*******************************************************************************/
package org.eclipse.core.internal.net.proxy.win32.winhttp;
@@ -149,6 +150,7 @@ public final class ProxyProviderUtil {
IProxyData proxy = new ProxyData(type);
proxy.setHost(host);
proxy.setPort(port);
+ proxy.setSource("WINDOWS_IE"); //$NON-NLS-1$
return proxy;
}
@@ -219,6 +221,7 @@ public final class ProxyProviderUtil {
IProxyData proxy = new ProxyData(proxyType);
proxy.setHost(hostname);
proxy.setPort(port);
+ proxy.setSource("WINDOWS_IE"); //$NON-NLS-1$
return proxy;
}
return null;
diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/net/proxy/IProxyData.java b/bundles/org.eclipse.core.net/src/org/eclipse/core/net/proxy/IProxyData.java
index 51c600ea1..f98533acb 100644
--- a/bundles/org.eclipse.core.net/src/org/eclipse/core/net/proxy/IProxyData.java
+++ b/bundles/org.eclipse.core.net/src/org/eclipse/core/net/proxy/IProxyData.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
+ * Copyright (c) 2007, 2008 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -11,11 +11,10 @@
package org.eclipse.core.net.proxy;
/**
- * An {@link IProxyData} contains the information that is required to connect
- * to a particular proxy server.
- *
- * This interface is not intended to be implemented by clients.
+ * An {@link IProxyData} contains the information that is required to connect to
+ * a particular proxy server.
*
+ * @noimplement This interface is not intended to be implemented by clients.
* @since 1.0
*/
public interface IProxyData {
@@ -140,6 +139,30 @@ public interface IProxyData {
*/
boolean isRequiresAuthentication();
+ /**
+ * Returns the proxy source name. This value is useful for diagnosing
+ * purposes since many OS specific proxy sources could be available in a
+ * single environment. Null value means that the setting come from Eclipse
+ * preferences and is not OS specific.
+ *
+ * @since 1.2
+ * @return name of the proxy setting source, might be null
+ */
+ String getSource();
+
+ /**
+ * Sets the proxy source name. This value is useful for diagnosing purposes
+ * since many OS specific proxy sources could be available in a single
+ * environment. Null value means that the setting comes from Eclipse
+ * preferences and is not OS specific.
+ *
+ * @param source
+ * proxy setting source name to be set, might be
+ * null
+ * @since 1.2
+ */
+ void setSource(String source);
+
/**
* Set the values of this data to represent a disabling of its type.
* Note that the proxy type will not be disabled unless the client
diff --git a/bundles/org.eclipse.ui.net/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.net/META-INF/MANIFEST.MF
index 5f800a4d2..b35761f75 100644
--- a/bundles/org.eclipse.ui.net/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.ui.net/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %PLUGIN_NAME
Bundle-SymbolicName: org.eclipse.ui.net; singleton:=true
-Bundle-Version: 1.0.200.qualifier
+Bundle-Version: 1.2.0.qualifier
Bundle-Activator: org.eclipse.ui.internal.net.Activator
Bundle-Vendor: %PLUGIN_PROVIDER
Bundle-Localization: plugin
Require-Bundle: org.eclipse.ui;bundle-version="[3.3.0,4.0.0)",
org.eclipse.core.runtime;bundle-version="[3.3.0,4.0.0)",
org.eclipse.core.net;bundle-version="[1.0.0,2.0.0)"
-Eclipse-LazyStart: true
+Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.4,
CDC-1.0/Foundation-1.0,
J2SE-1.3
diff --git a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/ProxyPreferencePage.java b/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/ProxyPreferencePage.java
index db739dbe7..f4f6ff40b 100644
--- a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/ProxyPreferencePage.java
+++ b/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/ProxyPreferencePage.java
@@ -574,6 +574,7 @@ public class ProxyPreferencePage extends PreferencePage implements
}
proxy.setUserid(enableAuth ? userid.getText() : null);
proxy.setPassword(enableAuth ? password.getText() : null);
+ proxy.setSource(null);
}
public void addProtocolEntry(Composite parent) {
--
cgit v1.2.3