Bug 491952 - NPE at ProxyManager.tryGetURI from p2.director application
if Manual proxy is configured
ProxyManager should not assume that uri.getHost() returns a non-null
value. Specifically a valid jar: URI will always have a null host.
Also eliminate unused imports so that build passes.
Change-Id: I8ca9446e888b132c5f88f8cdc14eb9133a3a0b48
Signed-off-by: Ed Merks <ed.merks@gmail.com>
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 d7453ea..5e240e0 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
@@ -318,10 +318,13 @@
}
private boolean isHostFiltered(URI uri) {
- String[] filters = getNonProxiedHosts();
- for (String filter : filters) {
- if (StringUtil.hostMatchesFilter(uri.getHost(), filter))
- return true;
+ String host = uri.getHost();
+ if (host != null) {
+ String[] filters = getNonProxiedHosts();
+ for (String filter : filters) {
+ if (StringUtil.hostMatchesFilter(host, filter))
+ return true;
+ }
}
return false;
}
@@ -422,9 +425,12 @@
@Override
public IProxyData[] select(URI uri) {
- IProxyData data = getProxyDataForHost(uri.getHost(), uri.getScheme());
- if (data != null) {
- return resolveType(new IProxyData[] { data });
+ String host = uri.getHost();
+ if (host != null) {
+ IProxyData data = getProxyDataForHost(host, uri.getScheme());
+ if (data != null) {
+ return resolveType(new IProxyData[] { data });
+ }
}
return new IProxyData[0];
}