diff --git a/src/main/java/org/gcube/informationsystem/discovery/knowledge/ModelKnowledge.java b/src/main/java/org/gcube/informationsystem/discovery/knowledge/ModelKnowledge.java index eb5a6e1..2729110 100644 --- a/src/main/java/org/gcube/informationsystem/discovery/knowledge/ModelKnowledge.java +++ b/src/main/java/org/gcube/informationsystem/discovery/knowledge/ModelKnowledge.java @@ -6,7 +6,6 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; -import java.util.ServiceLoader; import java.util.Set; import org.gcube.informationsystem.base.reference.AccessType; @@ -25,20 +24,6 @@ public class ModelKnowledge { private static final Logger logger = LoggerFactory.getLogger(ModelKnowledge.class); - private static ModelKnowledge modelKnowledge; - - public static ModelKnowledge getGlobalModelKnowledgeInstance() { - if(modelKnowledge==null) { - modelKnowledge = new ModelKnowledge(); - ServiceLoader registrationProviders = ServiceLoader - .load(RegistrationProvider.class); - for(RegistrationProvider rp : registrationProviders) { - modelKnowledge.addRegistrationProvider(rp); - } - } - return modelKnowledge; - } - protected boolean created; protected Map usageKnowledges; diff --git a/src/main/java/org/gcube/informationsystem/serialization/ElementMapper.java b/src/main/java/org/gcube/informationsystem/serialization/ElementMapper.java index d6f7c8d..2c34612 100644 --- a/src/main/java/org/gcube/informationsystem/serialization/ElementMapper.java +++ b/src/main/java/org/gcube/informationsystem/serialization/ElementMapper.java @@ -12,6 +12,7 @@ import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; +import java.util.ServiceLoader; import java.util.Set; import org.gcube.com.fasterxml.jackson.core.JsonGenerationException; @@ -30,6 +31,7 @@ import org.gcube.com.fasterxml.jackson.databind.node.TextNode; import org.gcube.informationsystem.base.reference.AccessType; import org.gcube.informationsystem.base.reference.Element; import org.gcube.informationsystem.discovery.Discovery; +import org.gcube.informationsystem.discovery.RegistrationProvider; import org.gcube.informationsystem.discovery.knowledge.ModelKnowledge; import org.gcube.informationsystem.types.TypeMapper; import org.gcube.informationsystem.types.reference.Type; @@ -47,7 +49,21 @@ public abstract class ElementMapper { protected static final ObjectMapper mapper; protected static final Map> knownTypes; -// + + private static ModelKnowledge modelKnowledge; + + public static ModelKnowledge getGlobalModelKnowledgeInstance() { + if(modelKnowledge==null) { + modelKnowledge = new ModelKnowledge(); + ServiceLoader registrationProviders = ServiceLoader + .load(RegistrationProvider.class); + for(RegistrationProvider rp : registrationProviders) { + modelKnowledge.addRegistrationProvider(rp); + } + } + return modelKnowledge; + } + /** * @return the ObjectMapper */ @@ -107,7 +123,7 @@ public abstract class ElementMapper { } try { - ModelKnowledge.getGlobalModelKnowledgeInstance().createKnowledge(); + ElementMapper.getGlobalModelKnowledgeInstance().createKnowledge(); }catch (Exception e) { throw new RuntimeException(e); } diff --git a/src/test/java/org/gcube/informationsystem/discovery/DiscoveryTest.java b/src/test/java/org/gcube/informationsystem/discovery/DiscoveryTest.java index 2e1fd96..0113fb0 100644 --- a/src/test/java/org/gcube/informationsystem/discovery/DiscoveryTest.java +++ b/src/test/java/org/gcube/informationsystem/discovery/DiscoveryTest.java @@ -5,6 +5,7 @@ import java.util.Map; import org.gcube.informationsystem.base.reference.AccessType; import org.gcube.informationsystem.base.reference.Element; import org.gcube.informationsystem.discovery.knowledge.ModelKnowledge; +import org.gcube.informationsystem.serialization.ElementMapper; import org.gcube.informationsystem.tree.Tree; import org.gcube.informationsystem.types.TypeMapper; import org.gcube.informationsystem.types.reference.Type; @@ -25,18 +26,13 @@ public class DiscoveryTest { @Test public void testDiscovery() throws Exception { - ModelKnowledge modelKnowledge = ModelKnowledge.getGlobalModelKnowledgeInstance(); + ModelKnowledge modelKnowledge = ElementMapper.getGlobalModelKnowledgeInstance(); modelKnowledge.createKnowledge(); AccessType[] accessTypes = AccessType.getModelTypes(); for(AccessType accessType : accessTypes) { - Tree> classesTree = modelKnowledge.getClassesTree(accessType); logger.info("Classes tree for {} is\n{}", accessType.getName(), classesTree.toString()); - -// Tree typesTree = modelKnowledge.getTypesTree(accessType); -// logger.info("Types tree for {} is\n{}", accessType.getName(), typesTree.toString()); - } }