import java.lang.reflect.Method;
import java.net.MalformedURLException;
import java.net.Proxy;
+import java.net.SocketAddress;
+import java.net.InetSocketAddress;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.regex.Pattern;
import java.util.zip.GZIPInputStream;
+import jalview.bin.HiDPISetting;
import jalview.bin.MemorySetting;
-import com.install4j.api.launcher.Variables;
+//import com.install4j.api.launcher.Variables;
import com.threerings.getdown.util.*;
// avoid ambiguity with java.util.Base64 which we can't use as it's 1.8+
}
// pass along our proxy settings
- String proxyHost;
- if ((proxyHost = System.getProperty("http.proxyHost")) != null) {
+ String proxyHost = System.getProperty("http.proxyHost");
+ String proxyPort = StringUtil.isBlank(System.getProperty("http.proxyPort")) ? "80" : System.getProperty("http.proxyPort");
+ if (StringUtil.isBlank(proxyHost) && ! proxy.equals(Proxy.NO_PROXY)) {
+ try {
+ SocketAddress a = proxy.address();
+ if (a != null && a instanceof InetSocketAddress) {
+ InetSocketAddress ia = (InetSocketAddress)a;
+ proxyHost = ia.getHostString();
+ proxyPort = String.valueOf(ia.getPort());
+ }
+ } catch (Exception e) {
+ log.error("Problem obtaining proxy settings from Proxy object");
+ e.printStackTrace();
+ }
+ }
+ if (proxyHost != null) {
+ log.info("Using proxy settings "+proxyHost+":"+proxyPort);
args.add("-Dhttp.proxyHost=" + proxyHost);
- args.add("-Dhttp.proxyPort=" + System.getProperty("http.proxyPort"));
+ args.add("-Dhttp.proxyPort=" + proxyPort);
args.add("-Dhttps.proxyHost=" + proxyHost);
- args.add("-Dhttps.proxyPort=" + System.getProperty("http.proxyPort"));
- }
+ args.add("-Dhttps.proxyPort=" + proxyPort);
+ } else {
+ log.info("Not setting proxy");
+ }
// add the marker indicating the app is running in getdown
args.add("-D" + Properties.GETDOWN + "=true");
args.add("-Dinstaller_template_version=" + System.getProperty("installer_template_version"));
args.add("-Dlauncher_version=" + Build.version());
+ // set HiDPI property if wanted
+ String scalePropertyArg = HiDPISetting.getScalePropertyArg();
+ if (scalePropertyArg != null)
+ {
+ args.add(scalePropertyArg);
+ }
+
// set the native library path if we have native resources
// @TODO optional getdown.txt parameter to set addCurrentLibraryPath to true or false?
ClassPath javaLibPath = PathBuilder.buildLibsPath(this, true);
clearValidationMarkers();
// if the new copy validates, reinitialize ourselves; otherwise report baffling hoseage
if (_digest.validateResource(crsrc, null)) {
+ // unset _initialisedConfig so new file is initialised
+ _initialisedConfig = null;
init(true);
} else {
log.warning(CONFIG_FILE + " failed to validate even after redownloading. " +