New instructions for making groups file
[jalview.git] / src / jalview / bin / Jalview.java
index 882818c..1a67c05 100755 (executable)
@@ -20,8 +20,6 @@ package jalview.bin;
 \r
 import jalview.gui.*;\r
 \r
-import org.apache.log4j.*;\r
-\r
 import javax.swing.*;\r
 \r
 import java.util.Vector;\r
@@ -37,33 +35,6 @@ import java.util.Vector;
  */\r
 public class Jalview\r
 {\r
-    /**\r
-     * Initialises the Apache Axis logger\r
-     */\r
-    private static void initLogger()\r
-    {\r
-        Logger laxis = Logger.getLogger("org.apache.axis");\r
-        Logger lcastor = Logger.getLogger("org.exolab.castor");\r
-\r
-        if (Cache.getProperty("logs.Axis.Level") == null)\r
-        {\r
-            Cache.setProperty("logs.Axis.Level", Level.INFO.toString());\r
-        }\r
-\r
-        if (Cache.getProperty("logs.Castor.Level") == null)\r
-        {\r
-            Cache.setProperty("logs.Castor.Level", Level.INFO.toString());\r
-        }\r
-\r
-        laxis.setLevel(Level.toLevel(Cache.getProperty("logs.Axis.Level")));\r
-        lcastor.setLevel(Level.toLevel(Cache.getProperty("logs.Castor.Level")));\r
-\r
-        ConsoleAppender ap = new ConsoleAppender(new SimpleLayout(),\r
-                "System.err");\r
-        ap.setName("JalviewLogger");\r
-        laxis.addAppender(ap);\r
-        lcastor.addAppender(ap);\r
-    }\r
 \r
     /**\r
      * main class for Jalview application\r
@@ -72,6 +43,12 @@ public class Jalview
      */\r
     public static void main(String[] args)\r
     {\r
+      System.out.println("Java version: "+System.getProperty("java.version"));\r
+      System.out.println(System.getProperty("os.arch")+" "\r
+                         +System.getProperty("os.name")+" "\r
+                         +System.getProperty("os.version"));\r
+\r
+\r
       ArgsParser aparser = new ArgsParser(args);\r
       boolean headless = false;\r
 \r
@@ -80,8 +57,11 @@ public class Jalview
         System.out.println("Usage: jalview -open [FILE] [OUTPUT_FORMAT] [OUTPUT_FILE]\n\n"\r
                            +"-nodisplay\tRun Jalview without User Interface.\n"\r
                            +"-props FILE\tUse the given Jalview properties file instead of users default.\n"\r
-                           +"-groups FILE\tUse the given file to mark groups on the alignment. \nGroups file is in the following tab delimited format\n"\r
-                           +"TEXT<tab>SEQUENCE_ID<tab>SEQUENCE_INDEX<tab>START_RESIDUE<tab>END_RESIDUE<tab>COLOUR\n"\r
+                           +"-groups FILE\tUse the given file to mark groups on the alignment."\r
+                           +"\nThe first lines of the groups file lists the GroupName and GroupColours"\r
+                           +" to be used in the alignment. Use the GROUPNAME label for each of your sequences. "\r
+                           +"\nGROUPNAME<tab>GROUPCOLOUR\n"\r
+                           +"TEXT<tab>SEQUENCE_ID<tab>SEQUENCE_INDEX<tab>START_RESIDUE<tab>END_RESIDUE<tab>GROUPNAME\n"\r
                            +"SequenceID is used in preference to SequenceIndex if both are provided.\n"\r
                            +"Enter ID_NOT_SPECIFIED for SEQUENCE_ID or -1 for SEQUENCE_INDEX if unknown.\n"\r
                            +"COLOUR can be hexadecimal RGB or 'red', 'blue' etc.\n\n"\r
@@ -101,25 +81,29 @@ public class Jalview
 \r
 \r
           if (aparser.contains("nodisplay"))\r
+          {\r
             System.setProperty("java.awt.headless", "true");\r
-\r
+          }\r
           if (System.getProperty("java.awt.headless") != null\r
               && System.getProperty("java.awt.headless").equals("true"))\r
           {\r
             headless = true;\r
           }\r
 \r
-        Cache.loadProperties(aparser.getValue("props"));\r
-\r
-        try\r
-        {\r
-          initLogger();\r
-        }\r
-        catch (Exception e)\r
-        {\r
-          System.err.println("Problems initializing the log4j system\n");\r
-        }\r
+          try\r
+          {\r
+            Cache.initLogger();\r
+          }\r
+          catch (java.lang.NoClassDefFoundError error)\r
+          {\r
+            error.printStackTrace();\r
+            System.out.println(\r
+                "\nEssential logging libraries not found."\r
+                +"\nUse: java -Djava.ext.dirs=$PATH_TO_LIB$ jalview.bin.Jalview");\r
+            System.exit(0);\r
+          }\r
 \r
+        Cache.loadProperties(aparser.getValue("props"));\r
 \r
         Desktop desktop = null;\r
         if( !headless )\r
@@ -127,7 +111,13 @@ public class Jalview
           try\r
           {\r
             UIManager.setLookAndFeel(\r
-                UIManager.getSystemLookAndFeelClassName()\r
+                   UIManager.getSystemLookAndFeelClassName()\r
+            //        UIManager.getCrossPlatformLookAndFeelClassName()\r
+//"com.sun.java.swing.plaf.gtk.GTKLookAndFeel"\r
+//"javax.swing.plaf.metal.MetalLookAndFeel"\r
+//"com.sun.java.swing.plaf.windows.WindowsLookAndFeel"\r
+//"com.sun.java.swing.plaf.motif.MotifLookAndFeel"\r
+\r
                 );\r
           }\r
           catch (Exception ex)\r
@@ -136,6 +126,7 @@ public class Jalview
 \r
           desktop = new Desktop();\r
           desktop.setVisible(true);\r
+          desktop.discoverer.start();\r
         }\r
 \r
 \r
@@ -158,7 +149,8 @@ public class Jalview
               if (! (new java.io.File(file)).exists())\r
               {\r
                 System.out.println("Can't find " + file);\r
-                System.exit(1);\r
+                if(headless)\r
+                  System.exit(1);\r
               }\r
             }\r
 \r
@@ -229,11 +221,11 @@ public class Jalview
         //////////////////////\r
           if (\r
               !headless &&\r
-              jalview.bin.Cache.getProperty("SHOW_STARTUP_FILE").equals("true") &&\r
-              jalview.bin.Cache.getProperty("STARTUP_FILE") != null)\r
+              jalview.bin.Cache.getDefault("SHOW_STARTUP_FILE", true))\r
           {\r
 \r
-            file = jalview.bin.Cache.getProperty("STARTUP_FILE");\r
+            file = jalview.bin.Cache.getDefault("STARTUP_FILE",\r
+                                                "http://www.jalview.org/examples/exampleFile.jar");\r
             protocol = "File";\r
 \r
             if (file.indexOf("http:") > -1)\r
@@ -251,10 +243,6 @@ public class Jalview
               desktop.LoadFile(file, protocol, format);\r
             }\r
           }\r
-\r
-\r
-          if (desktop==null)\r
-            System.exit(0);\r
     }\r
 }\r
 \r