package jalview.fts.service.uniprot;
+import jalview.bin.ApplicationSingletonProvider;
+import jalview.bin.ApplicationSingletonProvider.ApplicationSingletonI;
import jalview.bin.Cache;
-import jalview.bin.Instance;
import jalview.fts.api.FTSData;
import jalview.fts.api.FTSDataColumnI;
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;
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
+ public static FTSRestClientI getInstance()
{
- Platform.addJ2SDirectDatabaseCall(DEFAULT_UNIPROT_DOMAIN);
+ return (FTSRestClientI) ApplicationSingletonProvider
+ .getInstance(UniProtFTSRestClient.class);
}
- public static FTSRestClientI getInstance()
+ private UniProtFTSRestClient()
{
- Instance j = Instance.getInstance();
- return (j.uniprotFTSRestClient == null ? j.uniprotFTSRestClient = new UniProtFTSRestClient()
- : j.uniprotFTSRestClient);
+ // 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;
- private UniProtFTSRestClient()
+ static
{
- uniprotSearchEndpoint = Cache.getDefault("UNIPROT_DOMAIN",
- DEFAULT_UNIPROT_DOMAIN) + "/uniprot/";
+ Platform.addJ2SDirectDatabaseCall(DEFAULT_UNIPROT_DOMAIN);
}
-
@SuppressWarnings("unchecked")
@Override
public FTSRestResponse executeRequest(FTSRestRequest uniprotRestRequest)