]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.api/src/org/argeo/slc/execution/RealizedFlow.java
Upgrade all classpaths to Java 11
[gpl/argeo-slc.git] / org.argeo.slc.api / src / org / argeo / slc / execution / RealizedFlow.java
1 package org.argeo.slc.execution;
2
3 import java.io.Serializable;
4 import java.util.HashMap;
5 import java.util.Map;
6
7 import org.argeo.slc.DefaultNameVersion;
8 import org.argeo.slc.NameVersion;
9
10 /** A fully configured execution flow, ready to be executed. */
11 public class RealizedFlow implements Serializable {
12 private static final long serialVersionUID = 1L;
13
14 private String moduleName;
15 private String moduleVersion;
16 private ExecutionFlowDescriptor flowDescriptor;
17
18 public String getModuleName() {
19 return moduleName;
20 }
21
22 public void setModuleName(String moduleName) {
23 this.moduleName = moduleName;
24 }
25
26 public NameVersion getModuleNameVersion() {
27 return new DefaultNameVersion(getModuleName(), getModuleVersion());
28 }
29
30 public String getModuleVersion() {
31 return moduleVersion;
32 }
33
34 public void setModuleVersion(String moduleVersion) {
35 this.moduleVersion = moduleVersion;
36 }
37
38 public ExecutionFlowDescriptor getFlowDescriptor() {
39 return flowDescriptor;
40 }
41
42 public void setFlowDescriptor(ExecutionFlowDescriptor flowDescriptor) {
43 this.flowDescriptor = flowDescriptor;
44 }
45
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
52 if (version == null)
53 version = "0.0.0";
54 realizedFlow.setModuleVersion(version);
55 ExecutionFlowDescriptor efd = new ExecutionFlowDescriptor();
56 efd.setName(flowName);
57
58 // arguments
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);
64 }
65 efd.setValues(values);
66 }
67
68 realizedFlow.setFlowDescriptor(efd);
69 return realizedFlow;
70 }
71 }