X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=getdown%2Fsrc%2Fgetdown%2Fcore%2Fsrc%2Fmain%2Fjava%2Fcom%2Fthreerings%2Fgetdown%2Fdata%2FApplication.java;fp=getdown%2Fsrc%2Fgetdown%2Fcore%2Fsrc%2Fmain%2Fjava%2Fcom%2Fthreerings%2Fgetdown%2Fdata%2FApplication.java;h=9d9fe14abc69589604395c5b60bb13876d9a5d79;hb=d043ce47fc710d3eb2629ba926a8a7417bd67d8c;hp=2022750c3a7d3b543d07a48cb13ff38170143685;hpb=49db0dff1da16c3355b43a41498c1fc93ef47e91;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 2022750..9d9fe14 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 @@ -31,7 +31,7 @@ import java.util.zip.GZIPInputStream; import jalview.bin.HiDPISetting; import jalview.bin.MemorySetting; -//import com.install4j.api.launcher.Variables; +import jalview.util.LaunchUtils; import com.threerings.getdown.util.*; // avoid ambiguity with java.util.Base64 which we can't use as it's 1.8+ @@ -1085,6 +1085,9 @@ public class Application log.info("Not setting proxy"); } + // add the getdowninstanceappbase property. getdownappdir is added by getdown.txt + args.add("-Dgetdowninstanceappbase=" + getAppbase().toString()); + // add the marker indicating the app is running in getdown args.add("-D" + Properties.GETDOWN + "=true"); args.add("-Dsys.install4jVersion=" + Application.i4jVersion); @@ -1181,6 +1184,17 @@ public class Application continue; } } + + // use saved preferences if no cmdline args + LaunchUtils.loadChannelProps(getAppDir()); + if (LaunchUtils.getBooleanUserPreference(MemorySetting.CUSTOMISED_SETTINGS)) { + if (jvmmempc == null) { + jvmmempc = LaunchUtils.getUserPreference(MemorySetting.MEMORY_JVMMEMPC); + } + if (jvmmemmax == null) { + jvmmemmax = LaunchUtils.getUserPreference(MemorySetting.MEMORY_JVMMEMMAX); + } + } // add the memory setting from jvmmempc and jvmmemmax long maxMemLong = -1; @@ -1237,7 +1251,7 @@ public class Application if (j > -1) { ext = filename.substring(j+1); } - if (ext != null && LOCATOR_FILE_EXTENSION.equals(ext.toLowerCase())) { + if (ext != null && LOCATOR_FILE_EXTENSION.equals(ext.toLowerCase(Locale.ROOT))) { // this file extension should have been dealt with in Getdown class } else { _appargs.add(0, "-open"); @@ -1253,7 +1267,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); } /** @@ -1984,7 +2000,7 @@ public class Application String locatorFilename = filenames.length >= 1 ? filenames[0] : null; if ( !StringUtil.isBlank(locatorFilename) - && locatorFilename.toLowerCase().endsWith("."+Application.LOCATOR_FILE_EXTENSION) + && locatorFilename.toLowerCase(Locale.ROOT).endsWith("."+Application.LOCATOR_FILE_EXTENSION) ) { setLocatorFile(locatorFilename); // remove the locator filename from the filenames array @@ -1998,7 +2014,7 @@ public class Application // skip any other locator files in a multiple file list if (filename.startsWith("jalview://") || filename.startsWith("jalviews://")) { setJalviewUri(filename); - } else if (! filename.toLowerCase().endsWith("."+Application.LOCATOR_FILE_EXTENSION)) { + } else if (! filename.toLowerCase(Locale.ROOT).endsWith("."+Application.LOCATOR_FILE_EXTENSION)) { addStartupFile(filename); } }