JAL-3210 Improvements to eclipse detection. New src tree and SwingJS updated from...
[jalview.git] / src / jalview / fts / service / uniprot / UniProtFTSRestClient.java
index ae8f6e5..094052b 100644 (file)
@@ -21,6 +21,8 @@
 
 package jalview.fts.service.uniprot;
 
+import jalview.bin.ApplicationSingletonProvider;
+import jalview.bin.ApplicationSingletonProvider.ApplicationSingletonI;
 import jalview.bin.Cache;
 import jalview.fts.api.FTSData;
 import jalview.fts.api.FTSDataColumnI;
@@ -28,6 +30,7 @@ import jalview.fts.api.FTSRestClientI;
 import jalview.fts.core.FTSRestClient;
 import jalview.fts.core.FTSRestRequest;
 import jalview.fts.core.FTSRestResponse;
+import jalview.gui.Preferences;
 import jalview.util.MessageManager;
 import jalview.util.Platform;
 
@@ -44,24 +47,31 @@ import com.sun.jersey.api.client.WebResource;
 import com.sun.jersey.api.client.config.DefaultClientConfig;
 
 public class UniProtFTSRestClient extends FTSRestClient
+        implements ApplicationSingletonI
 {
-  private static final String DEFAULT_UNIPROT_DOMAIN = "https://www.uniprot.org";
 
-  static {
-    Platform.addJ2SDirectDatabaseCall(DEFAULT_UNIPROT_DOMAIN);
+  public static FTSRestClientI getInstance()
+  {
+    return (FTSRestClientI) ApplicationSingletonProvider
+            .getInstance(UniProtFTSRestClient.class);
   }
-  
-  private static FTSRestClientI instance = null;
-
-  public final String uniprotSearchEndpoint;
 
-  public UniProtFTSRestClient()
+  private UniProtFTSRestClient()
   {
-    super();
-    uniprotSearchEndpoint = Cache.getDefault("UNIPROT_DOMAIN",
+    // singleton -- use getInstance()
+
+    uniprotSearchEndpoint = Cache.getDefault(Preferences.UNIPROT_DOMAIN,
             DEFAULT_UNIPROT_DOMAIN) + "/uniprot/";    
   }
 
+  private static final String DEFAULT_UNIPROT_DOMAIN = "https://www.uniprot.org";
+
+  public final String uniprotSearchEndpoint;
+
+  static
+  {
+    Platform.addJ2SDirectDatabaseCall(DEFAULT_UNIPROT_DOMAIN);
+  }
   @SuppressWarnings("unchecked")
   @Override
   public FTSRestResponse executeRequest(FTSRestRequest uniprotRestRequest)
@@ -346,15 +356,6 @@ public class UniProtFTSRestClient extends FTSRestClient
     };
   }
 
-  public static FTSRestClientI getInstance()
-  {
-    if (instance == null)
-    {
-      instance = new UniProtFTSRestClient();
-    }
-    return instance;
-  }
-
   @Override
   public String getColumnDataConfigFileName()
   {