+ /**
+ * 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);
+ }