1 package org.simantics.modeling.tests.commands;
3 import org.simantics.Simantics;
4 import org.simantics.db.testing.common.Command;
5 import org.simantics.db.testing.common.CommandInvoker;
6 import org.simantics.modeling.requests.CollectionRequest;
7 import org.simantics.modeling.requests.CollectionResult;
8 import org.simantics.modeling.requests.Node;
9 import org.simantics.modeling.tests.cases.ModelingCommandSequenceTest;
10 import org.simantics.modeling.tests.traits.SingleModelTrait;
11 import org.simantics.modeling.tests.traits.SingleResourceTrait;
12 import org.simantics.modeling.tests.traits.SingleResourceTraitImpl;
13 import org.simantics.utils.page.PageDesc;
15 public class ForAllDiagrams extends Command<ModelingCommandSequenceTest> {
17 transient private SingleModelTrait model;
18 transient private CommandInvoker<SingleResourceTrait>[] invokers;
20 public ForAllDiagrams(SingleModelTrait model, CommandInvoker<SingleResourceTrait> ... invokers) {
22 this.invokers = invokers;
26 public void run(ModelingCommandSequenceTest environment) throws Exception {
28 final CollectionResult result = Simantics.getSession().syncRequest(new CollectionRequest(null, PageDesc.DEFAULT, model.getResource()));
29 for(Node diagramNode : result.diagramList) {
30 for(CommandInvoker<SingleResourceTrait> invoker : invokers)
31 invoker.invoke(environment, new SingleResourceTraitImpl(diagramNode.getDiagramResource()));