SMILA (incubation) API documentation

org.eclipse.smila.jobmanager.taskgenerator
Class DefaultTaskGenerator

java.lang.Object
  extended by org.eclipse.smila.jobmanager.taskgenerator.TaskGeneratorBase
      extended by org.eclipse.smila.jobmanager.taskgenerator.DefaultTaskGenerator
All Implemented Interfaces:
TaskGenerator

public class DefaultTaskGenerator
extends TaskGeneratorBase

Default Task Generator implementation.


Field Summary
 
Fields inherited from class org.eclipse.smila.jobmanager.taskgenerator.TaskGeneratorBase
_log, _objectStore, PROPERTY_GENERATOR_NAME
 
Constructor Summary
DefaultTaskGenerator()
           
 
Method Summary
protected  Task createInitialTask(java.util.Map<java.lang.String,Bucket> outputBuckets, java.util.Map<java.lang.String,java.lang.String> 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, java.util.Map<java.lang.String,java.lang.String> 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, java.util.Map<java.lang.String,java.lang.String> 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.
 
Methods inherited from class org.eclipse.smila.jobmanager.taskgenerator.TaskGeneratorBase
activate, addOutputBulks, addOutputBulks, checkBucketCounts, createSingleBulkTask, createTask, 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
 

Constructor Detail

DefaultTaskGenerator

public DefaultTaskGenerator()
Method Detail

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,
                                        java.util.Map<java.lang.String,java.lang.String> 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 bulks
inputBuckets - key: input slot name, value: bucket for this slot
outputBuckets - key: output slot name, value: bucket for this slot
parameters - key: param name, value: (evaluated) param value
workerName - (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,
                                               java.util.Map<java.lang.String,java.lang.String> 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 slot
outputBuckets - key: output slot name, value: bucket for this slot
parameters - key: param name, value: (evaluated) param value
workerName - (action) worker for which to create new tasks
Returns:
a list of new generated tasks
Throws:
TaskGeneratorException - error while generating tasks

createInitialTask

protected Task createInitialTask(java.util.Map<java.lang.String,Bucket> outputBuckets,
                                 java.util.Map<java.lang.String,java.lang.String> parameters,
                                 java.lang.String workerName)
Returns:
an initial task

SMILA (incubation) API documentation