X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.core%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fcore%2Fexecution%2FProcessThreadGroup.java;fp=runtime%2Forg.argeo.slc.core%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fcore%2Fexecution%2FProcessThreadGroup.java;h=7084f12c010749bb1cedab019917ca7661fcdb45;hb=17ffc9fdb8f3a490881e540db8ff81655308233e;hp=0000000000000000000000000000000000000000;hpb=6ae0527d7e2999cf8d943c7bb11070fbd3d1248a;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/ProcessThreadGroup.java b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/ProcessThreadGroup.java new file mode 100644 index 000000000..7084f12c0 --- /dev/null +++ b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/ProcessThreadGroup.java @@ -0,0 +1,35 @@ +package org.argeo.slc.core.execution; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import org.argeo.slc.process.SlcExecution; +import org.argeo.slc.process.SlcExecutionNotifier; +import org.argeo.slc.process.SlcExecutionStep; + +public class ProcessThreadGroup extends ThreadGroup { + private final ProcessThread processThread; + + public ProcessThreadGroup(ProcessThread processThread) { + super("SLC Process #" + processThread.getSlcProcess().getUuid() + + " thread group"); + this.processThread = processThread; + } + + public SlcExecution getSlcProcess() { + return processThread.getSlcProcess(); + } + + public void dispatchAddStep(SlcExecutionStep step) { + processThread.getSlcProcess().getSteps().add(step); + List steps = new ArrayList(); + steps.add(step); + for (Iterator it = processThread + .getExecutionModulesManager().getSlcExecutionNotifiers() + .iterator(); it.hasNext();) { + it.next().addSteps(processThread.getSlcProcess(), steps); + } + } + +}