1 package org
.argeo
.slc
.execution
;
3 import java
.io
.Serializable
;
4 import java
.util
.HashMap
;
7 import org
.argeo
.slc
.DefaultNameVersion
;
8 import org
.argeo
.slc
.NameVersion
;
10 /** A fully configured execution flow, ready to be executed. */
11 public class RealizedFlow
implements Serializable
{
12 private static final long serialVersionUID
= 1L;
14 private String moduleName
;
15 private String moduleVersion
;
16 private ExecutionFlowDescriptor flowDescriptor
;
18 public String
getModuleName() {
22 public void setModuleName(String moduleName
) {
23 this.moduleName
= moduleName
;
26 public NameVersion
getModuleNameVersion() {
27 return new DefaultNameVersion(getModuleName(), getModuleVersion());
30 public String
getModuleVersion() {
34 public void setModuleVersion(String moduleVersion
) {
35 this.moduleVersion
= moduleVersion
;
38 public ExecutionFlowDescriptor
getFlowDescriptor() {
39 return flowDescriptor
;
42 public void setFlowDescriptor(ExecutionFlowDescriptor flowDescriptor
) {
43 this.flowDescriptor
= flowDescriptor
;
46 /** Create a simple realized flow */
47 public static RealizedFlow
create(String module
, String version
,
48 String flowName
, Map
<String
, String
> args
) {
49 final RealizedFlow realizedFlow
= new RealizedFlow();
50 realizedFlow
.setModuleName(module
);
51 // TODO deal with version
54 realizedFlow
.setModuleVersion(version
);
55 ExecutionFlowDescriptor efd
= new ExecutionFlowDescriptor();
56 efd
.setName(flowName
);
59 if (args
!= null && args
.size() > 0) {
60 Map
<String
, Object
> values
= new HashMap
<String
, Object
>();
61 for (String key
: args
.keySet()) {
62 String value
= args
.get(key
);
63 values
.put(key
, value
);
65 efd
.setValues(values
);
68 realizedFlow
.setFlowDescriptor(efd
);