X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=getdown%2Fsrc%2Fgetdown%2Fcore%2Fsrc%2Fmain%2Fjava%2Fcom%2Fthreerings%2Fgetdown%2Fdata%2FApplication.java;h=a0fdbee2aca7c83b7563434b4db79a25bbf76f24;hb=b2d0dec66002056276b0875f8b4a61518a8cc30e;hp=fd53c7978042cced54d5587d9d7c3cca001365bc;hpb=3fade83499e769d08529a9da301b64af33795610;p=jalview.git diff --git a/getdown/src/getdown/core/src/main/java/com/threerings/getdown/data/Application.java b/getdown/src/getdown/core/src/main/java/com/threerings/getdown/data/Application.java index fd53c79..a0fdbee 100644 --- a/getdown/src/getdown/core/src/main/java/com/threerings/getdown/data/Application.java +++ b/getdown/src/getdown/core/src/main/java/com/threerings/getdown/data/Application.java @@ -9,6 +9,8 @@ import java.io.*; 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; @@ -27,6 +29,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.zip.GZIPInputStream; +import jalview.bin.HiDPISetting; import jalview.bin.MemorySetting; //import com.install4j.api.launcher.Variables; @@ -1057,13 +1060,30 @@ public class Application } // 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"); @@ -1071,6 +1091,13 @@ public class Application 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); @@ -1226,7 +1253,9 @@ public class Application String[] sargs = args.toArray(new String[args.size()]); log.info("Running " + StringUtil.join(sargs, "\n ")); - return Runtime.getRuntime().exec(sargs, envp, getAppDir()); + // don't set the working dir, leave it the same as the working dir of the invocation + //return Runtime.getRuntime().exec(sargs, envp, getAppDir()); + return Runtime.getRuntime().exec(sargs, envp); } /** @@ -1411,6 +1440,8 @@ public class Application 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. " +