JAL-3210 Improvements to eclipse detection. New src tree and SwingJS updated from...
[jalview.git] / src / jalview / fts / service / uniprot / UniProtFTSRestClient.java
index e6620f8..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,32 @@ 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 {
-         Cache.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)
           throws Exception
@@ -103,6 +114,11 @@ public class UniProtFTSRestClient extends FTSRestClient
         clientResponseClass = (Class<ClientResponse>) (Object) jalview.javascript.web.ClientResponse.class;
       }
       else
+      /**
+       * Java only
+       * 
+       * @j2sIgnore
+       */
       {
         // Java only
         client = Client.create(new DefaultClientConfig());
@@ -208,38 +224,39 @@ public class UniProtFTSRestClient extends FTSRestClient
     return searchResult;
   }
 
-  /**
-   * Takes a collection of FTSDataColumnI and converts its 'code' values into a
-   * tab delimited string.
-   * 
-   * @param dataColumnFields
-   *          the collection of FTSDataColumnI to process
-   * @return the generated comma delimited string from the supplied
-   *         FTSDataColumnI collection
-   */
-  private String getDataColumnsFieldsAsTabDelimitedString(
-          Collection<FTSDataColumnI> dataColumnFields)
-  {
-    String result = "";
-    if (dataColumnFields != null && !dataColumnFields.isEmpty())
-    {
-      StringBuilder returnedFields = new StringBuilder();
-      for (FTSDataColumnI field : dataColumnFields)
-      {
-        if (field.getName().equalsIgnoreCase("Uniprot Id"))
-        {
-          returnedFields.append("\t").append("Entry");
-        }
-        else
-        {
-          returnedFields.append("\t").append(field.getName());
-        }
-      }
-      returnedFields.deleteCharAt(0);
-      result = returnedFields.toString();
-    }
-    return result;
-  }
+  // /**
+  // * Takes a collection of FTSDataColumnI and converts its 'code' values into
+  // a
+  // * tab delimited string.
+  // *
+  // * @param dataColumnFields
+  // * the collection of FTSDataColumnI to process
+  // * @return the generated comma delimited string from the supplied
+  // * FTSDataColumnI collection
+  // */
+  // private String getDataColumnsFieldsAsTabDelimitedString(
+  // Collection<FTSDataColumnI> dataColumnFields)
+  // {
+  // String result = "";
+  // if (dataColumnFields != null && !dataColumnFields.isEmpty())
+  // {
+  // StringBuilder returnedFields = new StringBuilder();
+  // for (FTSDataColumnI field : dataColumnFields)
+  // {
+  // if (field.getName().equalsIgnoreCase("Uniprot Id"))
+  // {
+  // returnedFields.append("\t").append("Entry");
+  // }
+  // else
+  // {
+  // returnedFields.append("\t").append(field.getName());
+  // }
+  // }
+  // returnedFields.deleteCharAt(0);
+  // result = returnedFields.toString();
+  // }
+  // return result;
+  // }
 
   public static FTSData getFTSData(String tabDelimittedDataStr,
           FTSRestRequest request)
@@ -339,15 +356,6 @@ public class UniProtFTSRestClient extends FTSRestClient
     };
   }
 
-  public static FTSRestClientI getInstance()
-  {
-    if (instance == null)
-    {
-      instance = new UniProtFTSRestClient();
-    }
-    return instance;
-  }
-
   @Override
   public String getColumnDataConfigFileName()
   {