X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2Fgff%2FSequenceOntologyFactory.java;h=90cae7abb2b9d0f1cff8bf7dc81e8616a35a0df8;hb=4f77328104498504339216829abf5ea87e2791ec;hp=2ba41da1e6abcc3fb1abeddae85fa56fd948e4e0;hpb=2b8c0785318a3528e1876e8e2dd48b7d831eae69;p=jalview.git diff --git a/src/jalview/io/gff/SequenceOntologyFactory.java b/src/jalview/io/gff/SequenceOntologyFactory.java index 2ba41da..90cae7a 100644 --- a/src/jalview/io/gff/SequenceOntologyFactory.java +++ b/src/jalview/io/gff/SequenceOntologyFactory.java @@ -20,62 +20,29 @@ */ package jalview.io.gff; -import jalview.bin.ApplicationSingletonProvider; -import jalview.bin.ApplicationSingletonProvider.ApplicationSingletonI; - /** * A factory class that returns a model of the Sequence Ontology. By default a - * hard-coded subset is used (for the applet, or testing), or - * setSequenceOntology() can be used to set full Ontology data. + * hard-coded subset is used (for the applet, or testing), or setInstance() can + * be used to set full Ontology data. * * @author gmcarstairs * */ -public class SequenceOntologyFactory implements ApplicationSingletonI +public class SequenceOntologyFactory { - /** - * Answers an instance of this class for the current application context. Note - * that this supports running two JS 'applets' on the same page, one with the - * full Sequence Ontology (USE_FULL_SO = true) and one with a hard-coded - * subset (USE_FULL_SO = false). If this is overkill, could change this method - * to just return a common static instance. - * - * @return - */ - private static synchronized SequenceOntologyFactory getInstance() - { - return (SequenceOntologyFactory) ApplicationSingletonProvider - .getInstance(SequenceOntologyFactory.class); - } - - /** - * Answers the configured model of the Sequence Ontology. - * - * @return - */ - public static synchronized SequenceOntologyI getSequenceOntology() - { - SequenceOntologyFactory f = getInstance(); - return (f.sequenceOntology == null - ? f.sequenceOntology = new SequenceOntologyLite() - : f.sequenceOntology); - } + private static SequenceOntologyI instance; - /** - * For testng only - * - * @param so - */ - public static void setSequenceOntology(SequenceOntologyI so) + public static synchronized SequenceOntologyI getInstance() { - getInstance().sequenceOntology = so; + if (instance == null) + { + instance = new SequenceOntologyLite(); + } + return instance; } - private SequenceOntologyI sequenceOntology; - - private SequenceOntologyFactory() + public static void setInstance(SequenceOntologyI so) { - // private singleton + instance = so; } - }