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 { transient private SingleModelTrait model; transient private CommandInvoker[] invokers; public ForAllDiagrams(SingleModelTrait model, CommandInvoker ... 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 invoker : invokers) invoker.invoke(environment, new SingleResourceTraitImpl(diagramNode.getDiagramResource())); } } }