|
ProxySettings |
|
package ij.plugin;
import ij.*;
import ij.gui.*;
import ij.util.Tools;
import java.util.*;
/** This plugin implements the Plugins/Utilities/Proxy Settings command. It sets
* the JVM proxy properties to allow the Plugins/Utilities/Update ImageJ command
* and File/Open Samples menu to work on networks behind a proxy server.
*
* @author Dimiter Prodanov
*/
public class ProxySettings implements PlugIn {
private static Properties props = System.getProperties();
private String proxyhost = Prefs.get("proxy.server", "");
private int proxyport = (int)Prefs.get("proxy.port", 8080);
private String proxyuser = Prefs.get("proxy.user", "");
private String proxypass = "";
private boolean authenticate;
public void run(String arg) {
if (IJ.getApplet()!=null) return;
String host = System.getProperty("http.proxyHost");
if (host!=null) proxyhost = host;
String port = System.getProperty("http.proxyPort");
if (port!=null) {
double portNumber = Tools.parseDouble(port);
if (!Double.isNaN(portNumber))
proxyport = (int)portNumber;
}
String user = System.getProperty("http.proxyUser");
if (user!=null) proxyuser = user;
String pass = System.getProperty("http.proxyPassword");
if (pass!=null) proxypass = pass;
if (!showDialog()) return;
if (!proxyhost.equals(""))
props.put("proxySet", "true");
else
props.put("proxySet", "false");
props.put("http.proxyHost", proxyhost);
props.put("http.proxyPort", ""+proxyport);
props.put("http.proxyUser", proxyuser);
props.put("http.proxyPassword", proxypass);
Prefs.set("proxy.server", proxyhost);
Prefs.set("proxy.port", proxyport);
Prefs.set("proxy.user", proxyuser);
if (IJ.debugMode) {
IJ.log("proxy set: "+ System.getProperty("proxySet"));
IJ.log("proxy host: "+ System.getProperty("http.proxyHost"));
IJ.log("proxy port: "+System.getProperty("http.proxyPort"));
IJ.log("proxy username: "+ System.getProperty("http.proxyUser"));
IJ.log("proxy password: "+ System.getProperty("http.proxyPassword"));
}
}
boolean showDialog() {
GenericDialog gd=new GenericDialog("Proxy Settings");
gd.addStringField("Proxy Server:", proxyhost, 15);
gd.addNumericField("Port:", proxyport , 0);
gd.addCheckbox(" Authenticate", authenticate);
gd.showDialog();
if (gd.wasCanceled())
return false;
proxyhost = gd.getNextString();
proxyport = (int)gd.getNextNumber();
authenticate = gd.getNextBoolean();
if (authenticate && !proxyhost.equals("")) {
GenericDialog gd2=new GenericDialog("Authentication");
gd2.setInsets(0,0,12);
gd2.addMessage("Enter user name and password for proxy server");
gd2.addStringField("User:", proxyuser, 12);
gd2.setEchoChar('*');
gd2.addStringField("Password:", proxypass, 12);
gd2.showDialog();
if (gd. wasCanceled())
return false;
proxyuser = gd2.getNextString();
proxypass = gd2.getNextString();
} else {
proxyuser = "";
proxypass = "";
}
return true;
}
}
|
ProxySettings |
|