X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.api.slc%2Fsrc%2Forg%2Fargeo%2Fapi%2Fslc%2Fexecution%2FExecutionModulesManager.java;fp=org.argeo.api.slc%2Fsrc%2Forg%2Fargeo%2Fapi%2Fslc%2Fexecution%2FExecutionModulesManager.java;h=42b8e4db1bf9043e44751be39ed8bbfbac24ac8f;hb=09c9e5093fe1353aaac344ac8a8caf2e1dcc0778;hp=0000000000000000000000000000000000000000;hpb=8ff996a3380166be2ae9cf0ef0fa22c58e11746a;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.api.slc/src/org/argeo/api/slc/execution/ExecutionModulesManager.java b/org.argeo.api.slc/src/org/argeo/api/slc/execution/ExecutionModulesManager.java new file mode 100644 index 000000000..42b8e4db1 --- /dev/null +++ b/org.argeo.api.slc/src/org/argeo/api/slc/execution/ExecutionModulesManager.java @@ -0,0 +1,49 @@ +package org.argeo.api.slc.execution; + +import java.util.List; + +import org.argeo.api.slc.deploy.ModulesManager; + +/** Provides access to the execution modules */ +public interface ExecutionModulesManager extends ModulesManager { + /** Used to filter event notified to an execution notifier. */ + public static String SLC_PROCESS_ID = "slc.process.id"; + + /** Unique launch module */ + public static String UNIQUE_LAUNCH_MODULE_PROPERTY = "slc.launch.module"; + + /** Unique launch flow */ + public static String UNIQUE_LAUNCH_FLOW_PROPERTY = "slc.launch.flow"; + + /** @return a full fledged module descriptor. */ + public ExecutionModuleDescriptor getExecutionModuleDescriptor( + String moduleName, String version); + + /** + * @return a list of minimal execution module descriptors (only the module + * meta data, not the flows) + */ + public List listExecutionModules(); + + /** Synchronously finds and executes an {@link ExecutionFlow}. */ + public void execute(RealizedFlow realizedFlow); + + // /** Notify of a status update status of the {@link ExecutionProcess} */ +// public void dispatchUpdateStatus(ExecutionProcess process, +// String oldStatus, String newStatus); + // + // /** Notify that a step was added in an {@link ExecutionProcess} */ + // public void dispatchAddSteps(ExecutionProcess process, + // List steps); + // + // /** + // * Register a notifier which will be notified based on the provided + // * properties. + // */ + // public void registerProcessNotifier(ExecutionProcessNotifier notifier, + // Map properties); + // + // /** Unregisters a notifier */ + // public void unregisterProcessNotifier(ExecutionProcessNotifier notifier, + // Map properties); +}