com.massimo.tools.scriptrunner.control
Class ParallelTask

java.lang.Object
  extended by com.massimo.tools.scriptrunner.AbstractTask
      extended by com.massimo.tools.scriptrunner.control.AbstractCompoundTask
          extended by com.massimo.tools.scriptrunner.control.ParallelTask
All Implemented Interfaces:
Task

public class ParallelTask
extends AbstractCompoundTask

This will run all child Tasks in separate Threads.


Field Summary
 
Fields inherited from class com.massimo.tools.scriptrunner.AbstractTask
definition, name, parent, properties, type
 
Fields inherited from interface com.massimo.tools.scriptrunner.Task
DATA_ERROR, ERROR, FINISHED, INTERRUPTED, PROMPT, RUNNING, START, SUCCESS
 
Constructor Summary
ParallelTask(Task parent, String type, Element definition, Map<String,String> parentConnectionProperties)
           
 
Method Summary
protected  org.apache.log4j.Logger getLogger()
          
protected  int processCompound(ExecutionContext context, Elements tasks)
          Executes all child Tasks in separate threads.
 
Methods inherited from class com.massimo.tools.scriptrunner.control.AbstractCompoundTask
addChild, doProcess, doValidate, getChildren, interrupt
 
Methods inherited from class com.massimo.tools.scriptrunner.AbstractTask
getBooleanProperty, getCurrentWorkingDirectory, getDefinition, getIntProperty, getName, getParent, getProperties, getStartProcessingRow, getText, getType, isIgnoreableError, isIgnoreableError, isInterrupted, isLogProgress, postProcess, preProcess, process, resultCodeToString, substituteParameters, toString, validate, validateConnections, validateParameters
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ParallelTask

public ParallelTask(Task parent,
                    String type,
                    Element definition,
                    Map<String,String> parentConnectionProperties)
Parameters:
parent -
type -
definition -
parentConnectionProperties -
Method Detail

getLogger

protected org.apache.log4j.Logger getLogger()

Specified by:
getLogger in class AbstractTask
Returns:
Class logger

processCompound

protected int processCompound(ExecutionContext context,
                              Elements tasks)
                       throws Exception
Executes all child Tasks in separate threads.
Waits for all threads to finish and returns success only if all succeed.

Specified by:
processCompound in class AbstractCompoundTask
Parameters:
context -
tasks - A list of Task definition Elements
Returns:
The result of running all tasks
Throws:
Exception