1 package org
.argeo
.api
.slc
.execution
;
5 import org
.argeo
.api
.slc
.deploy
.ModulesManager
;
7 /** Provides access to the execution modules */
8 public interface ExecutionModulesManager
extends ModulesManager
{
9 /** Used to filter event notified to an execution notifier. */
10 public static String SLC_PROCESS_ID
= "slc.process.id";
12 /** Unique launch module */
13 public static String UNIQUE_LAUNCH_MODULE_PROPERTY
= "slc.launch.module";
15 /** Unique launch flow */
16 public static String UNIQUE_LAUNCH_FLOW_PROPERTY
= "slc.launch.flow";
18 /** @return a full fledged module descriptor. */
19 public ExecutionModuleDescriptor
getExecutionModuleDescriptor(
20 String moduleName
, String version
);
23 * @return a list of minimal execution module descriptors (only the module
24 * meta data, not the flows)
26 public List
<ExecutionModuleDescriptor
> listExecutionModules();
28 /** Synchronously finds and executes an {@link ExecutionFlow}. */
29 public void execute(RealizedFlow realizedFlow
);
31 // /** Notify of a status update status of the {@link ExecutionProcess} */
32 // public void dispatchUpdateStatus(ExecutionProcess process,
33 // String oldStatus, String newStatus);
35 // /** Notify that a step was added in an {@link ExecutionProcess} */
36 // public void dispatchAddSteps(ExecutionProcess process,
37 // List<ExecutionStep> steps);
40 // * Register a notifier which will be notified based on the provided
43 // public void registerProcessNotifier(ExecutionProcessNotifier notifier,
44 // Map<String, String> properties);
46 // /** Unregisters a notifier */
47 // public void unregisterProcessNotifier(ExecutionProcessNotifier notifier,
48 // Map<String, String> properties);