X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2FSequenceFetcher.java;h=10a2b282ddaefeefa447880c2f494ede691cf325;hb=6f2c3b8cb30d8ccf7ff9ab949a7b244f0c415bc1;hp=2b3b1eea372afba9876b4fb5f31a11bef6eae2e9;hpb=ad1f4306281b0894fa42394b9a68da834cf14af6;p=jalview.git diff --git a/src/jalview/ws/SequenceFetcher.java b/src/jalview/ws/SequenceFetcher.java index 2b3b1ee..10a2b28 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,46 +40,49 @@ 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); + return mockFetcher != null ? mockFetcher + : (SequenceFetcher) ApplicationSingletonProvider + .getInstance(SequenceFetcher.class); } /** + * Set the instance object to use (intended for unit testing with mock + * objects). * - * This public constructor is only is for use by testng to anonymously - * subclass SequenceFetcher. - * + * Be sure to reset to null in the tearDown method of any tests! * + * @param sf */ - public SequenceFetcher() + public static void setSequenceFetcher(SequenceFetcher sf) { - addAllDatabases(); + mockFetcher = sf; } /** - * Set the instance object to use (intended for unit testing with mock - * objects). * - * Be sure to reset to null in the tearDown method of any tests! + * This public constructor is only is for use by testng to anonymously + * subclass SequenceFetcher. + * * - * @param sf */ - public static void setSequenceFetcher(SequenceFetcher sf) + public SequenceFetcher() { - Instance.getInstance().sequenceFetcher = sf; + addAllDatabases(); } public void addAllDatabases()