]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.common/src/org/simantics/db/common/request/RuntimeEnvironmentRequest.java
Merge "Automatically import also SCLMain modules of dependent index roots"
[simantics/platform.git] / bundles / org.simantics.db.common / src / org / simantics / db / common / request / RuntimeEnvironmentRequest.java
index 24a5c10c909be94716ae7d907b3c698144af7975..777f1ede97f8d357b24a0a383f4bae9c13de7d40 100644 (file)
@@ -7,6 +7,7 @@ import org.simantics.db.common.utils.CommonDBUtils;
 import org.simantics.db.exception.DatabaseException;
 import org.simantics.db.procedure.Listener;
 import org.simantics.db.request.Read;
+import org.simantics.layer0.Layer0;
 import org.simantics.scl.compiler.environment.specification.EnvironmentSpecification;
 import org.simantics.scl.compiler.module.repository.ImportFailureException;
 import org.simantics.scl.compiler.module.repository.UpdateListener;
@@ -108,6 +109,12 @@ public class RuntimeEnvironmentRequest extends UnaryRead<Resource, RuntimeEnviro
         if(mainModule != null) {
             mainModuleUri = graph.getURI(mainModule);
             environmentSpecification.importModule(mainModuleUri, "");
+            Layer0 L0 = Layer0.getInstance(graph);
+            for(Resource l : graph.getObjects(parameter, L0.IsLinkedTo)) {
+                mainModule = CommonDBUtils.getPossibleChild(graph, l, "SCLMain");
+                if(mainModule != null)
+                    environmentSpecification.importModule(graph.getURI(mainModule), "");
+            }
         }
         else
             mainModuleUri = graph.getURI(parameter) + "/#"; // Add something dummy to the model uri that cannot be in a real URI