aboutsummaryrefslogtreecommitdiffstats
path: root/netx/net/sourceforge/jnlp/runtime
diff options
context:
space:
mode:
authorOmair Majid <[email protected]>2011-01-27 12:56:40 -0500
committerOmair Majid <[email protected]>2011-01-27 12:56:40 -0500
commitd16944552990c2c953fdbd5e8d11f43e31dcbb3f (patch)
tree634b7c7e1180ec04abbb362f919add673e2049a7 /netx/net/sourceforge/jnlp/runtime
parent65c6aeedd50dd370ae4bce1ea49ad1b1b535db89 (diff)
Use Firefox's preferences to determine proxy settings for javaws
This patch adds support for finding, parsing and using basic information from Firefox's preferences to determine the correct proxy to use for javaws. Only the preferences from Firefox's default profile are used. Support for PAC, System or Automatic settings is not yet implemented. 2011-01-27 Omair Majid <[email protected]> * netx/net/sourceforge/jnlp/resources/Messages.properties: Add RPRoxyPacNotImplemented, RProxyFirefoxNotFound, and RProxyFirefoxOptionNotImplemented. * netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java: Make abstract. (getFromBrowser): Remove implementation; make abstract. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): Set BrowserAwareProxySelector as the proxy selector. * netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java: New file. This class extends JNLPProxySelector and searches the browser's configuration to load additional proxy settings from. * netx/net/sourceforge/jnlp/browser/FirefoxPreferencesFinder.java: New file. This class looks into the browser configration to find the preferences file for the default firefox profile. * netx/net/sourceforge/jnlp/browser/FirefoxPreferencesParser.java: New file. Parses the browser's preferences and makes it available through a simpler interface.
Diffstat (limited to 'netx/net/sourceforge/jnlp/runtime')
-rw-r--r--netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java15
-rw-r--r--netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java3
2 files changed, 6 insertions, 12 deletions
diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java b/netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java
index acf8e85..cf7d6a8 100644
--- a/netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java
+++ b/netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java
@@ -16,6 +16,7 @@
package net.sourceforge.jnlp.runtime;
+import static net.sourceforge.jnlp.runtime.Translator.R;
import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
@@ -40,7 +41,7 @@ import net.sourceforge.jnlp.config.DeploymentConfiguration;
*
* @see java.net.ProxySelector
*/
-public class JNLPProxySelector extends ProxySelector {
+public abstract class JNLPProxySelector extends ProxySelector {
public static final int PROXY_TYPE_UNKNOWN = -1;
public static final int PROXY_TYPE_NONE = 0;
@@ -337,9 +338,7 @@ public class JNLPProxySelector extends ProxySelector {
return Arrays.asList(new Proxy[] { Proxy.NO_PROXY });
}
// TODO implement this by reading and using the PAC file
- if (JNLPRuntime.isDebug()) {
- System.err.println("WARNING: Using a Proxy Auto Config file is not implemented yet");
- }
+ System.err.println(R("RPRoxyPacNotImplemented"));
return Arrays.asList(new Proxy[] { Proxy.NO_PROXY });
}
@@ -350,13 +349,7 @@ public class JNLPProxySelector extends ProxySelector {
* @param uri the uri to get proxies for
* @return a list of proxies
*/
- protected List<Proxy> getFromBrowser(URI uri) {
- // TODO implement this by parsing mozilla config
- if (JNLPRuntime.isDebug()) {
- System.err.println("WARNING: Using proxy settings from the browser is not implemented yet");
- }
+ protected abstract List<Proxy> getFromBrowser(URI uri);
- return Arrays.asList(new Proxy[] { Proxy.NO_PROXY });
- }
}
diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java
index 61417a4..2efa620 100644
--- a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java
+++ b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java
@@ -34,6 +34,7 @@ import javax.swing.UIManager;
import javax.swing.text.html.parser.ParserDelegator;
import net.sourceforge.jnlp.*;
+import net.sourceforge.jnlp.browser.BrowserAwareProxySelector;
import net.sourceforge.jnlp.cache.*;
import net.sourceforge.jnlp.config.DeploymentConfiguration;
import net.sourceforge.jnlp.security.JNLPAuthenticator;
@@ -220,7 +221,7 @@ public class JNLPRuntime {
// plug in a custom authenticator and proxy selector
Authenticator.setDefault(new JNLPAuthenticator());
- ProxySelector.setDefault(new JNLPProxySelector());
+ ProxySelector.setDefault(new BrowserAwareProxySelector());
initialized = true;