X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fbin%2FJalview.java;h=1c7e4eaf8dfa8cc4f7a1f773647c8fbacfcdf20e;hb=841485c28403b4a8e00c9bddae9caa9411667b8a;hp=f23ebfa271804077c09f52c9eb34629402684bbe;hpb=fa8140d4e0510b5c91284ad38f296cbf14ba29a5;p=jalview.git
diff --git a/src/jalview/bin/Jalview.java b/src/jalview/bin/Jalview.java
index f23ebfa..1c7e4ea 100755
--- a/src/jalview/bin/Jalview.java
+++ b/src/jalview/bin/Jalview.java
@@ -20,6 +20,7 @@
*/
package jalview.bin;
+import java.awt.GraphicsEnvironment;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
@@ -37,7 +38,6 @@ import java.security.PermissionCollection;
import java.security.Permissions;
import java.security.Policy;
import java.util.HashMap;
-import java.util.Hashtable;
import java.util.Map;
import java.util.Vector;
@@ -49,23 +49,13 @@ import com.threerings.getdown.util.LaunchUtil;
import groovy.lang.Binding;
import groovy.util.GroovyScriptEngine;
import jalview.api.AlignCalcWorkerI;
-import jalview.api.AlignViewportI;
-import jalview.api.JalviewApp;
-import jalview.api.StructureSelectionManagerProvider;
-import jalview.datamodel.ColumnSelection;
-import jalview.datamodel.HiddenColumns;
-import jalview.datamodel.PDBEntry;
-import jalview.datamodel.SequenceGroup;
-import jalview.datamodel.SequenceI;
+import jalview.bin.ApplicationSingletonProvider.ApplicationSingletonI;
import jalview.ext.so.SequenceOntology;
import jalview.gui.AlignFrame;
import jalview.gui.AlignViewport;
-import jalview.gui.AlignmentPanel;
-import jalview.gui.CalculationChooser;
import jalview.gui.Desktop;
import jalview.gui.Preferences;
import jalview.gui.PromptUserConfig;
-import jalview.gui.StructureViewer;
import jalview.io.AppletFormatAdapter;
import jalview.io.BioJsHTMLOutput;
import jalview.io.DataSourceType;
@@ -78,17 +68,11 @@ import jalview.io.HtmlSvgOutput;
import jalview.io.IdentifyFile;
import jalview.io.NewickFile;
import jalview.io.gff.SequenceOntologyFactory;
-import jalview.javascript.JSFunctionExec;
-import jalview.javascript.MouseOverStructureListener;
-import jalview.renderer.seqfeatures.FeatureRenderer;
import jalview.schemes.ColourSchemeI;
import jalview.schemes.ColourSchemeProperty;
-import jalview.structure.SelectionSource;
-import jalview.structure.VamsasSource;
import jalview.util.MessageManager;
import jalview.util.Platform;
import jalview.ws.jws2.Jws2Discoverer;
-import netscape.javascript.JSObject;
/**
* Main class for Jalview Application
@@ -105,30 +89,44 @@ import netscape.javascript.JSObject;
* @author $author$
* @version $Revision$
*/
-public class Jalview implements JalviewJSApi
+public class Jalview implements ApplicationSingletonI
{
- static
+
+ // for testing those nasty messages you cannot ever find.
+ // static
+ // {
+ // System.setOut(new PrintStream(new ByteArrayOutputStream())
+ // {
+ // @Override
+ // public void println(Object o)
+ // {
+ // if (o != null)
+ // {
+ // System.err.println(o);
+ // }
+ // }
+ //
+ // });
+ // }
+ public static Jalview getInstance()
{
- Platform.getURLCommandArguments();
+ return (Jalview) ApplicationSingletonProvider
+ .getInstance(Jalview.class);
}
- private boolean headless;
-
- // singleton instance of this class
+ private Jalview()
+ {
+ }
- private static Jalview instance;
+ private boolean headless;
private Desktop desktop;
- public static AlignFrame currentAlignFrame;
-
- public boolean isJavaAppletTag;
+ public AlignFrame currentAlignFrame;
public String appletResourcePath;
- JalviewAppLoader appLoader;
-
- protected JSFunctionExec jsFunctionExec;
+ public String j2sAppletID;
private boolean noCalculation, noMenuBar, noStatus;
@@ -156,12 +154,9 @@ public class Jalview implements JalviewJSApi
static
{
- if (!Platform.isJS())
- /**
- * Java only
- *
- * @j2sIgnore
- */
+ if (Platform.isJS()) {
+ Platform.getURLCommandArguments();
+ } else /** @j2sIgnore */
{
// grab all the rights we can for the JVM
Policy.setPolicy(new Policy()
@@ -191,8 +186,8 @@ public class Jalview implements JalviewJSApi
class FeatureFetcher
{
/*
- * TODO: generalise to track all jalview events to orchestrate batch processing
- * events.
+ * TODO: generalise to track all jalview events to orchestrate batch
+ * processing events.
*/
private int queued = 0;
@@ -241,12 +236,6 @@ public class Jalview implements JalviewJSApi
}
- public static Jalview getInstance()
- {
- return instance;
- }
-
-
private final static boolean doPlatformLogging = false;
/**
@@ -261,9 +250,7 @@ public class Jalview implements JalviewJSApi
{
Platform.startJavaLogging();
}
-
- instance = new Jalview();
- instance.doMain(args);
+ getInstance().doMain(args);
}
/**
@@ -273,15 +260,16 @@ public class Jalview implements JalviewJSApi
{
boolean isJS = Platform.isJS();
- if (isJS)
- {
- Platform.setAppClass(this);
- }
- else
+ if (!isJS)
{
System.setSecurityManager(null);
}
+ /*
+ * @j2sNative J2S.db._DirectDatabaseCalls["compbio.dundee.ac.uk"]=null;
+ * @j2sNative J2S.db._DirectDatabaseCalls["jalview.org"]=null;
+ *
+ */
System.out
.println("Java version: " + System.getProperty("java.version"));
System.out.println("Java Home: " + System.getProperty("java.home"));
@@ -305,7 +293,7 @@ public class Jalview implements JalviewJSApi
}
// report Jalview version
- Cache.loadBuildProperties(true);
+ Cache.getInstance().loadBuildProperties(true);
ArgsParser aparser = new ArgsParser(args);
headless = false;
@@ -314,18 +302,16 @@ public class Jalview implements JalviewJSApi
Cache.loadProperties(usrPropsFile); // must do this before
+ boolean allowServices = true;
+
if (isJS)
{
- isJavaAppletTag = aparser.isApplet();
- if (isJavaAppletTag)
- {
- Preferences.setAppletDefaults();
- Cache.loadProperties(usrPropsFile); // again, because we
- // might be changing defaults here?
- }
- System.out.println(
- "