X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbin%2FJalview.java;h=3ffcdd03345cedddd8d039bc624a38f7037b46cb;hb=3d64f036a9efc527f8f45ef43ead4c3bb64ae448;hp=7518fcebd2a4ec524611c29853a79cd8776e38c4;hpb=dfb174e9d22355eb1abef39224f77389431c3350;p=jalview.git diff --git a/src/jalview/bin/Jalview.java b/src/jalview/bin/Jalview.java index 7518fce..3ffcdd0 100755 --- a/src/jalview/bin/Jalview.java +++ b/src/jalview/bin/Jalview.java @@ -73,6 +73,8 @@ import jalview.bin.argparser.Arg.Opt; import jalview.bin.argparser.Arg.Type; import jalview.bin.argparser.ArgParser; import jalview.bin.argparser.BootstrapArgs; +import jalview.bin.groovy.JalviewObject; +import jalview.bin.groovy.JalviewObjectI; import jalview.ext.so.SequenceOntology; import jalview.gui.AlignFrame; import jalview.gui.Desktop; @@ -118,7 +120,7 @@ import jalview.ws.jws2.Jws2Discoverer; * @author $author$ * @version $Revision$ */ -public class Jalview +public class Jalview implements JalviewObjectI { static { @@ -138,7 +140,7 @@ public class Jalview protected Commands cmds; - public static AlignFrame currentAlignFrame; + public AlignFrame currentAlignFrame = null; private ArgParser argparser = null; @@ -447,7 +449,7 @@ public class Jalview } else if (bootstrapArgs.contains(Arg.DEBUG)) { - logLevel = "DEBUG"; + logLevel = bootstrapArgs.getBoolean(Arg.DEBUG) ? "DEBUG" : "INFO"; } if (logLevel == null && !(bootstrapProperties == null)) { @@ -835,36 +837,40 @@ public class Jalview } // Run Commands from cli - cmds = new Commands(argparser, headlessArg); - cmds.processArgs(); - boolean commandsSuccess = cmds.argsWereParsed(); - - if (commandsSuccess) + boolean commandsSuccess = false; + if (!(argparser.isMixedStyle() || argparser.isOldStyle())) { - if (headlessArg) + cmds = new Commands(argparser, headlessArg); + cmds.processArgs(); + commandsSuccess = cmds.argsWereParsed(); + + if (commandsSuccess) { - if (argparser.getBoolean(Arg.NOQUIT)) - { - Console.warn( - "Completed " + Arg.HEADLESS.getName() + " commands, but " - + Arg.NOQUIT + " is set so not quitting!"); - } - else + if (headlessArg) { - Jalview.exit("Successfully completed commands in headless mode", - ExitCode.OK); + if (argparser.getBoolean(Arg.NOQUIT)) + { + Console.warn("Completed " + Arg.HEADLESS.getName() + + " commands, but " + Arg.NOQUIT + + " is set so not quitting!"); + } + else + { + Jalview.exit("Successfully completed commands in headless mode", + ExitCode.OK); + } } + Console.info("Successfully completed commands"); } - Console.info("Successfully completed commands"); - } - else - { - if (headlessArg) + else { - Jalview.exit("Error when running Commands in headless mode", - ExitCode.ERROR_RUNNING_COMMANDS); + if (headlessArg) + { + Jalview.exit("Error when running Commands in headless mode", + ExitCode.ERROR_RUNNING_COMMANDS); + } + Console.warn("Error when running commands"); } - Console.warn("Error when running commands"); } // Check if JVM and compile version might cause problems and log if it @@ -1749,12 +1755,11 @@ public class Jalview } try { + JalviewObjectI j = new JalviewObject(this); Map vbinding = new HashMap<>(); - vbinding.put("Jalview", this); - if (af != null) - { - vbinding.put("currentAlFrame", af); - } + vbinding.put(JalviewObjectI.jalviewObjectName, j); + vbinding.put(JalviewObjectI.currentAlFrameName, + af != null ? af : getCurrentAlignFrame()); Binding gbinding = new Binding(vbinding); GroovyScriptEngine gse = new GroovyScriptEngine(new URL[] { sfile }); gse.run(sfile.toString(), gbinding); @@ -1770,7 +1775,6 @@ public class Jalview .errPrintln("Exception Whilst trying to execute file " + sfile + " as a groovy script."); e.printStackTrace(System.err); - } } @@ -1784,30 +1788,32 @@ public class Jalview return false; } + @Override public AlignFrame[] getAlignFrames() { return desktop == null ? new AlignFrame[] { getCurrentAlignFrame() } - : Desktop.getAlignFrames(); - + : Desktop.getDesktopAlignFrames(); } /** * jalview.bin.Jalview.quit() will just run the non-GUI shutdownHook and exit */ + @Override public void quit() { // System.exit will run the shutdownHook first Jalview.exit("Quitting now. Bye!", ExitCode.OK); } - public static AlignFrame getCurrentAlignFrame() + @Override + public AlignFrame getCurrentAlignFrame() { - return Jalview.currentAlignFrame; + return currentAlignFrame; } - public static void setCurrentAlignFrame(AlignFrame currentAlignFrame) + public void setCurrentAlignFrame(AlignFrame af) { - Jalview.currentAlignFrame = currentAlignFrame; + this.currentAlignFrame = af; } public Commands getCommands() @@ -1859,7 +1865,7 @@ public class Jalview // only add new ones to the end of the list (to preserve ordinal values) OK, FILE_NOT_FOUND, FILE_NOT_READABLE, NO_FILES, INVALID_FORMAT, INVALID_ARGUMENT, INVALID_VALUE, MIXED_CLI_ARGUMENTS, - ERROR_RUNNING_COMMANDS, NO_LOGGING; + ERROR_RUNNING_COMMANDS, NO_LOGGING, GROOVY_ERROR; } /******************************