X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbin%2FJalview.java;h=b29d9d72cc2d70e92729b7d3e6c0835fe7db6c32;hb=65ed1da9a1710a9ce132c7edfce54955dc1ddf99;hp=159cf7593db0616b3a54f231765fe586d8f90b3e;hpb=4fd4608b88401dbb1a86a29f8d607c7481145e27;p=jalview.git diff --git a/src/jalview/bin/Jalview.java b/src/jalview/bin/Jalview.java index 159cf75..b29d9d7 100755 --- a/src/jalview/bin/Jalview.java +++ b/src/jalview/bin/Jalview.java @@ -343,6 +343,25 @@ public class Jalview } } + // set individual session preferences + if (bootstrapArgs.contains(Arg.P)) + { + for (String kev : bootstrapArgs.getValueList(Arg.P)) + { + if (kev == null) + { + continue; + } + int equalsIndex = kev.indexOf(ArgParser.EQUALS); + if (equalsIndex > -1) + { + String key = kev.substring(0, equalsIndex); + String val = kev.substring(equalsIndex + 1); + Cache.setSessionProperty(key, val); + } + } + } + // Move any new getdown-launcher-new.jar into place over old // getdown-launcher.jar String appdirString = System.getProperty("getdownappdir"); @@ -396,7 +415,7 @@ public class Jalview // get bootstrap properties (mainly for the logger level) Properties bootstrapProperties = Cache - .bootstrapProperties(bootstrapArgs.get(Arg.PROPS)); + .bootstrapProperties(bootstrapArgs.getValue(Arg.PROPS)); // report Jalview version Cache.loadBuildProperties( @@ -451,11 +470,14 @@ public class Jalview .getDefault("DEFAULT_CLOSE_EXTERNAL_VIEWERS", false) || Cache.getDefault("ALWAYS_CLOSE_EXTERNAL_VIEWERS", false); StructureViewerBase.setQuitClose(closeExternal); - for (JInternalFrame frame : Desktop.desktop.getAllFrames()) + if (desktop != null) { - if (frame instanceof StructureViewerBase) + for (JInternalFrame frame : Desktop.desktop.getAllFrames()) { - ((StructureViewerBase) frame).closeViewer(closeExternal); + if (frame instanceof StructureViewerBase) + { + ((StructureViewerBase) frame).closeViewer(closeExternal); + } } } @@ -479,7 +501,7 @@ public class Jalview }); String usrPropsFile = bootstrapArgs.contains(Arg.PROPS) - ? bootstrapArgs.get(Arg.PROPS) + ? bootstrapArgs.getValue(Arg.PROPS) : aparser.getValue("props"); // if usrPropsFile == null, loadProperties will use the Channel // preferences.file @@ -533,7 +555,7 @@ public class Jalview } // new CLI - headlessArg = isHeadless(bootstrapArgs); + headlessArg = bootstrapArgs.isHeadless(); if (headlessArg) { System.setProperty("java.awt.headless", "true"); @@ -550,7 +572,7 @@ public class Jalview // allow https handshakes to download intermediate certs if necessary System.setProperty("com.sun.security.enableAIAcaIssuers", "true"); - String jabawsUrl = bootstrapArgs.get(Arg.JABAWS); + String jabawsUrl = bootstrapArgs.getValue(Arg.JABAWS); if (jabawsUrl == null) jabawsUrl = aparser.getValue("jabaws"); if (jabawsUrl != null) @@ -642,7 +664,7 @@ public class Jalview if (!(headless || headlessArg)) { - Desktop.nosplash = "false".equals(bootstrapArgs.get(Arg.SPLASH)) + Desktop.nosplash = "false".equals(bootstrapArgs.getValue(Arg.SPLASH)) || aparser.contains("nosplash") || Cache.getDefault("SPLASH", "true").equals("false"); desktop = new Desktop(); @@ -717,18 +739,18 @@ public class Jalview testoutput(argparser, Arg.WEBSERVICEDISCOVERY); } - boolean usagestats = bootstrapArgs.getBoolean(Arg.USAGESTATS); + boolean usagestats = !bootstrapArgs.getBoolean(Arg.NOUSAGESTATS); if (aparser.contains("nousagestats")) usagestats = false; if (usagestats) { startUsageStats(desktop); - testoutput(argparser, Arg.USAGESTATS); + testoutput(argparser, Arg.NOUSAGESTATS); } else { System.out.println("CMD [-nousagestats] executed successfully!"); - testoutput(argparser, Arg.USAGESTATS); + testoutput(argparser, Arg.NOUSAGESTATS); } boolean questionnaire = bootstrapArgs.getBoolean(Arg.QUESTIONNAIRE); @@ -771,8 +793,8 @@ public class Jalview if ((!aparser.contains("nonews") && Cache.getProperty("NONEWS") == null - && !"false".equals(bootstrapArgs.get(Arg.NEWS))) - || "true".equals(bootstrapArgs.get(Arg.NEWS))) + && !"false".equals(bootstrapArgs.getValue(Arg.NEWS))) + || "true".equals(bootstrapArgs.getValue(Arg.NEWS))) { desktop.checkForNews(); } @@ -1111,7 +1133,8 @@ public class Jalview if (!Platform.isJS() && !headless && file == null && Cache.getDefault("SHOW_STARTUP_FILE", true) - && !cmds.commandArgsProvided()) + && !cmds.commandArgsProvided() + && !bootstrapArgs.getBoolean(Arg.NOSTARTUPFILE)) // don't open the startup file if command line args have been processed // (&& !Commands.commandArgsProvided()) /** @@ -1837,7 +1860,7 @@ public class Jalview } /* - * testoutput for boolean values + * testoutput for boolean and unary values */ protected static void testoutput(ArgParser ap, Arg a) { @@ -1880,29 +1903,15 @@ public class Jalview private static void testoutput(boolean yes, Arg a) { - System.out.println("[TESTOUTPUT] arg " - + (yes ? a.argString() : a.negateArgString()) + " was set"); - } - - private static boolean isHeadless(BootstrapArgs bootstrapArgs) - { - if (bootstrapArgs == null) - { - return false; - } - boolean isHeadless = false; - if (bootstrapArgs.contains(Arg.GUI)) - { - isHeadless = !bootstrapArgs.getBoolean(Arg.GUI); - } - else if (bootstrapArgs.contains(Arg.HEADLESS)) + String message = null; + if (a.hasOption(Opt.BOOLEAN)) { - isHeadless = bootstrapArgs.getBoolean(Arg.HEADLESS); + message = (yes ? a.argString() : a.negateArgString()) + " was set"; } - else if (bootstrapArgs.argsHaveOption(Opt.OUTPUTFILE)) + else if (a.hasOption(Opt.UNARY)) { - isHeadless = true; + message = a.argString() + (yes ? " was set" : " was not set"); } - return isHeadless; + System.out.println("[TESTOUTPUT] arg " + message); } }