X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbin%2FJalview.java;h=0b1cf6039385cd125076aae18cd83143fbbfa3fd;hb=4865a4110b7725acefd5b166f9b7c482ac01ce15;hp=966e9523fa32e899711423c761935fa3c15a8127;hpb=a09d6f5c16b0e222806e035cd38bfb4c4eb92c75;p=jalview.git diff --git a/src/jalview/bin/Jalview.java b/src/jalview/bin/Jalview.java index 966e952..0b1cf60 100755 --- a/src/jalview/bin/Jalview.java +++ b/src/jalview/bin/Jalview.java @@ -20,9 +20,6 @@ */ package jalview.bin; -import groovy.lang.Binding; -import groovy.util.GroovyScriptEngine; - import jalview.ext.so.SequenceOntology; import jalview.gui.AlignFrame; import jalview.gui.Desktop; @@ -64,12 +61,17 @@ import java.util.HashMap; import java.util.Map; import java.util.Vector; +import javax.swing.LookAndFeel; import javax.swing.UIManager; +import groovy.lang.Binding; +import groovy.util.GroovyScriptEngine; + /** * Main class for Jalview Application
*
- * start with java -Djava.ext.dirs=$PATH_TO_LIB$ jalview.bin.Jalview + * start with java -classpath "$PATH_TO_LIB$/*:$PATH_TO_CLASSES$" + * jalview.bin.Jalview * * @author $author$ * @version $Revision$ @@ -188,8 +190,8 @@ public class Jalview void doMain(String[] args) { System.setSecurityManager(null); - System.out.println("Java version: " - + System.getProperty("java.version")); + System.out + .println("Java version: " + System.getProperty("java.version")); System.out.println(System.getProperty("os.arch") + " " + System.getProperty("os.name") + " " + System.getProperty("os.version")); @@ -212,8 +214,8 @@ public class Jalview Cache.loadProperties(usrPropsFile); // must do this before if (usrPropsFile != null) { - System.out.println("CMD [-props " + usrPropsFile - + "] executed successfully!"); + System.out.println( + "CMD [-props " + usrPropsFile + "] executed successfully!"); } // anything else! @@ -224,12 +226,12 @@ public class Jalview try { Jws2Discoverer.getDiscoverer().setPreferredUrl(jabawsUrl); - System.out.println("CMD [-jabaws " + jabawsUrl - + "] executed successfully!"); + System.out.println( + "CMD [-jabaws " + jabawsUrl + "] executed successfully!"); } catch (MalformedURLException e) { - System.err.println("Invalid jabaws parameter: " + jabawsUrl - + " ignored"); + System.err.println( + "Invalid jabaws parameter: " + jabawsUrl + " ignored"); } } @@ -263,9 +265,8 @@ public class Jalview } catch (NoClassDefFoundError error) { error.printStackTrace(); - System.out - .println("\nEssential logging libraries not found." - + "\nUse: java -Djava.ext.dirs=$PATH_TO_LIB$ jalview.bin.Jalview"); + System.out.println("\nEssential logging libraries not found." + + "\nUse: java -classpath \"$PATH_TO_LIB$/*:$PATH_TO_CLASSES$\" jalview.bin.Jalview"); System.exit(0); } @@ -276,20 +277,43 @@ public class Jalview UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (Exception ex) { + System.err.println("Unexpected Look and Feel Exception"); + ex.printStackTrace(); } if (Platform.isAMac()) { + + LookAndFeel lookAndFeel = ch.randelshofer.quaqua.QuaquaManager + .getLookAndFeel(); System.setProperty("com.apple.mrj.application.apple.menu.about.name", "Jalview"); System.setProperty("apple.laf.useScreenMenuBar", "true"); - try + if (lookAndFeel != null) { - UIManager.setLookAndFeel(ch.randelshofer.quaqua.QuaquaManager - .getLookAndFeel()); - } catch (Throwable e) + try + { + UIManager.setLookAndFeel(lookAndFeel); + } catch (Throwable e) + { + System.err.println( + "Failed to set QuaQua look and feel: " + e.toString()); + } + } + if (lookAndFeel == null || !(lookAndFeel.getClass() + .isAssignableFrom(UIManager.getLookAndFeel().getClass())) + || !UIManager.getLookAndFeel().getClass().toString() + .toLowerCase().contains("quaqua")) { - System.err.println("Failed to set QuaQua look and feel: " - + e.toString()); + try + { + System.err.println( + "Quaqua LaF not available on this plaform. Using VAqua(4).\nSee https://issues.jalview.org/browse/JAL-2976"); + UIManager.setLookAndFeel("org.violetlib.aqua.AquaLookAndFeel"); + } catch (Throwable e) + { + System.err.println( + "Failed to reset look and feel: " + e.toString()); + } } } @@ -326,8 +350,8 @@ public class Jalview // questionnaire Cache.log.debug("Starting questionnaire url at " + url); desktop.checkForQuestionnaire(url); - System.out.println("CMD questionnaire[-" + url - + "] executed successfully!"); + System.out.println( + "CMD questionnaire[-" + url + "] executed successfully!"); } else { @@ -339,8 +363,8 @@ public class Jalview // "http://anaplog.compbio.dundee.ac.uk/cgi-bin/questionnaire.pl"; // // String defurl = "http://www.jalview.org/cgi-bin/questionnaire.pl"; - Cache.log.debug("Starting questionnaire with default url: " - + defurl); + Cache.log.debug( + "Starting questionnaire with default url: " + defurl); desktop.checkForQuestionnaire(defurl); } } @@ -383,8 +407,8 @@ public class Jalview { if (desktop == null || headless) { - System.out - .println("Headless vamsas sessions not yet supported. Sorry."); + System.out.println( + "Headless vamsas sessions not yet supported. Sorry."); System.exit(1); } // if we have a file, start a new session and import it. @@ -434,8 +458,8 @@ public class Jalview { if (desktop.joinVamsasSession(vamsasSession)) { - System.out.println("Successfully joined vamsas session " - + vamsasSession); + System.out.println( + "Successfully joined vamsas session " + vamsasSession); } else { @@ -444,16 +468,16 @@ public class Jalview } } catch (Exception e) { - System.err.println("ERROR: Failed to join vamsas session " - + vamsasSession); + System.err.println( + "ERROR: Failed to join vamsas session " + vamsasSession); e.printStackTrace(); } if (vamsasImport != null) { // the Jalview specific remnants can now be imported into the new // session at the user's leisure. - Cache.log - .info("Skipping Push for import of data into existing vamsas session."); // TODO: + Cache.log.info( + "Skipping Push for import of data into existing vamsas session."); // TODO: // enable // this // when @@ -468,8 +492,9 @@ public class Jalview { if (!headless) { - desktop.setProgressBar(MessageManager - .getString("status.processing_commandline_args"), + desktop.setProgressBar( + MessageManager + .getString("status.processing_commandline_args"), progress = System.currentTimeMillis()); } System.out.println("CMD [-open " + file + "] executed successfully!"); @@ -510,13 +535,13 @@ public class Jalview { data.replaceAll("%20", " "); - ColourSchemeI cs = ColourSchemeProperty.getColourScheme(af - .getViewport().getAlignment(), data); + ColourSchemeI cs = ColourSchemeProperty + .getColourScheme(af.getViewport().getAlignment(), data); if (cs != null) { - System.out.println("CMD [-color " + data - + "] executed successfully!"); + System.out.println( + "CMD [-color " + data + "] executed successfully!"); } af.changeColour(cs); } @@ -528,8 +553,8 @@ public class Jalview af.parseFeaturesFile(data, AppletFormatAdapter.checkProtocol(data)); // System.out.println("Added " + data); - System.out.println("CMD groups[-" + data - + "] executed successfully!"); + System.out.println( + "CMD groups[-" + data + "] executed successfully!"); } data = aparser.getValue("features", true); if (data != null) @@ -537,8 +562,8 @@ public class Jalview af.parseFeaturesFile(data, AppletFormatAdapter.checkProtocol(data)); // System.out.println("Added " + data); - System.out.println("CMD [-features " + data - + "] executed successfully!"); + System.out.println( + "CMD [-features " + data + "] executed successfully!"); } data = aparser.getValue("annotations", true); @@ -546,8 +571,8 @@ public class Jalview { af.loadJalviewDataFile(data, null, null, null); // System.out.println("Added " + data); - System.out.println("CMD [-annotations " + data - + "] executed successfully!"); + System.out.println( + "CMD [-annotations " + data + "] executed successfully!"); } // set or clear the sortbytree flag. if (aparser.contains("sortbytree")) @@ -578,18 +603,14 @@ public class Jalview data = aparser.getValue("tree", true); if (data != null) { - jalview.io.NewickFile fin = null; try { - System.out.println("CMD [-tree " + data - + "] executed successfully!"); - fin = new NewickFile(data, + System.out.println( + "CMD [-tree " + data + "] executed successfully!"); + NewickFile nf = new NewickFile(data, AppletFormatAdapter.checkProtocol(data)); - if (fin != null) - { - af.getViewport().setCurrentTree( - af.ShowNewickTree(fin, data).getTree()); - } + af.getViewport() + .setCurrentTree(af.showNewickTree(nf, data).getTree()); } catch (IOException ex) { System.err.println("Couldn't add tree " + data); @@ -670,16 +691,16 @@ public class Jalview } try { - BioJsHTMLOutput - .refreshVersionInfo(BioJsHTMLOutput.BJS_TEMPLATES_LOCAL_DIRECTORY); + BioJsHTMLOutput.refreshVersionInfo( + BioJsHTMLOutput.BJS_TEMPLATES_LOCAL_DIRECTORY); } catch (URISyntaxException e) { e.printStackTrace(); } BioJsHTMLOutput bjs = new BioJsHTMLOutput(af.alignPanel); bjs.exportHTML(file); - System.out.println("Creating BioJS MSA Viwer HTML file: " - + file); + System.out + .println("Creating BioJS MSA Viwer HTML file: " + file); continue; } else if (outputFormat.equalsIgnoreCase("imgMap")) @@ -691,8 +712,8 @@ public class Jalview else if (outputFormat.equalsIgnoreCase("eps")) { File outputFile = new File(file); - System.out.println("Creating EPS file: " - + outputFile.getAbsolutePath()); + System.out.println( + "Creating EPS file: " + outputFile.getAbsolutePath()); af.createEPS(outputFile); continue; } @@ -724,12 +745,12 @@ public class Jalview if (!headless && file == null && vamsasImport == null && jalview.bin.Cache.getDefault("SHOW_STARTUP_FILE", true)) { - file = jalview.bin.Cache.getDefault( - "STARTUP_FILE", + file = jalview.bin.Cache.getDefault("STARTUP_FILE", jalview.bin.Cache.getDefault("www.jalview.org", "http://www.jalview.org") + "/examples/exampleFile_2_7.jar"); - if (file.equals("http://www.jalview.org/examples/exampleFile_2_3.jar")) + if (file.equals( + "http://www.jalview.org/examples/exampleFile_2_3.jar")) { // hardwire upgrade of the startup file file.replace("_2_3.jar", "_2_7.jar"); @@ -785,8 +806,8 @@ public class Jalview } else { - System.err - .println("Sorry. Groovy Support is not available, so ignoring the provided groovy script " + System.err.println( + "Sorry. Groovy Support is not available, so ignoring the provided groovy script " + groovyscript); } } @@ -803,8 +824,8 @@ public class Jalview private static void showUsage() { - System.out - .println("Usage: jalview -open [FILE] [OUTPUT_FORMAT] [OUTPUT_FILE]\n\n" + System.out.println( + "Usage: jalview -open [FILE] [OUTPUT_FORMAT] [OUTPUT_FILE]\n\n" + "-nodisplay\tRun Jalview without User Interface.\n" + "-props FILE\tUse the given Jalview properties file instead of users default.\n" + "-colour COLOURSCHEME\tThe colourscheme to be applied to the alignment\n" @@ -832,14 +853,18 @@ public class Jalview + "-nousagestats\tTurn off google analytics tracking for this session.\n" + "-sortbytree OR -nosortbytree\tEnable or disable sorting of the given alignment by the given tree\n" // + - // "-setprop PROPERTY=VALUE\tSet the given Jalview property, after all other properties files have been read\n\t (quote the 'PROPERTY=VALUE' pair to ensure spaces are passed in correctly)" + // "-setprop PROPERTY=VALUE\tSet the given Jalview property, + // after all other properties files have been read\n\t + // (quote the 'PROPERTY=VALUE' pair to ensure spaces are + // passed in correctly)" + "-jabaws URL\tSpecify URL for Jabaws services (e.g. for a local installation).\n" + "-dasserver nickname=URL\tAdd and enable a das server with given nickname\n\t\t\t(alphanumeric or underscores only) for retrieval of features for all alignments.\n" + "\t\t\tSources that also support the sequence command may be specified by prepending the URL with sequence:\n" + "\t\t\t e.g. sequence:http://localdas.somewhere.org/das/source)\n" + "-fetchfrom nickname\tQuery nickname for features for the alignments and display them.\n" // + - // "-vdoc vamsas-document\tImport vamsas document into new session or join existing session with same URN\n" + // "-vdoc vamsas-document\tImport vamsas document into new + // session or join existing session with same URN\n" // + "-vses vamsas-session\tJoin session with given URN\n" + "-groovy FILE\tExecute groovy script in FILE, after all other arguments have been processed (if FILE is the text 'STDIN' then the file will be read from STDIN)\n" + "\n~Read documentation in Application or visit http://www.jalview.org for description of Features and Annotations file~\n\n"); @@ -850,10 +875,8 @@ public class Jalview /** * start a User Config prompt asking if we can log usage statistics. */ - PromptUserConfig prompter = new PromptUserConfig( - Desktop.desktop, - "USAGESTATS", - "Jalview Usage Statistics", + PromptUserConfig prompter = new PromptUserConfig(Desktop.desktop, + "USAGESTATS", "Jalview Usage Statistics", "Do you want to help make Jalview better by enabling " + "the collection of usage statistics with Google Analytics ?" + "\n\n(you can enable or disable usage tracking in the preferences)", @@ -862,8 +885,8 @@ public class Jalview @Override public void run() { - Cache.log - .debug("Initialising googletracker for usage stats."); + Cache.log.debug( + "Initialising googletracker for usage stats."); Cache.initGoogleTracker(); Cache.log.debug("Tracking enabled."); } @@ -903,10 +926,10 @@ public class Jalview try { tfile = File.createTempFile("jalview", "groovy"); - PrintWriter outfile = new PrintWriter(new OutputStreamWriter( - new FileOutputStream(tfile))); - BufferedReader br = new BufferedReader(new InputStreamReader( - System.in)); + PrintWriter outfile = new PrintWriter( + new OutputStreamWriter(new FileOutputStream(tfile))); + BufferedReader br = new BufferedReader( + new InputStreamReader(System.in)); String line = null; while ((line = br.readLine()) != null) { @@ -919,8 +942,8 @@ public class Jalview } catch (Exception ex) { System.err.println("Failed to read from STDIN into tempfile " - + ((tfile == null) ? "(tempfile wasn't created)" : tfile - .toString())); + + ((tfile == null) ? "(tempfile wasn't created)" + : tfile.toString())); ex.printStackTrace(); return; } @@ -929,8 +952,8 @@ public class Jalview sfile = tfile.toURI().toURL(); } catch (Exception x) { - System.err - .println("Unexpected Malformed URL Exception for temporary file created from STDIN: " + System.err.println( + "Unexpected Malformed URL Exception for temporary file created from STDIN: " + tfile.toURI()); x.printStackTrace(); return; @@ -972,7 +995,7 @@ public class Jalview } try { - Map vbinding = new HashMap(); + Map vbinding = new HashMap<>(); vbinding.put("Jalview", this); if (af != null) { @@ -1017,9 +1040,8 @@ public class Jalview nickname = data.substring(0, pos); } url = data.substring(pos + 1); - if (url != null - && (url.startsWith("http:") || url - .startsWith("sequence:http:"))) + if (url != null && (url.startsWith("http:") + || url.startsWith("sequence:http:"))) { if (nickname == null) { @@ -1034,17 +1056,17 @@ public class Jalview locsources += "\t"; } locsources = locsources + nickname + "|" + url; - System.err - .println("NOTE! dasserver parameter not yet really supported (got args of " + System.err.println( + "NOTE! dasserver parameter not yet really supported (got args of " + nickname + "|" + url); if (source == null) { - source = new Vector(); + source = new Vector<>(); } source.addElement(nickname); } - System.out.println("CMD [-dasserver " + data - + "] executed successfully!"); + System.out.println( + "CMD [-dasserver " + data + "] executed successfully!"); } // loop until no more server entries are found. if (locsources != null && locsources.indexOf('|') > -1) { @@ -1057,7 +1079,7 @@ public class Jalview System.out.println("adding source '" + data + "'"); if (source == null) { - source = new Vector(); + source = new Vector<>(); } source.addElement(data); }