]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling/src/org/simantics/modeling/scl/OntologyModuleSourceRepository.java
Fix possible NPE in SCLExpressionIssueProvider
[simantics/platform.git] / bundles / org.simantics.modeling / src / org / simantics / modeling / scl / OntologyModuleSourceRepository.java
index 6fbcfd8e973f50597bbf975d3c2b2461e21052a8..b91e90d61c42ce83f8ccb8f3ecb74d8cdb80ff87 100644 (file)
@@ -12,12 +12,15 @@ 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 org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import gnu.trove.procedure.TObjectProcedure;
 
 public enum OntologyModuleSourceRepository implements ModuleSourceRepository {
     INSTANCE;
+    
+    private static final Logger LOGGER = LoggerFactory.getLogger(OntologyModuleSourceRepository.class);
 
        static class ModuleSourceRequest extends UnaryRead<String, ModuleSource> {
 
@@ -38,16 +41,10 @@ public enum OntologyModuleSourceRepository implements ModuleSourceRepository {
         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));
+            return Simantics.getAvailableRequestProcessor().syncRequest(new ModuleSourceRequest(moduleName));
         } catch(DatabaseException e) {
-            e.printStackTrace();
+            LOGGER.error("Failed to read ontology module " + moduleName + ".", e);
             return null;
         }
     }