X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fjalview%2Fws%2FSequenceFetcher.java;h=a16a66c1cd44a27dc3d0e354716bc0c83830b494;hb=d18e36d8f4a511e82af3564647b3154267b177c6;hp=2b3b1eea372afba9876b4fb5f31a11bef6eae2e9;hpb=ad1f4306281b0894fa42394b9a68da834cf14af6;p=jalview.git diff --git a/src/jalview/ws/SequenceFetcher.java b/src/jalview/ws/SequenceFetcher.java index 2b3b1ee..a16a66c 100644 --- a/src/jalview/ws/SequenceFetcher.java +++ b/src/jalview/ws/SequenceFetcher.java @@ -20,7 +20,8 @@ */ package jalview.ws; -import jalview.bin.Instance; +import jalview.bin.ApplicationSingletonProvider; +import jalview.bin.ApplicationSingletonProvider.ApplicationSingletonI; import jalview.datamodel.DBRefSource; import jalview.ext.ensembl.EnsemblGene; import jalview.ws.dbsources.Uniprot; @@ -39,33 +40,24 @@ import java.util.List; * instantiated by reflection and queried for their DbRefSource and version * association. */ -public class SequenceFetcher extends ASequenceFetcher +public class SequenceFetcher extends ASequenceFetcher implements ApplicationSingletonI { + /* + * set a mock fetcher here for testing only - reset to null afterwards + */ + private static SequenceFetcher mockFetcher; /** * Returns a new SequenceFetcher singleton, or a mock object if one has been - * set. Used by CrossRef and java.gui.SequenceFetcher. + * set. * * @return */ public static SequenceFetcher getInstance() { - Instance j = Instance.getInstance(); - return (j.sequenceFetcher == null - ? j.sequenceFetcher = new SequenceFetcher() - : j.sequenceFetcher); - } - - /** - * - * This public constructor is only is for use by testng to anonymously - * subclass SequenceFetcher. - * - * - */ - public SequenceFetcher() - { - addAllDatabases(); + return mockFetcher != null ? mockFetcher + : (SequenceFetcher) ApplicationSingletonProvider + .getInstance(SequenceFetcher.class); } /** @@ -78,10 +70,17 @@ public class SequenceFetcher extends ASequenceFetcher */ public static void setSequenceFetcher(SequenceFetcher sf) { - Instance.getInstance().sequenceFetcher = sf; + mockFetcher = sf; } - public void addAllDatabases() + /** + * + * This public constructor is only is for use by testng to anonymously + * subclass SequenceFetcher. + * + * + */ + public SequenceFetcher() { addDBRefSourceImpl(EnsemblGene.class); // includes EnsemblGenomes.class addDBRefSourceImpl(Uniprot.class); // includes UniprotName.class