From 61bbcecd68967777e15e74bf47d2f229e11e5523 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Hannu=20Niemist=C3=B6?= Date: Thu, 31 Aug 2017 10:33:52 +0300 Subject: [PATCH] (refs #7456) Automatic activation of model after import Change-Id: I8b70618c5c4d46f141f2dcec39fbf73ac0d730fc --- .../db/layer0/migration/MigrationUtils.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/migration/MigrationUtils.java b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/migration/MigrationUtils.java index 5f20036a5..36671d18b 100644 --- a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/migration/MigrationUtils.java +++ b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/migration/MigrationUtils.java @@ -63,6 +63,8 @@ import org.simantics.graph.representation.Root; import org.simantics.graph.representation.TransferableGraph1; import org.simantics.graph.representation.TransferableGraphUtils; import org.simantics.layer0.Layer0; +import org.simantics.operation.Layer0X; +import org.simantics.simulation.ontology.SimulationResource; import org.simantics.utils.datastructures.Pair; import org.simantics.utils.datastructures.collections.CollectionUtils; @@ -100,6 +102,16 @@ public class MigrationUtils { }); } + /** + * Activate the imported resource, if there are no other active models and the resource is a Model. + */ + private static void activateIfNoActiveModel(WriteGraph graph, Resource root, Resource parent) throws DatabaseException { + Layer0X L0X = Layer0X.getInstance(graph); + SimulationResource SIMU = SimulationResource.getInstance(graph); + if(!graph.hasStatement(parent, L0X.Activates) && graph.isInstanceOf(root, SIMU.Model)) + graph.claim(parent, L0X.Activates, root); + } + public static Collection importTo(IProgressMonitor monitor, Session session, MigrationState state, final Resource parent, final IImportAdvisor advisor) throws DatabaseException, TransferableGraphException { final Resource resource = getResource(monitor, session, state); final ArrayList result = new ArrayList(); @@ -130,6 +142,8 @@ public class MigrationUtils { graph.deny(root, L0.PartOf); graph.claim(root, L0.PartOf, parent); + + activateIfNoActiveModel(graph, root, parent); CommentMetadata cm = graph.getMetadata(CommentMetadata.class); graph.addMetadata(cm.add("Imported " + graph.getURI(root) + ", resource " + root)); -- 2.43.2