X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.modeling.tests%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Ftests%2Fcommands%2FActivateProfile.java;fp=bundles%2Forg.simantics.modeling.tests%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Ftests%2Fcommands%2FActivateProfile.java;h=3ffe5a59f8f6c8efd4b03c979ce37a0fb15626eb;hb=ca6fcd858a0b82eb1b5a8f12c4d5df30e84393e0;hp=0000000000000000000000000000000000000000;hpb=67fd62f9c742337ec80eef658192db198a0efaac;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.modeling.tests/src/org/simantics/modeling/tests/commands/ActivateProfile.java b/bundles/org.simantics.modeling.tests/src/org/simantics/modeling/tests/commands/ActivateProfile.java new file mode 100644 index 000000000..3ffe5a59f --- /dev/null +++ b/bundles/org.simantics.modeling.tests/src/org/simantics/modeling/tests/commands/ActivateProfile.java @@ -0,0 +1,44 @@ +package org.simantics.modeling.tests.commands; + +import java.util.Collection; +import java.util.Map; + +import org.simantics.Simantics; +import org.simantics.db.Resource; +import org.simantics.db.exception.DatabaseException; +import org.simantics.db.layer0.request.ModelInstances; +import org.simantics.db.testing.common.CommandSequenceEnvironment; +import org.simantics.db.testing.common.WriteCommand; +import org.simantics.diagram.elements.DiagramNodeUtil; +import org.simantics.diagram.stubs.DiagramResource; +import org.simantics.g2d.canvas.ICanvasContext; + +public class ActivateProfile extends WriteCommand { + + private LoadDiagram diagram; + private String profileName; + private Collection entries; + + public ActivateProfile(LoadDiagram diagram, String profileName, Collection entries) { + this.diagram = diagram; + this.profileName = profileName; + this.entries = entries; + } + + @Override + public void run(CommandSequenceEnvironment environment) throws DatabaseException { + + ICanvasContext ctx = diagram.getContext(); + + Resource runtime = DiagramNodeUtil.getRuntime(ctx); + + DiagramResource DIA = DiagramResource.getInstance(Simantics.getSession()); + + Map profiles = Simantics.getSession().sync(new ModelInstances(diagram.getResource(), DIA.Profile)); + Resource profile = profiles.get(profileName); + + DiagramNodeUtil.activateProfileWithEntries(runtime, profile, entries); + + } + +} \ No newline at end of file