]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/execution/RealizedFlow.java
Some more UI functionalities :
[gpl/argeo-slc.git] / runtime / org.argeo.slc.specs / src / main / java / org / argeo / slc / execution / RealizedFlow.java
index a2e33fa882dfe29a6d8b50aaf77927e727a3c445..bf6f3d3cab53961978a1ab60554b09db1ac99b10 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2012 Mathieu Baudier
+ * Copyright (C) 2007-2012 Argeo GmbH
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,6 +16,8 @@
 package org.argeo.slc.execution;
 
 import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
 
 import org.argeo.slc.BasicNameVersion;
 import org.argeo.slc.NameVersion;
@@ -55,4 +57,30 @@ public class RealizedFlow implements Serializable {
        public void setFlowDescriptor(ExecutionFlowDescriptor flowDescriptor) {
                this.flowDescriptor = flowDescriptor;
        }
+
+       /** Create a simple realized flow */
+       public static RealizedFlow create(String module, String version,
+                       String flowName, Map<String, String> args) {
+               final RealizedFlow realizedFlow = new RealizedFlow();
+               realizedFlow.setModuleName(module);
+               // TODO deal with version
+               if (version == null)
+                       version = "0.0.0";
+               realizedFlow.setModuleVersion(version);
+               ExecutionFlowDescriptor efd = new ExecutionFlowDescriptor();
+               efd.setName(flowName);
+
+               // arguments
+               if (args != null && args.size() > 0) {
+                       Map<String, Object> values = new HashMap<String, Object>();
+                       for (String key : args.keySet()) {
+                               String value = args.get(key);
+                               values.put(key, value);
+                       }
+                       efd.setValues(values);
+               }
+
+               realizedFlow.setFlowDescriptor(efd);
+               return realizedFlow;
+       }
 }