]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling/src/org/simantics/modeling/scl/OntologyModuleSourceRepository.java
Fixing a deadlock. Some improvements to ModuleSourceRepository API
[simantics/platform.git] / bundles / org.simantics.modeling / src / org / simantics / modeling / scl / OntologyModuleSourceRepository.java
index a8cefb1fa7e899d5df782cecd3dce03a6eefb237..6fbcfd8e973f50597bbf975d3c2b2461e21052a8 100644 (file)
@@ -1,73 +1,64 @@
-package org.simantics.modeling.scl;\r
-\r
-\r
-import org.simantics.Simantics;\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.common.request.UnaryRead;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.scl.compiler.module.repository.UpdateListener;\r
-import org.simantics.scl.compiler.source.ModuleSource;\r
-import org.simantics.scl.compiler.source.PrecompiledModuleSource;\r
-import org.simantics.scl.compiler.source.repository.ModuleSourceRepository;\r
-import org.simantics.scl.runtime.SCLContext;\r
-\r
-import gnu.trove.procedure.TObjectProcedure;\r
-\r
-public enum OntologyModuleSourceRepository implements ModuleSourceRepository {\r
-    INSTANCE;\r
-\r
-       static class ModuleSourceRequest extends UnaryRead<String, ModuleSource> {\r
-\r
-        public ModuleSourceRequest(String moduleName) {\r
-                       super(moduleName);\r
-               }\r
-\r
-               @Override\r
-        public ModuleSource perform(ReadGraph graph) throws DatabaseException {\r
-            return new PrecompiledModuleSource(new OntologyModule(graph, parameter), -1.0);\r
-        }\r
-\r
-    };\r
-       \r
-    @Override\r
-    public ModuleSource getModuleSource(final String moduleName,\r
-            UpdateListener listener) {\r
-        if(!moduleName.startsWith("http://"))\r
-            return null; // Don't do a graph request if this cannot be a resource\r
-        \r
-        ReadGraph graph = (ReadGraph)SCLContext.getCurrent().get("graph");\r
-        \r
-        try {\r
-            if(graph != null) {\r
-                return new PrecompiledModuleSource(new OntologyModule(graph, moduleName), -1.0);\r
-            }\r
-\r
-            return Simantics.getSession().syncRequest(new ModuleSourceRequest(moduleName));\r
-        } catch(DatabaseException e) {\r
-            e.printStackTrace();\r
-            return null;\r
-        }\r
-    }\r
-\r
-    @Override\r
-    public void forAllModules(TObjectProcedure<String> procedure) {\r
-    }\r
-    \r
-    @Override\r
-    public void checkUpdates() {\r
-    }\r
-\r
-    @Override\r
-    public String getDocumentation(String documentationName) {\r
-        return null;\r
-    }\r
-\r
-    @Override\r
-    public void forAllDocumentations(TObjectProcedure<String> procedure) {\r
-    }\r
-\r
-    @Override\r
-    public void clear() {\r
-    }\r
-\r
-}\r
+package org.simantics.modeling.scl;
+
+
+import java.util.Collection;
+import java.util.Collections;
+
+import org.simantics.Simantics;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.common.request.UnaryRead;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.scl.compiler.module.repository.UpdateListener;
+import org.simantics.scl.compiler.source.ModuleSource;
+import org.simantics.scl.compiler.source.PrecompiledModuleSource;
+import org.simantics.scl.compiler.source.repository.ModuleSourceRepository;
+import org.simantics.scl.runtime.SCLContext;
+
+import gnu.trove.procedure.TObjectProcedure;
+
+public enum OntologyModuleSourceRepository implements ModuleSourceRepository {
+    INSTANCE;
+
+       static class ModuleSourceRequest extends UnaryRead<String, ModuleSource> {
+
+        public ModuleSourceRequest(String moduleName) {
+                       super(moduleName);
+               }
+
+               @Override
+        public ModuleSource perform(ReadGraph graph) throws DatabaseException {
+            return new PrecompiledModuleSource(new OntologyModule(graph, parameter), -1.0);
+        }
+
+    };
+       
+    @Override
+    public ModuleSource getModuleSource(final String moduleName,
+            UpdateListener listener) {
+        if(!moduleName.startsWith("http://"))
+            return null; // Don't do a graph request if this cannot be a resource
+        
+        ReadGraph graph = (ReadGraph)SCLContext.getCurrent().get("graph");
+        
+        try {
+            if(graph != null) {
+                return new PrecompiledModuleSource(new OntologyModule(graph, moduleName), -1.0);
+            }
+
+            return Simantics.getSession().syncRequest(new ModuleSourceRequest(moduleName));
+        } catch(DatabaseException e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
+    @Override
+    public void forAllModules(TObjectProcedure<String> procedure) {
+    }
+    
+    @Override
+    public Collection<String> getModuleNames() {
+        return Collections.emptyList();
+    }
+
+}