X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.modeling%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2FCompilePGraphs.java;h=3a12a71320a56c367d67d4819146550acbc1ce70;hp=be5f9abaee7c87b6f0b6ac5ee0cf401128f37a79;hb=922dcf7ab2d716a6d17e6224bc1a12b1196233aa;hpb=60509f4629d5ca644dd9533dd2abc64349aad328 diff --git a/bundles/org.simantics.modeling/src/org/simantics/modeling/CompilePGraphs.java b/bundles/org.simantics.modeling/src/org/simantics/modeling/CompilePGraphs.java index be5f9abae..3a12a7132 100644 --- a/bundles/org.simantics.modeling/src/org/simantics/modeling/CompilePGraphs.java +++ b/bundles/org.simantics.modeling/src/org/simantics/modeling/CompilePGraphs.java @@ -15,10 +15,8 @@ import java.util.HashMap; import java.util.Map; import java.util.Set; -import org.eclipse.core.runtime.FileLocator; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.NullProgressMonitor; -import org.osgi.framework.Bundle; import org.simantics.Simantics; import org.simantics.databoard.Bindings; import org.simantics.db.ReadGraph; @@ -61,9 +59,14 @@ import org.simantics.graph.diff.TransferableGraphDelta1; import org.simantics.graph.representation.Identity; import org.simantics.graph.representation.Root; import org.simantics.graph.representation.TransferableGraph1; +import org.simantics.graph.representation.TransferableGraphUtils; import org.simantics.graphfile.ontology.GraphFileResource; import org.simantics.layer0.Layer0; import org.simantics.modeling.internal.Activator; +import org.simantics.project.management.GraphBundle; +import org.simantics.project.management.GraphBundleEx; +import org.simantics.project.management.GraphBundleRef; +import org.simantics.project.management.PlatformUtil; import org.simantics.utils.FileUtils; import org.simantics.utils.datastructures.Pair; import org.slf4j.LoggerFactory; @@ -141,28 +144,21 @@ public class CompilePGraphs { } }); - if (thisOntology == null) + if (thisOntology == null) throw new DatabaseException("Failed to dump the containing ontology of " + r + " into TransferableGraph1"); dependencies.add(thisOntology.second); - - for (Bundle b : Activator.getContext().getBundles()) { - String id = b.getSymbolicName(); - String name = (String) b.getHeaders().get("Bundle-Name"); - if (name == null) name = id; - if (name.equals(thisOntology.first)) - continue; - URL tg = b.getEntry("/graph.tg"); - if (tg == null) continue; - File f = url2file(FileLocator.resolve(tg), b.getSymbolicName()); - try { - dependencies.add(GraphCompiler.read(f)); - } catch (Exception e) { - throw new IOException("Failed to read compiled transferable graph as dependency: " + f, e); + + Collection tgs = PlatformUtil.getAllGraphs(); + + for (GraphBundle b : tgs) { + TransferableGraph1 tg = b.getGraph(); + Identity id = TransferableGraphUtils.getIdentity2(tg, thisOntology.first); + if(id == null) { + dependencies.add(tg); } } - Simantics.sync(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException {