JAL-3253 preliminary static fixes for JavaScript part 2
[jalview.git] / src / jalview / fts / service / uniprot / UniProtFTSRestClient.java
index 3f0b8a4..715b842 100644 (file)
@@ -54,6 +54,41 @@ public class UniProtFTSRestClient extends FTSRestClient
 
   private static FTSRestClientI instance = null;
 
+  public static FTSRestClientI getInstance()
+  {
+
+    // BH 2019.05.08 need to isolate static fields in JavaScript
+
+    FTSRestClientI i = instance;
+    @SuppressWarnings("unused")
+    ThreadGroup g = null;
+    if (Platform.isJS())
+    {
+      g = Thread.currentThread().getThreadGroup();
+      /**
+       * @j2sNative i = g._jalviewUniProtFTSRestClientInstance;
+       * 
+       */
+    }
+    if (i == null)
+    {
+      i = new UniProtFTSRestClient();
+
+      if (Platform.isJS())
+      {
+        /**
+         * @j2sNative g._jalviewUniProtFTSRestClientInstance = i;
+         * 
+         */
+      }
+      else
+      {
+        instance = i;
+      }
+    }
+    return i;
+  }
+
   public final String uniprotSearchEndpoint;
 
   public UniProtFTSRestClient()
@@ -347,15 +382,6 @@ public class UniProtFTSRestClient extends FTSRestClient
     };
   }
 
-  public static FTSRestClientI getInstance()
-  {
-    if (instance == null)
-    {
-      instance = new UniProtFTSRestClient();
-    }
-    return instance;
-  }
-
   @Override
   public String getColumnDataConfigFileName()
   {