org.eclipse.smila.jobmanager.taskgenerator
Class DefaultTaskGenerator
java.lang.Object
org.eclipse.smila.jobmanager.taskgenerator.TaskGeneratorBase
org.eclipse.smila.jobmanager.taskgenerator.DefaultTaskGenerator
- All Implemented Interfaces:
- TaskGenerator
- Direct Known Subclasses:
- RunOnceTriggerTaskGenerator
public class DefaultTaskGenerator
- extends TaskGeneratorBase
Default Task Generator implementation.
|
Method Summary |
protected Task |
createInitialTask(java.util.Map<java.lang.String,Bucket> outputBuckets,
AnyMap parameters,
java.lang.String workerName)
|
java.util.List<Task> |
createRunOnceTasks(java.util.Map<java.lang.String,Bucket> inputBuckets,
java.util.Map<java.lang.String,Bucket> outputBuckets,
AnyMap parameters,
java.lang.String workerName)
Creates tasks for the RunOnce mode, i.e. |
java.util.List<Task> |
createTasks(java.util.Map<java.lang.String,java.util.List<BulkInfo>> changedInput,
java.util.Map<java.lang.String,Bucket> inputBuckets,
java.util.Map<java.lang.String,Bucket> outputBuckets,
AnyMap parameters,
java.lang.String workerName)
default behavior: with changed input, create one follow up task per changed inputs for each follow up task: create
one output bulk per output slot/bucket of the worker/action. |
protected java.util.List<Task> |
doCreateRunOnceTasks(java.util.Map<java.lang.String,Bucket> inputBuckets,
java.util.Map<java.lang.String,Bucket> outputBuckets,
AnyMap parameters,
java.lang.String workerName)
Creates a list of tasks for given input buckets. |
| Methods inherited from class org.eclipse.smila.jobmanager.taskgenerator.TaskGeneratorBase |
activate, addOutputBulks, checkBucketCounts, createSingleBulkTask, createTask, createTaskId, extractAndOverwriteParameters, finishTask, getName, getParameterValue, getParameterValue, getParameterValue, setObjectStoreService, unsetObjectStoreService, validateParameters |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DefaultTaskGenerator
public DefaultTaskGenerator()
createTasks
public java.util.List<Task> createTasks(java.util.Map<java.lang.String,java.util.List<BulkInfo>> changedInput,
java.util.Map<java.lang.String,Bucket> inputBuckets,
java.util.Map<java.lang.String,Bucket> outputBuckets,
AnyMap parameters,
java.lang.String workerName)
throws TaskGeneratorException
- default behavior: with changed input, create one follow up task per changed inputs for each follow up task: create
one output bulk per output slot/bucket of the worker/action. without changed input (initial task creation) create
one initial task.
- Parameters:
changedInput - key: slot containing added bulks, value: added bulksinputBuckets - key: input slot name, value: bucket for this slotoutputBuckets - key: output slot name, value: bucket for this slotparameters - key: param name, value: (evaluated) param valueworkerName - (action) worker for which to create new tasks
- Returns:
- a list of new generated tasks
- Throws:
TaskGeneratorException - error while generating tasks
createRunOnceTasks
public java.util.List<Task> createRunOnceTasks(java.util.Map<java.lang.String,Bucket> inputBuckets,
java.util.Map<java.lang.String,Bucket> outputBuckets,
AnyMap parameters,
java.lang.String workerName)
throws TaskGeneratorException
- Creates tasks for the RunOnce mode, i.e. for all objects in the input bucket of the start action.
Note: The method will create one task per object in the input bucket.
If there is more than one input bucket defined for the worker, a TaskGeneratorException will be thrown.
- Specified by:
createRunOnceTasks in interface TaskGenerator- Overrides:
createRunOnceTasks in class TaskGeneratorBase
- Parameters:
inputBuckets - key: input slot name, value: bucket for this slotoutputBuckets - key: output slot name, value: bucket for this slotparameters - key: param name, value: (evaluated) param valueworkerName - (action) worker for which to create new tasks
- Returns:
- a list of new generated tasks
- Throws:
TaskGeneratorException - error while generating tasks
doCreateRunOnceTasks
protected java.util.List<Task> doCreateRunOnceTasks(java.util.Map<java.lang.String,Bucket> inputBuckets,
java.util.Map<java.lang.String,Bucket> outputBuckets,
AnyMap parameters,
java.lang.String workerName)
throws java.lang.Exception
- Creates a list of tasks for given input buckets. One task will be generated for each matching object found in the
store of the bucket. The object's name must begin with the bucket's object prefix.
- Parameters:
inputBuckets - key: input slot name, value: bucket for this slotoutputBuckets - key: output slot name, value: bucket for this slotparameters - key: param name, value: (evaluated) param valueworkerName - (action) worker for which to create new tasks
- Returns:
- a list of new generated tasks
- Throws:
ObjectStoreException - error reading object infos from store.
java.lang.Exception
createInitialTask
protected Task createInitialTask(java.util.Map<java.lang.String,Bucket> outputBuckets,
AnyMap parameters,
java.lang.String workerName)
- Returns:
- an initial task