]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling.tests/src/org/simantics/modeling/tests/commands/ForAllDiagrams.java
Added missing org.simantics.modeling.tests plug-ins.
[simantics/platform.git] / bundles / org.simantics.modeling.tests / src / org / simantics / modeling / tests / commands / ForAllDiagrams.java
diff --git a/bundles/org.simantics.modeling.tests/src/org/simantics/modeling/tests/commands/ForAllDiagrams.java b/bundles/org.simantics.modeling.tests/src/org/simantics/modeling/tests/commands/ForAllDiagrams.java
new file mode 100644 (file)
index 0000000..343ad03
--- /dev/null
@@ -0,0 +1,36 @@
+package org.simantics.modeling.tests.commands;
+
+import org.simantics.Simantics;
+import org.simantics.db.testing.common.Command;
+import org.simantics.db.testing.common.CommandInvoker;
+import org.simantics.modeling.requests.CollectionRequest;
+import org.simantics.modeling.requests.CollectionResult;
+import org.simantics.modeling.requests.Node;
+import org.simantics.modeling.tests.cases.ModelingCommandSequenceTest;
+import org.simantics.modeling.tests.traits.SingleModelTrait;
+import org.simantics.modeling.tests.traits.SingleResourceTrait;
+import org.simantics.modeling.tests.traits.SingleResourceTraitImpl;
+import org.simantics.utils.page.PageDesc;
+
+public class ForAllDiagrams extends Command<ModelingCommandSequenceTest> {
+
+       transient private SingleModelTrait model;
+       transient private CommandInvoker<SingleResourceTrait>[] invokers;
+       
+       public ForAllDiagrams(SingleModelTrait model, CommandInvoker<SingleResourceTrait> ... invokers) {
+               this.model = model;
+               this.invokers = invokers;
+       }
+       
+       @Override
+       public void run(ModelingCommandSequenceTest environment) throws Exception {
+       
+               final CollectionResult result = Simantics.getSession().syncRequest(new CollectionRequest(null, PageDesc.DEFAULT, model.getResource()));
+               for(Node diagramNode : result.diagramList) {
+                       for(CommandInvoker<SingleResourceTrait> invoker : invokers)
+                               invoker.invoke(environment, new SingleResourceTraitImpl(diagramNode.getDiagramResource()));
+               }
+               
+       }
+
+}