SMILA 1.0 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
Direct Known Subclasses:
RunOnceTriggerTaskGenerator

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, 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
 

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,
                                        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 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,
                                               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 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

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 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:
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

SMILA 1.0 API documentation