*/\r
package org.argeo.slc.core.execution.generator;\r
\r
+import java.util.ArrayList;\r
+import java.util.Iterator;\r
import java.util.List;\r
import java.util.Map;\r
\r
try {\r
for (int callIndex = 0; callIndex < runnableCalls.size(); ++callIndex) {\r
RunnableCall runnableCall = runnableCalls.get(callIndex);\r
- Object bean = applicationContext.getBean(runnableCall\r
- .getBeanName(), Runnable.class);\r
+ Object bean = applicationContext.getBean(\r
+ runnableCall.getBeanName(), Runnable.class);\r
if (log.isDebugEnabled())\r
log.debug("Running flow '" + runnableCall.getBeanName()\r
+ "'");\r
}\r
}\r
\r
+ public Iterator<Runnable> runnables() {\r
+ List<Runnable> runnables = new ArrayList<Runnable>();\r
+ for (int callIndex = 0; callIndex < runnableCalls.size(); ++callIndex) {\r
+ RunnableCall runnableCall = runnableCalls.get(callIndex);\r
+ Object bean = applicationContext.getBean(\r
+ runnableCall.getBeanName(), Runnable.class);\r
+ runnables.add((Runnable) bean);\r
+ }\r
+ return runnables.iterator();\r
+ }\r
+\r
+ public Runnable getRunnable() {\r
+ if (runnableCalls.size() == 1)\r
+ return runnables().next();\r
+ else\r
+ throw new SlcException("There are " + runnableCalls.size()\r
+ + " runnables in flow " + getName());\r
+ }\r
+\r
@Override\r
public String toString() {\r
return new StringBuffer("RunnableCallFlow ").append(name).toString();\r
- } \r
- \r
+ }\r
+\r
public ExecutionSpec getExecutionSpec() {\r
return executionSpec;\r
}\r