JAL-3253 FileFormats static removal
[jalview.git] / src / jalview / httpserver / HttpServer.java
index a18d38d..8797f33 100644 (file)
@@ -20,6 +20,7 @@
  */
 package jalview.httpserver;
 
+import jalview.bin.Instance;
 import jalview.rest.RestHandler;
 
 import java.net.BindException;
@@ -51,36 +52,6 @@ import org.eclipse.jetty.util.thread.QueuedThreadPool;
  */
 public class HttpServer
 {
-  /*
-   * 'context root' - actually just prefixed to the path for each handler for
-   * now - see registerHandler
-   */
-  private static final String JALVIEW_PATH = "jalview";
-
-  /*
-   * Singleton instance of this server
-   */
-  private static HttpServer instance;
-
-  /*
-   * The Http server
-   */
-  private Server server;
-
-  /*
-   * Registered handlers for context paths
-   */
-  private HandlerCollection contextHandlers;
-
-  /*
-   * Lookup of ContextHandler by its wrapped handler
-   */
-  Map<Handler, ContextHandler> myHandlers = new HashMap<Handler, ContextHandler>();
-
-  /*
-   * The context root for the server
-   */
-  private URI contextRoot;
 
   /**
    * Returns the singleton instance of this class.
@@ -92,22 +63,22 @@ public class HttpServer
   {
     synchronized (HttpServer.class)
     {
-      if (instance == null)
-      {
-        instance = new HttpServer();
-      }
-      return instance;
+      Instance j = Instance.getInstance();
+      return (j.httpServer == null ? j.httpServer = new HttpServer()
+              : j.httpServer);
     }
   }
 
   /**
-   * Private constructor to enforce use of singleton
+   * Private constructor to enforce use of singleton; use getInstance().
    * 
    * @throws BindException
    *           if no free port can be assigned
    */
   private HttpServer() throws BindException
   {
+    // use getInstance()
+
     startServer();
 
     /*
@@ -116,6 +87,32 @@ public class HttpServer
     registerHandler(RestHandler.getInstance());
   }
 
+  /*
+   * 'context root' - actually just prefixed to the path for each handler for
+   * now - see registerHandler
+   */
+  private static final String JALVIEW_PATH = "jalview";
+
+  /*
+   * The Http server
+   */
+  private Server server;
+
+  /*
+   * Registered handlers for context paths
+   */
+  private HandlerCollection contextHandlers;
+
+  /*
+   * Lookup of ContextHandler by its wrapped handler
+   */
+  Map<Handler, ContextHandler> myHandlers = new HashMap<>();
+
+  /*
+   * The context root for the server
+   */
+  private URI contextRoot;
+
   /**
    * Start the http server
    *