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;
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 {
- 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)
};
}
- public static FTSRestClientI getInstance()
- {
- if (instance == null)
- {
- instance = new UniProtFTSRestClient();
- }
- return instance;
- }
-
@Override
public String getColumnDataConfigFileName()
{