JAL-3253-applet feature parameter processing fixed
[jalview.git] / src / jalview / ws / SequenceFetcher.java
index 7ac1179..10a2b28 100644 (file)
@@ -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,8 +40,12 @@ 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
@@ -50,10 +55,9 @@ public class SequenceFetcher extends ASequenceFetcher
    */
   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);
   }
 
   /**
@@ -66,7 +70,7 @@ public class SequenceFetcher extends ASequenceFetcher
    */
   public static void setSequenceFetcher(SequenceFetcher sf)
   {
-    Instance.getInstance().sequenceFetcher = sf;
+    mockFetcher = sf;
   }
 
   /**