SMILA 1.0 API documentation

org.eclipse.smila.jobmanager.internal
Class DefinitionPersistenceImpl

java.lang.Object
  extended by org.eclipse.smila.jobmanager.internal.DefinitionPersistenceImpl
All Implemented Interfaces:
DefinitionPersistence

public class DefinitionPersistenceImpl
extends java.lang.Object
implements DefinitionPersistence

Handles read/write operations of jobmanager definitions. Write operations are handled directly by writing to internal store after validating them. Read operations are delegated to DefinitionAccessor.


Constructor Summary
DefinitionPersistenceImpl()
           
 
Method Summary
protected  void activate(ComponentContext context)
          OSGi Declarative Services service activation method.
 void addBucket(BucketDefinition bucketDefinition)
          add one bucket to definition storage.
 void addJob(JobDefinition jobDefinition)
          add a job to definition storage.
 void addWorkflow(WorkflowDefinition workflowDefinition)
          add a workflow to definition storage.
 BucketDefinition getBucket(java.lang.String name)
          get a bucket from configuration or storage.
 java.util.Collection<java.lang.String> getBuckets()
          
 DataObjectTypeDefinition getDataObjectType(java.lang.String name)
          
 java.util.Collection<java.lang.String> getDataObjectTypes()
          
 JobDefinition getJob(java.lang.String name)
          get a job name from configuration or storage.
 java.util.Collection<java.lang.String> getJobs()
          
 WorkerDefinition getWorker(java.lang.String name)
          
 java.util.Collection<java.lang.String> getWorkers()
          
 WorkflowDefinition getWorkflow(java.lang.String name)
          get a workflow definition from storage (try first) or configuration (if not found in storage).
 java.util.Collection<java.lang.String> getWorkflows()
          
 boolean hasJob(java.lang.String jobName)
          
 void removeBucket(java.lang.String name)
          remove a bucket from the storage.
 void removeJob(java.lang.String name)
          remove a job from the storage.
 void removeWorkflow(java.lang.String name)
          remove a workflow from the storage.
 void setObjectStoreService(ObjectStoreService objectStore)
          method for DS to set a service reference.
 void setPermanentStorage(PermanentStorage permStorage)
           
 void setRunStorage(RunStorage runStorage)
           
 void setTaskGeneratorProvider(TaskGeneratorProvider taskGeneratorProvider)
          method for DS to set a service reference.
 void unsetObjectStoreService(ObjectStoreService objectStore)
          method for DS to unset a service reference.
 void unsetPermanentStorage(PermanentStorage permStorage)
           
 void unsetRunStorage(RunStorage runStorage)
           
 void unsetTaskGeneratorProvider(TaskGeneratorProvider taskGeneratorProvider)
          method for DS to unset a service reference.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefinitionPersistenceImpl

public DefinitionPersistenceImpl()
Method Detail

activate

protected void activate(ComponentContext context)
OSGi Declarative Services service activation method. Create object with given underlying definition storage service. The predefined data object type definitions, buckets and worker definitions are read from the configuration area.

Parameters:
context - OSGi service component context.

getDataObjectTypes

public java.util.Collection<java.lang.String> getDataObjectTypes()

Specified by:
getDataObjectTypes in interface DefinitionPersistence
Returns:
all data object type names.

getDataObjectType

public DataObjectTypeDefinition getDataObjectType(java.lang.String name)

Specified by:
getDataObjectType in interface DefinitionPersistence
Parameters:
name - the name of the data object type definition
Returns:
the data object type definition for the given name, or null if not found

getWorkers

public java.util.Collection<java.lang.String> getWorkers()

Specified by:
getWorkers in interface DefinitionPersistence
Returns:
all worker names.

getWorker

public WorkerDefinition getWorker(java.lang.String name)

Specified by:
getWorker in interface DefinitionPersistence
Parameters:
name - the name of the worker definition
Returns:
returns the worker definition with the given name, or null if not found

getBuckets

public java.util.Collection<java.lang.String> getBuckets()
                                                  throws PersistenceException

Specified by:
getBuckets in interface DefinitionPersistence
Returns:
names of preconfigured and user-defined buckets.
Throws:
PersistenceException - error reading from storage.

getBucket

public BucketDefinition getBucket(java.lang.String name)
                           throws PersistenceException
get a bucket from configuration or storage.

Specified by:
getBucket in interface DefinitionPersistence
Parameters:
name - bucket name
Returns:
bucket definition.
Throws:
PersistenceException - error reading from storage.

addBucket

public void addBucket(BucketDefinition bucketDefinition)
               throws PersistenceException,
                      InvalidConfigException
add one bucket to definition storage. No further validation.

Specified by:
addBucket in interface DefinitionPersistence
Parameters:
bucketDefinition - new bucket.
Throws:
PersistenceException - error writing to storage.
InvalidConfigException - error adding definition due to dependency constraints.

removeBucket

public void removeBucket(java.lang.String name)
                  throws PersistenceException,
                         InvalidConfigException
remove a bucket from the storage.

Specified by:
removeBucket in interface DefinitionPersistence
Parameters:
name - bucket name.
Throws:
PersistenceException - error deleting definition.
InvalidConfigException - error deleting definition due to dependency constraints

getJobs

public java.util.Collection<java.lang.String> getJobs()
                                               throws PersistenceException

Specified by:
getJobs in interface DefinitionPersistence
Returns:
names of defined jobs.
Throws:
PersistenceException - error reading from storage

getJob

public JobDefinition getJob(java.lang.String name)
                     throws PersistenceException
get a job name from configuration or storage.

Specified by:
getJob in interface DefinitionPersistence
Parameters:
name - job name
Returns:
job definition.
Throws:
PersistenceException - error reading from storage.

hasJob

public boolean hasJob(java.lang.String jobName)
               throws PersistenceException

Specified by:
hasJob in interface DefinitionPersistence
Parameters:
jobName - job name
Returns:
true if a job with this name is defined
Throws:
PersistenceException

removeJob

public void removeJob(java.lang.String name)
               throws PersistenceException,
                      IllegalJobStateException
remove a job from the storage.

Specified by:
removeJob in interface DefinitionPersistence
Parameters:
name - job name.
Throws:
PersistenceException - error deleting definition
IllegalJobStateException - the job is in an illegal state (i.e. it is running and cannot be removed).

addJob

public void addJob(JobDefinition jobDefinition)
            throws PersistenceException,
                   InvalidConfigException
add a job to definition storage. No further validation.

Specified by:
addJob in interface DefinitionPersistence
Parameters:
jobDefinition - new job.
Throws:
PersistenceException - error writing to storage.
InvalidConfigException - the job is misconfigured (e.g. has invalid parameter settings or not enough parameters to satisfy data object type definitions or worker parameters).

getWorkflows

public java.util.Collection<java.lang.String> getWorkflows()
                                                    throws PersistenceException

Specified by:
getWorkflows in interface DefinitionPersistence
Returns:
(unique) names of defined workflows.
Throws:
PersistenceException - error reading from storage

getWorkflow

public WorkflowDefinition getWorkflow(java.lang.String name)
                               throws PersistenceException
get a workflow definition from storage (try first) or configuration (if not found in storage).

Specified by:
getWorkflow in interface DefinitionPersistence
Parameters:
name - workflow name
Returns:
workflow definition.
Throws:
PersistenceException - error reading from storage.

removeWorkflow

public void removeWorkflow(java.lang.String name)
                    throws PersistenceException,
                           InvalidConfigException
remove a workflow from the storage.

Specified by:
removeWorkflow in interface DefinitionPersistence
Parameters:
name - workflow name.
Throws:
PersistenceException - error deleting definition
InvalidConfigException - error deleting definition due to dependency constraints

addWorkflow

public void addWorkflow(WorkflowDefinition workflowDefinition)
                 throws PersistenceException,
                        InvalidConfigException
add a workflow to definition storage. No further validation.

Specified by:
addWorkflow in interface DefinitionPersistence
Parameters:
workflowDefinition - new workflow.
Throws:
PersistenceException - error writing to storage.
InvalidConfigException - the configuration of the workflow is incorrect (e.g. would lead to an invalid store name.)

setPermanentStorage

public void setPermanentStorage(PermanentStorage permStorage)
Parameters:
permStorage - PermanentStorage reference.

unsetPermanentStorage

public void unsetPermanentStorage(PermanentStorage permStorage)
Parameters:
permStorage - PermanentStorage reference.

setRunStorage

public void setRunStorage(RunStorage runStorage)
Parameters:
runStorage - RunStorage reference.

unsetRunStorage

public void unsetRunStorage(RunStorage runStorage)
Parameters:
runStorage - RunStorage reference.

setObjectStoreService

public void setObjectStoreService(ObjectStoreService objectStore)
method for DS to set a service reference.

Parameters:
objectStore - ObjectStoreService reference.

unsetObjectStoreService

public void unsetObjectStoreService(ObjectStoreService objectStore)
method for DS to unset a service reference.

Parameters:
objectStore - ObjectStoreService reference.

setTaskGeneratorProvider

public void setTaskGeneratorProvider(TaskGeneratorProvider taskGeneratorProvider)
method for DS to set a service reference.

Parameters:
taskGeneratorProvider - TaskGeneratorProvider reference.

unsetTaskGeneratorProvider

public void unsetTaskGeneratorProvider(TaskGeneratorProvider taskGeneratorProvider)
method for DS to unset a service reference.

Parameters:
taskGeneratorProvider - TaskGeneratorProvider reference.

SMILA 1.0 API documentation