X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.core%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fcore%2Fexecution%2FAbstractExecutionModulesManager.java;h=4e9856fe6f2745bd0d2cc5ab2ffa42c51592b633;hb=30f4c6af6c20077e5e36b61faf5edb22c1aae6c6;hp=f471d65ca4dea76c2688e9e5984b5c49a217ed60;hpb=633f99ce62e7c18f91d0798682b45528fd822d62;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/AbstractExecutionModulesManager.java b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/AbstractExecutionModulesManager.java index f471d65ca..4e9856fe6 100644 --- a/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/AbstractExecutionModulesManager.java +++ b/runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/AbstractExecutionModulesManager.java @@ -17,6 +17,7 @@ package org.argeo.slc.core.execution; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; import java.util.Map; @@ -30,7 +31,9 @@ import org.argeo.slc.execution.ExecutionModulesManager; import org.argeo.slc.process.RealizedFlow; import org.argeo.slc.process.SlcExecution; import org.argeo.slc.process.SlcExecutionNotifier; +import org.argeo.slc.process.SlcExecutionStep; +/** Provides the base feature of an execution module manager. */ public abstract class AbstractExecutionModulesManager implements ExecutionModulesManager { private final static Log log = LogFactory @@ -81,6 +84,23 @@ public abstract class AbstractExecutionModulesManager implements // } + public void dispatchUpdateStatus(SlcExecution slcExecution, + String oldStatus, String newStatus) { + for (Iterator it = getSlcExecutionNotifiers() + .iterator(); it.hasNext();) { + it.next().updateStatus(slcExecution, oldStatus, newStatus); + } + } + + public void dispatchAddStep(SlcExecution slcExecution, SlcExecutionStep step) { + List steps = new ArrayList(); + steps.add(step); + for (Iterator it = getSlcExecutionNotifiers() + .iterator(); it.hasNext();) { + it.next().addSteps(slcExecution, steps); + } + } + public void setSlcExecutionNotifiers( List slcExecutionNotifiers) { this.slcExecutionNotifiers = slcExecutionNotifiers; @@ -94,7 +114,7 @@ public abstract class AbstractExecutionModulesManager implements return processesThreadGroup; } - public List getExecutionModulesListeners() { + protected List getExecutionModulesListeners() { return executionModulesListeners; }