com.ebasetech.ufs.workflow.server.external
Class WorkflowManager

java.lang.Object
  extended by com.ebasetech.ufs.workflow.server.external.WorkflowManager
All Implemented Interfaces:
com.ebasetech.api.workflow.Constants, com.ebasetech.api.workflow.WorkflowManagement

public class WorkflowManager
extends java.lang.Object
implements com.ebasetech.api.workflow.WorkflowManagement, com.ebasetech.api.workflow.Constants

A singleton that is used to support the external tasklist and other job management applications. All of the operations required by the application are already defined in the WorkflowManagement interface


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.ebasetech.api.workflow.WorkflowManagement
com.ebasetech.api.workflow.WorkflowManagement.DecisionEnactmentDescriptor, com.ebasetech.api.workflow.WorkflowManagement.EscalatorEnactmentDescriptor, com.ebasetech.api.workflow.WorkflowManagement.FallibleEnactmentDescriptor, com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor, com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor, com.ebasetech.api.workflow.WorkflowManagement.PauseEnactmentDescriptor, com.ebasetech.api.workflow.WorkflowManagement.SystemTaskEnactmentDescriptor, com.ebasetech.api.workflow.WorkflowManagement.TaskEnactmentDescriptor
 
Field Summary
 
Fields inherited from interface com.ebasetech.api.workflow.Constants
ASSIGNMENT_ERROR, BAD_PARAMETER_VALUE_TYPE, CANNOT_LOAD_OBJECT, COLON, DOWNCAST_ERROR, EMBEDDED_SQL_EXCEPTION, ENACTMENT_INITIALISATION_EXCEPTION, ENACTMENT_NOT_ACTIVE, FAILED_SETTING_OUT_PARAM, ILLFORMED_PARAMETERS, INVALID_ASSIGNMENT, INVALID_ASSIGNMENT_EXCEPTION, INVALID_COMPLETION, INVALID_POST_EXCEPTION, INVALID_STATE_TRANSITION, INVALID_STATE_TRANSITION_EXCEPTION, MISSING_CALLER, NO_ROLLBACK, NO_SUCH_TASK, NULL_RESOURCE, NULL_TASK_NAME, NULL_VARIABLE_NAME, POOL_ASSIGNMENT_FAILED, PROCESS_ATTRIBUTE_EXCEPTION, PROCESS_STRUCTURE_EXCEPTION, RESOURCE_MANAGEMENT_EXCEPTION, SCRIPT_EXCEPTION_ERROR, SECURITY_EXCEPTION, SETUP_PROPERTIES_EXCEPTION, TRANSACTION_EXCEPTION, UNINITIALISED
 
Constructor Summary
WorkflowManager()
           
 
Method Summary
 void activateProcess(java.lang.String processName, java.lang.String reason, java.lang.String caller)
          Sets the state of the named process to be active.
 void assign(java.lang.String taskEnactmentDescriptorId, java.lang.String actorId, boolean onlyIfUnassigned, java.lang.String reason, java.lang.String caller)
          Assign a particular actor to the denoted task enactment
 void assign(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor, java.lang.String actorId, boolean onlyIfUnassigned, java.lang.String reason, java.lang.String caller)
          Assign a particular actor to the denoted task enactment
 void cancel(java.lang.String taskEnactmentDescriptor, java.lang.String reason, java.lang.String caller)
          Moves the identified task to the cancelled state.
 void cancel(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor, java.lang.String reason, java.lang.String caller)
          Moves the identified task to the cancelled state.
 void cancelJob(java.lang.String jobDescriptor, java.lang.String reason, java.lang.String caller)
          Cancels a currently executing job
 void cancelJob(com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor jobDescriptor, java.lang.String reason, java.lang.String caller)
          Cancels a currently executing job
 void complete(java.lang.String taskEnactmentDescriptor, java.lang.String completionState, java.util.Map outParams, java.lang.String reason, java.lang.String caller)
          Sets the output parameters as defined in the supplied map and Notifies the Job that the enactment has been completed with the given completion state.
 void complete(java.lang.String taskEnactmentDescriptor, java.lang.String completionState, java.lang.String reason, java.lang.String caller)
          Notifies the Job that the enactment has been completed with the given completion state.
 void complete(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor, java.lang.String completionState, java.util.Map outParams, java.lang.String reason, java.lang.String caller)
          Sets the output parameters as defined in the supplied map and notifies the Job that the enactment has been completed with the given completion state.
 void complete(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor, java.lang.String completionState, java.lang.String reason, java.lang.String caller)
          Notifies the Job that the enactment has been completed with the given completion state.
 java.lang.String descriptionOf(java.lang.String taskEnactmentDescriptor, java.lang.String language, java.lang.String caller)
          Answers the description of the described task.
 java.lang.String descriptionOf(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor, java.lang.String caller)
          Answers the description of the described task.
 com.ebasetech.ufs.workflow.server.enactment.ExecutionDescriptor descriptorFor(java.lang.String taskEnactmentDescriptorId, java.lang.String language, java.lang.String caller)
          Re-get the execution descriptor for the defined task.
 com.ebasetech.ufs.workflow.server.enactment.ExecutionDescriptor descriptorFor(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor, java.lang.String language, java.lang.String caller)
          Re-get the execution descriptor for the defined task.
 void forceAssign(java.lang.String taskEnactmentDescriptorId, java.lang.String actorId, java.lang.String reason, java.lang.String caller)
          Assign a particular actor to the denoted task enactment using a stringified identifier, forcing the assignment to be accepted, if the supplied actor exists, by the underlying assignment handler
 void forceAssign(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor, java.lang.String actorId, java.lang.String reason, java.lang.String caller)
          Assign a particular actor to the denoted task enactment, forcing the assignment to be accepted, if the supplied actor exists, by the underlying assignment handler
 void forceCompletion(java.lang.String fallibleDescriptor, java.lang.String reason, java.lang.String caller)
          Force the completion of a previously failed node enactment as identified by a stringified descriptor
 void forceCompletion(com.ebasetech.api.workflow.WorkflowManagement.FallibleEnactmentDescriptor fallibleDescriptor, java.lang.String reason, java.lang.String caller)
          Force the completion of a previously failed node enactment
 java.util.Collection getCandidateActors(java.lang.String taskEnactmentDescriptorId, java.lang.String caller)
          Answers a collection of the possible actor assignments to the identified task enactment
 java.util.Collection getCandidateActors(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor, java.lang.String caller)
          Answers a collection of the possible actor assignments to the identified task enactment
 java.util.List getFailedNodes(java.lang.String language, java.lang.String caller)
          Answers a list of FallibleEnactmentDescriptors, each of which describes a particular failed system task.
 java.util.List getFilteredAuditRecords(java.lang.String processName, java.lang.String jobId, java.lang.String taskId, java.lang.Integer level, java.lang.String auditCaller, java.lang.String reason, java.lang.String source, java.util.Date loggedBefore, java.util.Date loggedAfter, int maxRecords, java.lang.String language, java.lang.String caller)
          Answer a list of Audit objects which meet the supplied filter criteria
 java.util.List getFilteredJobs(java.lang.String jobId, java.lang.String process, java.lang.String opener, java.lang.String owner, java.lang.Boolean finished, java.util.Date creationDate1, java.util.Date creationDate2, java.util.Date modifiedDate1, java.util.Date modifiedDate2, java.util.Map<java.lang.String,java.lang.String> processAttributes, boolean ignoreSubJobs, boolean includeStepMode, java.lang.String language, java.lang.String caller)
          Answer a list of implementations of the JobDescriptor interface, each of which describes a current job in the system that meets the supplied filter criteria
 java.util.List getFilteredPendingEscalators(java.lang.String escalatedNodeName, java.lang.String escalatedEnactment, java.lang.String contingentEnactment, java.lang.String jobDescriptor, java.lang.String processName, java.lang.String actorId, java.util.Date dueBefore, java.util.Date dueAfter, boolean waiting, boolean active, boolean completed, boolean cancelled, boolean skipped, java.lang.String language, java.lang.String caller)
          Answer a list of implementations of the EscalatorEnactmentDescriptors interface, each of which describes a current extant escalator in the system that meets the supplied filter criteria.
 java.util.List getFilteredTasks(java.lang.String nodeClass, java.lang.String taskId, java.lang.String jobId, java.lang.String processName, java.lang.String actorId, java.lang.String assignableToActor, boolean includeActorTasks, boolean includePooledTasks, java.lang.String assignableToRole, boolean unassigned, boolean waiting, boolean active, boolean paused, boolean completed, boolean cancelled, boolean failed, boolean skipped, java.lang.String language, java.lang.String caller)
          Finds out the extant node enactments which meet the supplied filter criteria.
 java.util.List getJobs(boolean includeStepMode, java.lang.String language, java.lang.String caller)
           
 java.util.List getJobs(java.lang.String language, java.lang.String caller)
          Answer the list of all currently executing Jobs, each described by a JobDescriptor This list will include sub-jobs
 java.util.List getJobsForOwner(java.lang.String owner, java.lang.String language, java.lang.String caller)
          Answer a list of implementations of the JobDescriptor interface, each of which describes a current job in the system that's owned by the named owner This will include sub jobs.
 java.util.List getPendingEscalators(java.lang.String language, java.lang.String caller)
          Answers a list of EscalatorEnactmentDescriptors that list each of the escalators that are extant within the system
 java.lang.Object getProcessAttributeValue(java.lang.String jobDescriptor, java.lang.String name, java.lang.String caller)
          Gets the value for the named process attribute.
 java.lang.Object getProcessAttributeValue(com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor jobDescriptor, java.lang.String name, java.lang.String caller)
          Gets the value for the named process attribute.
 java.util.Map getProcessAttributeValues(java.lang.String jobDescriptor, java.lang.String caller)
          Gets a map of name value pairs for process attributes.
 java.lang.String getProcessDescription(java.lang.String processName, java.lang.String language, java.lang.String caller)
          Answers the description of the latest released version of the named process.
 java.util.List getProcesses(java.lang.String name, java.lang.Boolean quiescent, java.lang.String owner, java.lang.String creator, java.lang.Boolean deleted, java.lang.String caller, java.lang.String language)
          Answer the list of all latest process versions matching the supplied filter criteria each described by a ProcessDescriptor.
 java.util.List getProcessInParameters(java.lang.String processName, java.lang.String caller)
          Answers a list of input parameter names for the given process.
 java.util.List getTasks(java.lang.String jobDescriptor, java.lang.String language, java.lang.String caller)
          Finds out the extant interactive task enactments for a given job using a stringified descriptor
 java.util.List getTasks(com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor jobDescriptor, java.lang.String language, java.lang.String caller)
          Finds out the extant interactive task enactments for a given job.
 java.util.List getTasksForActor(java.lang.String actor, boolean unassigned, java.lang.String language, java.lang.String caller)
          Answers a list of TaskEnactmentDescriptors, each of which describes a particular item which is either on, or could appear on, a users tasklist.
 java.util.List getTasksForActor(java.lang.String actor, java.lang.String language, java.lang.String caller)
          Answers a list of TaskEnactmentDescriptors, each of which describes a particular item which is either on, or could appear on, a users tasklist.
 java.util.List getTasksForRole(java.lang.String role, boolean unassigned, java.lang.String language, java.lang.String caller)
          Answers a list of TaskEnactmentDescriptors, each of which describes a particular item which is either on, or could appear on, a users tasklist.
static void Initialise(com.ebasetech.ufs.kernel.IUFSServletContextProxy proxy)
          Some customer _must_ initialise this singleton before using it
static com.ebasetech.api.workflow.WorkflowManagement Instance()
          Answer the single instance of this class
 com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor open(java.lang.String processName, java.lang.String opener, java.lang.String owner, java.util.Map inParams, java.lang.String reason, java.lang.String caller)
          Starts a new job on an existing process, supplying the input parameters.
 com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor open(java.lang.String processName, java.lang.String opener, java.lang.String owner, java.lang.String reason, java.lang.String caller)
          Starts a new job on a defined process specifying both the opener and the owner.
 java.util.List openedJobs(java.lang.String opener, java.lang.String caller, java.lang.String language)
          Answer a list of implementations of the JobDescriptor interface, each of which describes a current job in the system that's owned by the defined user
 com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor openJobAndCompleteFirstTask(java.lang.String processName, java.lang.String opener, java.lang.String owner, java.lang.String taskName, java.lang.String completionState, java.util.Map jobInParams, java.util.Map firstTaskOutParams, java.lang.String language, java.lang.String reason, java.lang.String caller)
          Starts a new job on an existing process and signals that the first interactive task, which must be uniquely determinable, has been completed with the supplied completion state.
 com.ebasetech.ufs.workflow.server.enactment.ExecutionDescriptor openTask(java.lang.String taskEnactmentDescriptorId, java.lang.String language, java.lang.String reason, java.lang.String caller)
          Open an assigned task.
 com.ebasetech.ufs.workflow.server.enactment.ExecutionDescriptor openTask(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor, java.lang.String language, java.lang.String reason, java.lang.String caller)
          Open an assigned task.
 void pause(java.lang.String taskEnactmentDescriptor, java.lang.String reason, java.lang.String caller)
          Sets the identified task to the paused state.
 void pause(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor, java.lang.String reason, java.lang.String caller)
          Sets the identified task to the paused state.
 void post(java.lang.String process, java.util.Map<java.lang.String,java.lang.String> processAttributes, java.lang.String eventId, java.lang.String reason, java.lang.String caller)
          Posts the pause node identified by the event id, which runs the script associated with the node.
 void post(java.lang.String jobDescriptor, java.lang.String eventId, java.lang.String reason, java.lang.String caller)
          Posts the pause node identified by the event id, which runs the script associated with the node.
 void post(com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor jobDescriptor, java.lang.String eventId, java.lang.String reason, java.lang.String caller)
          Posts the pause node identified by the event id, which runs the script associated with the node.
 void quiesceProcess(java.lang.String processName, java.lang.String reason, java.lang.String caller)
          Sets the state of the named process to be quiescent.
 void reexecute(java.lang.String fallibleDescriptor, java.lang.String reason, java.lang.String caller)
          Re-execute a previously failed node enactment as identified by a stringified descriptor
 void reexecute(com.ebasetech.api.workflow.WorkflowManagement.FallibleEnactmentDescriptor fallibleDescriptor, java.lang.String reason, java.lang.String caller)
          Re-execute a previously failed node enactment
 void reinstateProcess(java.lang.String processName, java.lang.String reason, java.lang.String caller)
          Clears the "deleted" flag on the process.
 void setJobOwner(com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor jobDescriptor, java.lang.String actorId, java.lang.String reason, java.lang.String caller)
          Assign a particular owner to the denoted job
 void setOutputParameter(java.lang.String taskEnactmentDescriptor, java.lang.String name, java.lang.Object value, java.lang.String reason, java.lang.String caller)
          Sets a value for the named activity output parameter to be used in subsequent processing.
 void setOutputParameter(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor, java.lang.String name, java.lang.Object value, java.lang.String reason, java.lang.String caller)
          Sets a value for the named activity output parameter to be used in subsequent processing.
 void setOutputParameters(java.lang.String taskEnactmentDescriptor, java.util.Map outParams, java.lang.String reason, java.lang.String caller)
          Sets a value for the named activity output parameter to be used in subsequent processing.
 void setOutputParameters(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor, java.util.Map outParams, java.lang.String reason, java.lang.String caller)
          Sets a value for the named activity output parameter to be used in subsequent processing.
 void setPriority(java.lang.String taskEnactmentDescriptor, int priority, java.lang.String reason, java.lang.String caller)
          Changes the priority of the identified task enactment.
 void setPriority(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor, int priority, java.lang.String reason, java.lang.String caller)
          Changes the priority of the identified task enactment.
 void setProcessAttributeValue(java.lang.String jobDescriptor, java.lang.String name, java.lang.Object value, java.lang.String reason, java.lang.String caller)
          Sets the value for the named process attribute.
 void setProcessAttributeValue(com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor jobDescriptor, java.lang.String name, java.lang.Object value, java.lang.String reason, java.lang.String caller)
          Sets the value for the named process attribute.
 void setWaiting(java.lang.String taskEnactmentDescriptor, java.lang.String reason, java.lang.String caller)
          Sets the identified task to the waiting state.
 void setWaiting(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor, java.lang.String reason, java.lang.String caller)
          Sets the identified task to the waiting state.
 com.ebasetech.ufs.workflow.server.enactment.state.State stateOf(java.lang.String enactmentDescriptor, java.lang.String caller)
          Answers the state of the described task.
 com.ebasetech.ufs.workflow.server.enactment.state.State stateOf(com.ebasetech.api.workflow.WorkflowManagement.FallibleEnactmentDescriptor enactmentDescriptor, java.lang.String caller)
          Answers the state of the described enactment.
 void unassign(java.lang.String taskEnactmentDescriptor, java.lang.String reason, java.lang.String caller)
          Remove any current actor assignment to the identified task.
 void unassign(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor, java.lang.String reason, java.lang.String caller)
          Remove any current actor assignment to the identified task
 void unpause(java.lang.String taskEnactmentDescriptor, java.lang.String reason, java.lang.String caller)
          Moves the identified task from the paused state.
 void unpause(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor, java.lang.String reason, java.lang.String caller)
          Moves the identified task from the paused state.
 void unsetJobOwner(com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor jobDescriptor, java.lang.String reason, java.lang.String caller)
          Clears the owner for the denoted job.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WorkflowManager

public WorkflowManager()
Method Detail

Initialise

public static void Initialise(com.ebasetech.ufs.kernel.IUFSServletContextProxy proxy)
                       throws com.ebasetech.ufs.kernel.SetupPropertiesException
Some customer _must_ initialise this singleton before using it

Throws:
com.ebasetech.ufs.kernel.SetupPropertiesException

Instance

public static com.ebasetech.api.workflow.WorkflowManagement Instance()
                                                              throws WorkflowManagementException
Answer the single instance of this class

Throws:
WorkflowManagementException

getTasksForActor

public java.util.List getTasksForActor(java.lang.String actor,
                                       boolean unassigned,
                                       java.lang.String language,
                                       java.lang.String caller)
                                throws WorkflowManagementException,
                                       com.ebasetech.ufs.utility.PersistenceException,
                                       com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                       WorkflowSecurityException
Answers a list of TaskEnactmentDescriptors, each of which describes a particular item which is either on, or could appear on, a users tasklist. That is, it is representation of a current InteractiveTaskEnactment that is either in state Unassigned, or is in some other state but has the given actor as the defined specific resource. Enactments that are in one of the final states (ie. skipped, failed, completed or cancelled) are not returned by this call

Specified by:
getTasksForActor in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
actor - The actor for which the tasklist is intended
unassigned - If true, answer all task enactments that are currently in state Unassigned and which could be undertaken by the supplied actor. If false, then only those tasks which have the given actor allocated as their actorId are returned.
caller -
language - the language code for the language in use by the caller
Returns:
A list of objects that implement the WorkflowManagement.TaskEnactmentDescriptor interface
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility

getTasksForActor

public java.util.List getTasksForActor(java.lang.String actor,
                                       java.lang.String language,
                                       java.lang.String caller)
                                throws WorkflowManagementException,
                                       com.ebasetech.ufs.utility.PersistenceException,
                                       com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                       WorkflowSecurityException
Answers a list of TaskEnactmentDescriptors, each of which describes a particular item which is either on, or could appear on, a users tasklist. This method answers all such tasks, regardless of whether they# are currently assigned or not.

Specified by:
getTasksForActor in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
actor - The actor for which the tasklist is intended
caller -
language - the language code for the language in use by the caller
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility

getFailedNodes

public java.util.List getFailedNodes(java.lang.String language,
                                     java.lang.String caller)
                              throws WorkflowManagementException,
                                     com.ebasetech.ufs.utility.PersistenceException,
                                     com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                     WorkflowSecurityException
Answers a list of FallibleEnactmentDescriptors, each of which describes a particular failed system task.

Specified by:
getFailedNodes in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
language - the language code for the language in use by the caller
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility

reexecute

public void reexecute(com.ebasetech.api.workflow.WorkflowManagement.FallibleEnactmentDescriptor fallibleDescriptor,
                      java.lang.String reason,
                      java.lang.String caller)
               throws com.ebasetech.ufs.utility.PersistenceException,
                      WorkflowManagementException,
                      com.ebasetech.ufs.utility.ConcurrentUpdateException,
                      WorkflowSecurityException
Re-execute a previously failed node enactment

Specified by:
reexecute in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
fallibleDescriptor - a descriptor of the failed enactment
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.getFailedNodes(String, String), WorkflowManagement.reexecute(String, String, String)

reexecute

public void reexecute(java.lang.String fallibleDescriptor,
                      java.lang.String reason,
                      java.lang.String caller)
               throws com.ebasetech.ufs.utility.PersistenceException,
                      WorkflowManagementException,
                      com.ebasetech.ufs.utility.ConcurrentUpdateException,
                      WorkflowSecurityException
Re-execute a previously failed node enactment as identified by a stringified descriptor

Specified by:
reexecute in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
fallibleDescriptor - a descriptor of the failed enactment, acquired from getIdentifier()
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.reexecute(com.ebasetech.api.workflow.WorkflowManagement.FallibleEnactmentDescriptor, String, String), WorkflowManagement.FallibleEnactmentDescriptor.getIdentifier()

forceCompletion

public void forceCompletion(com.ebasetech.api.workflow.WorkflowManagement.FallibleEnactmentDescriptor fallibleDescriptor,
                            java.lang.String reason,
                            java.lang.String caller)
                     throws com.ebasetech.ufs.utility.PersistenceException,
                            WorkflowManagementException,
                            com.ebasetech.ufs.utility.ConcurrentUpdateException,
                            WorkflowSecurityException
Force the completion of a previously failed node enactment

Specified by:
forceCompletion in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
fallibleDescriptor - a descriptor of the failed enactment
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.forceCompletion(String, String, String)

forceCompletion

public void forceCompletion(java.lang.String fallibleDescriptor,
                            java.lang.String reason,
                            java.lang.String caller)
                     throws com.ebasetech.ufs.utility.PersistenceException,
                            WorkflowManagementException,
                            com.ebasetech.ufs.utility.ConcurrentUpdateException,
                            WorkflowSecurityException
Force the completion of a previously failed node enactment as identified by a stringified descriptor

Specified by:
forceCompletion in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
fallibleDescriptor - a descriptor of the failed enactment
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.forceCompletion(com.ebasetech.api.workflow.WorkflowManagement.FallibleEnactmentDescriptor, String, String), WorkflowManagement.FallibleEnactmentDescriptor.getIdentifier()

getTasksForRole

public java.util.List getTasksForRole(java.lang.String role,
                                      boolean unassigned,
                                      java.lang.String language,
                                      java.lang.String caller)
                               throws WorkflowManagementException,
                                      com.ebasetech.ufs.utility.PersistenceException,
                                      com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                      WorkflowSecurityException
Answers a list of TaskEnactmentDescriptors, each of which describes a particular item which is either on, or could appear on, a users tasklist. That is, it is representation of a current InteractiveTaskEnactment that may be taken up by an actor playing the defined role.

Specified by:
getTasksForRole in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
role - The role which is of interest
unassigned - If true, answer all task enactments that are currently in state Unassigned and which could be taken up by an actor playing the defined role. If false, answer those enactments which could be taken up by an actor playing the defined role and which have already been assigned to a particular actor
caller -
language - the language code for the language in use by the caller
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility

assign

public void assign(java.lang.String taskEnactmentDescriptorId,
                   java.lang.String actorId,
                   boolean onlyIfUnassigned,
                   java.lang.String reason,
                   java.lang.String caller)
            throws com.ebasetech.ufs.utility.PersistenceException,
                   com.ebasetech.ufs.utility.ConcurrentUpdateException,
                   WorkflowManagementException,
                   WorkflowSecurityException
Assign a particular actor to the denoted task enactment

Specified by:
assign in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptorId - Handle of the descriptor of the assignable object that is to be updated
actorId - The name of the actor to assign to the enactment
onlyIfUnassigned - If true, this will throw an exception if the task is already assigned
reason -
caller -
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.assign(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor,String,boolean,String,String), WorkflowManagement.InteractiveTaskEnactmentDescriptor.getIdentifier()

assign

public void assign(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor,
                   java.lang.String actorId,
                   boolean onlyIfUnassigned,
                   java.lang.String reason,
                   java.lang.String caller)
            throws com.ebasetech.ufs.utility.PersistenceException,
                   com.ebasetech.ufs.utility.ConcurrentUpdateException,
                   WorkflowManagementException,
                   WorkflowSecurityException
Assign a particular actor to the denoted task enactment

Specified by:
assign in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - The assignable object that is to be updated
actorId - The name of the actor to assign to the enactment
onlyIfUnassigned - If true, this will throw an exception if the task is already assigned
reason -
caller -
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.assign(String,String,boolean,String,String)

forceAssign

public void forceAssign(java.lang.String taskEnactmentDescriptorId,
                        java.lang.String actorId,
                        java.lang.String reason,
                        java.lang.String caller)
                 throws com.ebasetech.ufs.utility.PersistenceException,
                        com.ebasetech.ufs.utility.ConcurrentUpdateException,
                        WorkflowManagementException,
                        WorkflowSecurityException
Assign a particular actor to the denoted task enactment using a stringified identifier, forcing the assignment to be accepted, if the supplied actor exists, by the underlying assignment handler

Specified by:
forceAssign in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptorId - Handle of the descriptor of the assignable object that is to be updated
actorId - The name of the actor to assign to the enactment
reason -
caller -
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.assign(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor,String,boolean,String,String), WorkflowManagement.InteractiveTaskEnactmentDescriptor.getIdentifier()

forceAssign

public void forceAssign(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor,
                        java.lang.String actorId,
                        java.lang.String reason,
                        java.lang.String caller)
                 throws com.ebasetech.ufs.utility.PersistenceException,
                        com.ebasetech.ufs.utility.ConcurrentUpdateException,
                        WorkflowManagementException,
                        WorkflowSecurityException
Assign a particular actor to the denoted task enactment, forcing the assignment to be accepted, if the supplied actor exists, by the underlying assignment handler

Specified by:
forceAssign in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - The assignable object that is to be updated
actorId - The name of the actor to assign to the enactment
reason -
caller -
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.assign(String,String,boolean,String,String)

unassign

public void unassign(java.lang.String taskEnactmentDescriptor,
                     java.lang.String reason,
                     java.lang.String caller)
              throws com.ebasetech.ufs.utility.PersistenceException,
                     WorkflowManagementException,
                     com.ebasetech.ufs.utility.ConcurrentUpdateException,
                     WorkflowSecurityException
Remove any current actor assignment to the identified task. The pool definition remain unchanged.

Specified by:
unassign in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - Handle to the object to be unassigned
reason -
caller -
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.unassign(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor, String, String)

unassign

public void unassign(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor,
                     java.lang.String reason,
                     java.lang.String caller)
              throws com.ebasetech.ufs.utility.PersistenceException,
                     WorkflowManagementException,
                     com.ebasetech.ufs.utility.ConcurrentUpdateException,
                     WorkflowSecurityException
Remove any current actor assignment to the identified task

Specified by:
unassign in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - Handle to the assignable object to update
reason -
caller -
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.unassign(String, String, String)

openTask

public com.ebasetech.ufs.workflow.server.enactment.ExecutionDescriptor openTask(java.lang.String taskEnactmentDescriptorId,
                                                                                java.lang.String language,
                                                                                java.lang.String reason,
                                                                                java.lang.String caller)
                                                                         throws com.ebasetech.ufs.utility.PersistenceException,
                                                                                WorkflowManagementException,
                                                                                com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                                                                WorkflowSecurityException
Open an assigned task. That is, make the task realise that it's been opened elsewhere as the task is not actually run by this but by the application using the WorkflowManagement API.

Specified by:
openTask in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptorId - Descriptor of the task enactment to be opened
reason -
caller -
language - the language code for the language in use by the caller
Returns:
A description of what the invoking application must do to actually run this task
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.InteractiveTaskEnactmentDescriptor.getIdentifier()

openTask

public com.ebasetech.ufs.workflow.server.enactment.ExecutionDescriptor openTask(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor,
                                                                                java.lang.String language,
                                                                                java.lang.String reason,
                                                                                java.lang.String caller)
                                                                         throws com.ebasetech.ufs.utility.PersistenceException,
                                                                                WorkflowManagementException,
                                                                                com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                                                                WorkflowSecurityException
Open an assigned task. That is, make the task realised that it's been opened elsewhere as the task is not actually run by this but by the application using the WorkflowManagement API.

Specified by:
openTask in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - Descriptor of the task enactment to be opened
reason -
caller -
language - the language code for the language in use by the caller
Returns:
A description of what the invoking application must do to actually run this task
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.openTask(String,String,String,String)

descriptorFor

public com.ebasetech.ufs.workflow.server.enactment.ExecutionDescriptor descriptorFor(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor,
                                                                                     java.lang.String language,
                                                                                     java.lang.String caller)
                                                                              throws com.ebasetech.ufs.utility.PersistenceException,
                                                                                     WorkflowManagementException,
                                                                                     com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                                                                     WorkflowSecurityException
Re-get the execution descriptor for the defined task. This is used when a user does not get the chance to complete the associated task an must restart it.

Specified by:
descriptorFor in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - Descriptor of the task enactment to be opened
caller -
language - the language code for the language in use by the caller
Returns:
A description of what the invoking application must do to actually run this task
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.descriptorFor(String,String,String)

descriptorFor

public com.ebasetech.ufs.workflow.server.enactment.ExecutionDescriptor descriptorFor(java.lang.String taskEnactmentDescriptorId,
                                                                                     java.lang.String language,
                                                                                     java.lang.String caller)
                                                                              throws com.ebasetech.ufs.utility.PersistenceException,
                                                                                     WorkflowManagementException,
                                                                                     com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                                                                     WorkflowSecurityException
Re-get the execution descriptor for the defined task. This is used when a user does not get the chance to complete the associated task an must restart it.

Specified by:
descriptorFor in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptorId - Descriptor of the task enactment to be opened
caller -
language - the language code for the language in use by the caller
Returns:
A description of what the invoking application must do to actually run this task
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.descriptorFor(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor, String, String), WorkflowManagement.InteractiveTaskEnactmentDescriptor.getIdentifier()

stateOf

public com.ebasetech.ufs.workflow.server.enactment.state.State stateOf(java.lang.String enactmentDescriptor,
                                                                       java.lang.String caller)
                                                                throws com.ebasetech.ufs.utility.PersistenceException,
                                                                       WorkflowManagementException,
                                                                       com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                                                       WorkflowSecurityException
Answers the state of the described task.

Specified by:
stateOf in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
enactmentDescriptor - handle to the descriptor of the enactment whose state is required
caller - the id of the caller of the method.
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.stateOf(com.ebasetech.api.workflow.WorkflowManagement.FallibleEnactmentDescriptor, String), WorkflowManagement.FallibleEnactmentDescriptor.getIdentifier()

stateOf

public com.ebasetech.ufs.workflow.server.enactment.state.State stateOf(com.ebasetech.api.workflow.WorkflowManagement.FallibleEnactmentDescriptor enactmentDescriptor,
                                                                       java.lang.String caller)
                                                                throws com.ebasetech.ufs.utility.PersistenceException,
                                                                       WorkflowManagementException,
                                                                       com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                                                       WorkflowSecurityException
Answers the state of the described enactment.

Specified by:
stateOf in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
enactmentDescriptor - descriptor of the enactment whose state is required
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.stateOf(String, String)

getProcessDescription

public java.lang.String getProcessDescription(java.lang.String processName,
                                              java.lang.String language,
                                              java.lang.String caller)
                                       throws com.ebasetech.ufs.utility.PersistenceException,
                                              WorkflowManagementException,
                                              com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                              WorkflowSecurityException
Answers the description of the latest released version of the named process.

Specified by:
getProcessDescription in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
processName - name of the process
language - the language code for the language in use by the caller
caller - The id of the user invoking this method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested object
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility

activateProcess

public void activateProcess(java.lang.String processName,
                            java.lang.String reason,
                            java.lang.String caller)
                     throws com.ebasetech.ufs.utility.PersistenceException,
                            WorkflowManagementException,
                            com.ebasetech.ufs.utility.ConcurrentUpdateException,
                            WorkflowSecurityException
Sets the state of the named process to be active.

Specified by:
activateProcess in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
processName - name of the process whose state is to be changed
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested object
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility

quiesceProcess

public void quiesceProcess(java.lang.String processName,
                           java.lang.String reason,
                           java.lang.String caller)
                    throws com.ebasetech.ufs.utility.PersistenceException,
                           WorkflowManagementException,
                           com.ebasetech.ufs.utility.ConcurrentUpdateException,
                           WorkflowSecurityException
Sets the state of the named process to be quiescent.

Specified by:
quiesceProcess in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
processName - name of the process whose state is to be changed
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested object
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility

reinstateProcess

public void reinstateProcess(java.lang.String processName,
                             java.lang.String reason,
                             java.lang.String caller)
                      throws com.ebasetech.ufs.utility.PersistenceException,
                             WorkflowManagementException,
                             com.ebasetech.ufs.utility.ConcurrentUpdateException,
                             WorkflowSecurityException
Clears the "deleted" flag on the process.

Specified by:
reinstateProcess in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
processName - name of the process whose state is to be changed
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested object
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility

getCandidateActors

public java.util.Collection getCandidateActors(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor,
                                               java.lang.String caller)
                                        throws com.ebasetech.ufs.utility.PersistenceException,
                                               WorkflowManagementException,
                                               com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                               WorkflowSecurityException
Answers a collection of the possible actor assignments to the identified task enactment

Specified by:
getCandidateActors in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - descriptor of the target enactment
caller - The id of the user invoking this method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.getCandidateActors(String, String)

getCandidateActors

public java.util.Collection getCandidateActors(java.lang.String taskEnactmentDescriptorId,
                                               java.lang.String caller)
                                        throws com.ebasetech.ufs.utility.PersistenceException,
                                               WorkflowManagementException,
                                               com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                               WorkflowSecurityException
Answers a collection of the possible actor assignments to the identified task enactment

Specified by:
getCandidateActors in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptorId - handle to the descriptor of the target enactment
caller - The id of the user invoking this method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.getCandidateActors(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor, String), WorkflowManagement.InteractiveTaskEnactmentDescriptor.getIdentifier()

descriptionOf

public java.lang.String descriptionOf(java.lang.String taskEnactmentDescriptor,
                                      java.lang.String language,
                                      java.lang.String caller)
                               throws com.ebasetech.ufs.utility.PersistenceException,
                                      WorkflowManagementException,
                                      com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                      WorkflowSecurityException
Answers the description of the described task.

Specified by:
descriptionOf in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - descriptor of the target enactment
language - the language code for the language in use by the caller
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.descriptionOf(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor, String), WorkflowManagement.InteractiveTaskEnactmentDescriptor.getIdentifier()

descriptionOf

public java.lang.String descriptionOf(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor,
                                      java.lang.String caller)
                               throws com.ebasetech.ufs.utility.PersistenceException,
                                      WorkflowManagementException,
                                      com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                      WorkflowSecurityException
Answers the description of the described task.

Specified by:
descriptionOf in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - descriptor of the target enactment
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.descriptionOf(String, String, String)

setWaiting

public void setWaiting(java.lang.String taskEnactmentDescriptor,
                       java.lang.String reason,
                       java.lang.String caller)
                throws com.ebasetech.ufs.utility.PersistenceException,
                       WorkflowManagementException,
                       com.ebasetech.ufs.utility.ConcurrentUpdateException,
                       WorkflowSecurityException
Sets the identified task to the waiting state.

Specified by:
setWaiting in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - handle to the descriptor of the enactment to set waiting
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.setWaiting(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor, String, String), WorkflowManagement.InteractiveTaskEnactmentDescriptor.getIdentifier()

setWaiting

public void setWaiting(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor,
                       java.lang.String reason,
                       java.lang.String caller)
                throws com.ebasetech.ufs.utility.PersistenceException,
                       WorkflowManagementException,
                       com.ebasetech.ufs.utility.ConcurrentUpdateException,
                       WorkflowSecurityException
Sets the identified task to the waiting state.

Specified by:
setWaiting in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - descriptor of the enactment to set waiting
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.setWaiting(String, String, String)

pause

public void pause(java.lang.String taskEnactmentDescriptor,
                  java.lang.String reason,
                  java.lang.String caller)
           throws com.ebasetech.ufs.utility.PersistenceException,
                  WorkflowManagementException,
                  com.ebasetech.ufs.utility.ConcurrentUpdateException,
                  WorkflowSecurityException
Sets the identified task to the paused state.

Specified by:
pause in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - handle to the descriptor of the enactment to pause
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.pause(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor, String, String), WorkflowManagement.InteractiveTaskEnactmentDescriptor.getIdentifier()

pause

public void pause(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor,
                  java.lang.String reason,
                  java.lang.String caller)
           throws com.ebasetech.ufs.utility.PersistenceException,
                  WorkflowManagementException,
                  com.ebasetech.ufs.utility.ConcurrentUpdateException,
                  WorkflowSecurityException
Sets the identified task to the paused state.

Specified by:
pause in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - descriptor of the enactment to pause
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.pause(String, String, String)

unpause

public void unpause(java.lang.String taskEnactmentDescriptor,
                    java.lang.String reason,
                    java.lang.String caller)
             throws com.ebasetech.ufs.utility.PersistenceException,
                    WorkflowManagementException,
                    com.ebasetech.ufs.utility.ConcurrentUpdateException,
                    WorkflowSecurityException
Moves the identified task from the paused state.

Specified by:
unpause in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - handle to the descriptor of the enactment to unpause
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.unpause(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor, String, String), WorkflowManagement.InteractiveTaskEnactmentDescriptor.getIdentifier()

unpause

public void unpause(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor,
                    java.lang.String reason,
                    java.lang.String caller)
             throws com.ebasetech.ufs.utility.PersistenceException,
                    WorkflowManagementException,
                    com.ebasetech.ufs.utility.ConcurrentUpdateException,
                    WorkflowSecurityException
Moves the identified task from the paused state.

Specified by:
unpause in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - descriptor of the enactment to unpause
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.unpause(String, String, String)

cancel

public void cancel(java.lang.String taskEnactmentDescriptor,
                   java.lang.String reason,
                   java.lang.String caller)
            throws com.ebasetech.ufs.utility.PersistenceException,
                   WorkflowManagementException,
                   com.ebasetech.ufs.utility.ConcurrentUpdateException,
                   WorkflowSecurityException
Moves the identified task to the cancelled state.

Specified by:
cancel in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - handle to the descriptor of the enactment to unpause
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.cancel(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor, String, String), WorkflowManagement.InteractiveTaskEnactmentDescriptor.getIdentifier()

cancel

public void cancel(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor,
                   java.lang.String reason,
                   java.lang.String caller)
            throws com.ebasetech.ufs.utility.PersistenceException,
                   WorkflowManagementException,
                   com.ebasetech.ufs.utility.ConcurrentUpdateException,
                   WorkflowSecurityException
Moves the identified task to the cancelled state.

Specified by:
cancel in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - descriptor of the enactment to unpause
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.cancel(String, String, String)

post

public void post(java.lang.String jobDescriptor,
                 java.lang.String eventId,
                 java.lang.String reason,
                 java.lang.String caller)
          throws com.ebasetech.ufs.utility.PersistenceException,
                 WorkflowManagementException,
                 com.ebasetech.ufs.utility.ConcurrentUpdateException,
                 WorkflowSecurityException
Posts the pause node identified by the event id, which runs the script associated with the node. This version of the post method() finds the job using its id.

Specified by:
post in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
jobDescriptor - stringified form of the job descriptor
eventId - the event id of the pause node to be posted
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility

post

public void post(com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor jobDescriptor,
                 java.lang.String eventId,
                 java.lang.String reason,
                 java.lang.String caller)
          throws com.ebasetech.ufs.utility.PersistenceException,
                 WorkflowManagementException,
                 com.ebasetech.ufs.utility.ConcurrentUpdateException,
                 WorkflowSecurityException
Posts the pause node identified by the event id, which runs the script associated with the node. This version of the post method() finds the job using its id.

Specified by:
post in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
jobDescriptor - descriptor of the job to cancel
eventId - the event id of the pause node to be posted
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility

post

public void post(java.lang.String process,
                 java.util.Map<java.lang.String,java.lang.String> processAttributes,
                 java.lang.String eventId,
                 java.lang.String reason,
                 java.lang.String caller)
          throws com.ebasetech.ufs.utility.PersistenceException,
                 WorkflowManagementException,
                 com.ebasetech.ufs.utility.ConcurrentUpdateException,
                 WorkflowSecurityException
Posts the pause node identified by the event id, which runs the script associated with the node. This version of the post method() finds the job using process id and process attributes.

Specified by:
post in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
process - name of the process
processAttributes - a map of names and values of process attributes to uniquely identify a single job
eventId - the event id of the pause node to be posted
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility

setPriority

public void setPriority(java.lang.String taskEnactmentDescriptor,
                        int priority,
                        java.lang.String reason,
                        java.lang.String caller)
                 throws com.ebasetech.ufs.utility.PersistenceException,
                        WorkflowManagementException,
                        com.ebasetech.ufs.utility.ConcurrentUpdateException,
                        WorkflowSecurityException
Changes the priority of the identified task enactment. This does not change the default priority in the task node itself.

Specified by:
setPriority in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - descriptor of the enactment to unpause
priority - new priority for the selected enactment.
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.setPriority(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor, int, String, String), WorkflowManagement.InteractiveTaskEnactmentDescriptor.getIdentifier()

setPriority

public void setPriority(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor,
                        int priority,
                        java.lang.String reason,
                        java.lang.String caller)
                 throws com.ebasetech.ufs.utility.PersistenceException,
                        WorkflowManagementException,
                        com.ebasetech.ufs.utility.ConcurrentUpdateException,
                        WorkflowSecurityException
Changes the priority of the identified task enactment. This does not change the default priority in the task node itself.

Specified by:
setPriority in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - descriptor of the enactment to unpause
priority - new priority for the selected enactment.
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.setPriority(String, int, String, String)

open

public com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor open(java.lang.String processName,
                                                                        java.lang.String opener,
                                                                        java.lang.String owner,
                                                                        java.lang.String reason,
                                                                        java.lang.String caller)
                                                                 throws com.ebasetech.ufs.utility.PersistenceException,
                                                                        WorkflowManagementException,
                                                                        com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                                                        WorkflowSecurityException
Starts a new job on a defined process specifying both the opener and the owner. The owner, opener and caller parameters may all be null to allow invocation from a non secure context.

Specified by:
open in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
processName - the name of the process on which to open a job
opener - the resource who is opening this job
owner - the resource who owns this job
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility

open

public com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor open(java.lang.String processName,
                                                                        java.lang.String opener,
                                                                        java.lang.String owner,
                                                                        java.util.Map inParams,
                                                                        java.lang.String reason,
                                                                        java.lang.String caller)
                                                                 throws com.ebasetech.ufs.utility.PersistenceException,
                                                                        WorkflowManagementException,
                                                                        com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                                                        WorkflowSecurityException
Starts a new job on an existing process, supplying the input parameters. The owner, opener and caller parameters may all be null to allow invocation from a non secure context.

Specified by:
open in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
processName - the name of the process on which to open a job
opener - the resource who is opening this job
owner - the resource who owns this job
inParams - Map of process input parameter names and values
reason -
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility

getProcessInParameters

public java.util.List getProcessInParameters(java.lang.String processName,
                                             java.lang.String caller)
                                      throws com.ebasetech.ufs.utility.PersistenceException,
                                             com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                             WorkflowManagementException,
                                             WorkflowSecurityException
Answers a list of input parameter names for the given process.

Specified by:
getProcessInParameters in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
processName - the name of the process
caller - the id of the caller of the method
Throws:
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
WorkflowSecurityException - if the supplied caller is not allowed to access this facility

openJobAndCompleteFirstTask

public com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor openJobAndCompleteFirstTask(java.lang.String processName,
                                                                                               java.lang.String opener,
                                                                                               java.lang.String owner,
                                                                                               java.lang.String taskName,
                                                                                               java.lang.String completionState,
                                                                                               java.util.Map jobInParams,
                                                                                               java.util.Map firstTaskOutParams,
                                                                                               java.lang.String language,
                                                                                               java.lang.String reason,
                                                                                               java.lang.String caller)
                                                                                        throws com.ebasetech.ufs.utility.PersistenceException,
                                                                                               WorkflowManagementException,
                                                                                               com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                                                                               WorkflowSecurityException
Starts a new job on an existing process and signals that the first interactive task, which must be uniquely determinable, has been completed with the supplied completion state. The supplied map of parameters are also provided as the parameters that are set after the task has completed. The opener and caller parameters may all be null to allow invocation from a non secure context.

Specified by:
openJobAndCompleteFirstTask in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
processName - the name of the process on which to open a new job
opener - the textual name of the person openign the job
taskName - the name of the interactive task that has also been completed
completionState - the completion state of the denoted task
jobInParams - the input parameters for the new job or null of there are none
firstTaskOutParams - the output parameters from the completed task or null if there are none
language - the language code for the language in use by the caller
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested object
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility

openedJobs

public java.util.List openedJobs(java.lang.String opener,
                                 java.lang.String caller,
                                 java.lang.String language)
                          throws com.ebasetech.ufs.utility.PersistenceException,
                                 WorkflowManagementException,
                                 com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                 WorkflowSecurityException
Answer a list of implementations of the JobDescriptor interface, each of which describes a current job in the system that's owned by the defined user

Specified by:
openedJobs in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
opener - The opener of the new job
language -
caller - The id of the user invoking this method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested object
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility

getJobs

public java.util.List getJobs(java.lang.String language,
                              java.lang.String caller)
                       throws com.ebasetech.ufs.utility.PersistenceException,
                              WorkflowManagementException,
                              com.ebasetech.ufs.utility.ConcurrentUpdateException,
                              WorkflowSecurityException
Answer the list of all currently executing Jobs, each described by a JobDescriptor This list will include sub-jobs

Specified by:
getJobs in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
caller - The id of the user invoking this method
language - the language code for the language in use by the caller
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility

getJobs

public java.util.List getJobs(boolean includeStepMode,
                              java.lang.String language,
                              java.lang.String caller)
                       throws com.ebasetech.ufs.utility.PersistenceException,
                              WorkflowManagementException,
                              com.ebasetech.ufs.utility.ConcurrentUpdateException,
                              WorkflowSecurityException
Throws:
com.ebasetech.ufs.utility.PersistenceException
WorkflowManagementException
com.ebasetech.ufs.utility.ConcurrentUpdateException
WorkflowSecurityException

getProcesses

public java.util.List getProcesses(java.lang.String name,
                                   java.lang.Boolean quiescent,
                                   java.lang.String owner,
                                   java.lang.String creator,
                                   java.lang.Boolean deleted,
                                   java.lang.String caller,
                                   java.lang.String language)
                            throws com.ebasetech.ufs.utility.PersistenceException,
                                   WorkflowManagementException,
                                   com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                   WorkflowSecurityException
Answer the list of all latest process versions matching the supplied filter criteria each described by a ProcessDescriptor.

Specified by:
getProcesses in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
caller - The id of the user invoking this method
name - the name of the process
quiescent - the required state of the versions, or null if don't care
owner - the owner of the process versions, or null if don't care
creator - the creator of the process versions, or null if don't care
deleted - the state of the versions' deleted flag, or null if don't care
language - the language code for the language in use by the caller
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility

getPendingEscalators

public java.util.List getPendingEscalators(java.lang.String language,
                                           java.lang.String caller)
                                    throws WorkflowManagementException,
                                           com.ebasetech.ufs.utility.PersistenceException,
                                           WorkflowSecurityException,
                                           com.ebasetech.ufs.utility.ConcurrentUpdateException
Answers a list of EscalatorEnactmentDescriptors that list each of the escalators that are extant within the system

Specified by:
getPendingEscalators in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
caller - The id of the user invoking this method
language - the language code for the language in use by the caller
Throws:
WorkflowManagementException
com.ebasetech.ufs.utility.PersistenceException
WorkflowSecurityException
com.ebasetech.ufs.utility.ConcurrentUpdateException

getTasks

public java.util.List getTasks(com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor jobDescriptor,
                               java.lang.String language,
                               java.lang.String caller)
                        throws com.ebasetech.ufs.utility.PersistenceException,
                               WorkflowManagementException,
                               com.ebasetech.ufs.utility.ConcurrentUpdateException,
                               WorkflowSecurityException
Finds out the extant interactive task enactments for a given job. Answers a list of TaskDescriptors.

Specified by:
getTasks in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
jobDescriptor -
caller -
language - the language code for the language in use by the caller
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.getTasks(String, String, String)

getTasks

public java.util.List getTasks(java.lang.String jobDescriptor,
                               java.lang.String language,
                               java.lang.String caller)
                        throws com.ebasetech.ufs.utility.PersistenceException,
                               WorkflowManagementException,
                               com.ebasetech.ufs.utility.ConcurrentUpdateException,
                               WorkflowSecurityException
Finds out the extant interactive task enactments for a given job using a stringified descriptor

Specified by:
getTasks in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
jobDescriptor -
caller -
language - the language code for the language in use by the caller
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.getTasks(com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor, String, String), WorkflowManagement.JobDescriptor.getIdentifier()

getFilteredTasks

public java.util.List getFilteredTasks(java.lang.String nodeClass,
                                       java.lang.String taskId,
                                       java.lang.String jobId,
                                       java.lang.String processName,
                                       java.lang.String actorId,
                                       java.lang.String assignableToActor,
                                       boolean includeActorTasks,
                                       boolean includePooledTasks,
                                       java.lang.String assignableToRole,
                                       boolean unassigned,
                                       boolean waiting,
                                       boolean active,
                                       boolean paused,
                                       boolean completed,
                                       boolean cancelled,
                                       boolean failed,
                                       boolean skipped,
                                       java.lang.String language,
                                       java.lang.String caller)
                                throws com.ebasetech.ufs.utility.PersistenceException,
                                       WorkflowManagementException,
                                       com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                       WorkflowSecurityException
Finds out the extant node enactments which meet the supplied filter criteria. Note that if assignableToActor or assignableToRole are supplied, this will automatically exclude any task enactment which si in one of the final states (ie. completed, cancelled, skipped or failed). For the boolean state attributes, if all are false, states will not be used for filtering. If any are true, only task enactments in those states will be returned. Task enactments will only be returned if they meet ALL the filter criteria.

Specified by:
getFilteredTasks in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
nodeClass - the class name of the node types for which task enactments are required. If null then all nodes are allowed
taskId - stringified form of the descriptor for the specific node enactment we're looking for. If null then all enactments are requured
jobId - stringified form of job for which enactments are required. If null then enactments for all jobs are required.
processName - name of process for desired enactments, or null if all processes are acceptable
actorId - name of assigned actor for desired enactments, or null if all are acceptable
assignableToActor - name of actor to which the desired enactments may successfully assigned, or null if all are acceptable
includeActorTasks - If true and assignableToActor is set, this will return all tasks which are potentially assignable to the named actor and are not already assigned to another actor.
includePooledTasks - If true and assignableToActor is set, this will return all tasks which are potentially assignable to the named actor and are not already assigned to another actor.
assignableToRole - name of role to which the desired enactments may successfully assigned, or null if all are acceptable
unassigned - if true, return only those enactments that are unassigned. If false, then return all enactments.
waiting - if true, return only those enactments that are waiting. If false, then return all enactments.
active - if true, return only those enactments that are active. If false, then return all enactments.
paused - if true, return only those enactments that are paused. If false, then return all enactments.
completed - if true, return only those enactments that are completed. If false, then return all enactments.
cancelled - if true, return only those enactments that are cancelled. If false, then return all enactments.
failed - if true, return only those enactments that are failed. If false, then return all enactments.
skipped - if true, return only those enactments that are skipped. If false, then return all enactments.
language - the language code for the language in use by the caller
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility

cancelJob

public void cancelJob(java.lang.String jobDescriptor,
                      java.lang.String reason,
                      java.lang.String caller)
               throws com.ebasetech.ufs.utility.PersistenceException,
                      WorkflowManagementException,
                      com.ebasetech.ufs.utility.ConcurrentUpdateException,
                      WorkflowSecurityException
Cancels a currently executing job

Specified by:
cancelJob in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
jobDescriptor -
reason -
caller -
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.cancelJob(com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor, String, String), WorkflowManagement.JobDescriptor.getIdentifier()

cancelJob

public void cancelJob(com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor jobDescriptor,
                      java.lang.String reason,
                      java.lang.String caller)
               throws com.ebasetech.ufs.utility.PersistenceException,
                      WorkflowManagementException,
                      com.ebasetech.ufs.utility.ConcurrentUpdateException,
                      WorkflowSecurityException
Cancels a currently executing job

Specified by:
cancelJob in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
jobDescriptor - descriptor of the job to cancel
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.cancelJob(String, String, String)

complete

public void complete(java.lang.String taskEnactmentDescriptor,
                     java.lang.String completionState,
                     java.lang.String reason,
                     java.lang.String caller)
              throws com.ebasetech.ufs.utility.PersistenceException,
                     WorkflowManagementException,
                     com.ebasetech.ufs.utility.ConcurrentUpdateException,
                     WorkflowSecurityException
Notifies the Job that the enactment has been completed with the given completion state.

Specified by:
complete in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - handle to the descriptor of the enactment that has completed
completionState - string representation of the completion state of the enactment
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.complete(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor, String, String, String), WorkflowManagement.InteractiveTaskEnactmentDescriptor.getIdentifier()

complete

public void complete(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor,
                     java.lang.String completionState,
                     java.lang.String reason,
                     java.lang.String caller)
              throws com.ebasetech.ufs.utility.PersistenceException,
                     WorkflowManagementException,
                     com.ebasetech.ufs.utility.ConcurrentUpdateException,
                     WorkflowSecurityException
Notifies the Job that the enactment has been completed with the given completion state.

Specified by:
complete in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - descriptor of the enactment that has completed
completionState - string representation of the completion state of the enactment
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.complete(String, String, String, String)

complete

public void complete(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor,
                     java.lang.String completionState,
                     java.util.Map outParams,
                     java.lang.String reason,
                     java.lang.String caller)
              throws com.ebasetech.ufs.utility.PersistenceException,
                     WorkflowManagementException,
                     com.ebasetech.ufs.utility.ConcurrentUpdateException,
                     WorkflowSecurityException
Sets the output parameters as defined in the supplied map and notifies the Job that the enactment has been completed with the given completion state.

Specified by:
complete in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - the descriptor of the enactment that has completed
completionState - string representation of the completion state of the enactment
outParams - map of the output parameter names and their values
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested object
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.complete(String, String, java.util.Map, String, String)

complete

public void complete(java.lang.String taskEnactmentDescriptor,
                     java.lang.String completionState,
                     java.util.Map outParams,
                     java.lang.String reason,
                     java.lang.String caller)
              throws com.ebasetech.ufs.utility.PersistenceException,
                     WorkflowManagementException,
                     com.ebasetech.ufs.utility.ConcurrentUpdateException,
                     WorkflowSecurityException
Sets the output parameters as defined in the supplied map and Notifies the Job that the enactment has been completed with the given completion state.

Specified by:
complete in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - handle to the descriptor of the enactment that has completed
completionState - string representation of the completion state of the enactment
outParams - map of the output parameter names and their values
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested object
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.complete(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor, String, java.util.Map, String, String), WorkflowManagement.InteractiveTaskEnactmentDescriptor.getIdentifier()

setOutputParameter

public void setOutputParameter(java.lang.String taskEnactmentDescriptor,
                               java.lang.String name,
                               java.lang.Object value,
                               java.lang.String reason,
                               java.lang.String caller)
                        throws com.ebasetech.ufs.utility.PersistenceException,
                               WorkflowManagementException,
                               com.ebasetech.ufs.utility.ConcurrentUpdateException,
                               WorkflowSecurityException
Sets a value for the named activity output parameter to be used in subsequent processing. The parameter name is the name from the activity. The mappings set at design-time between the activity out params and the job's process attributes will be used to store the parameter values on the job.

Specified by:
setOutputParameter in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - descriptor of the target enactment
name - the name of the output parameter
value - the new value of the output parameter
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.setOutputParameter(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor, String, Object, String, String), WorkflowManagement.InteractiveTaskEnactmentDescriptor.getIdentifier()

setOutputParameter

public void setOutputParameter(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor,
                               java.lang.String name,
                               java.lang.Object value,
                               java.lang.String reason,
                               java.lang.String caller)
                        throws com.ebasetech.ufs.utility.PersistenceException,
                               WorkflowManagementException,
                               com.ebasetech.ufs.utility.ConcurrentUpdateException,
                               WorkflowSecurityException
Sets a value for the named activity output parameter to be used in subsequent processing. The parameter name is the name from the activity. The mappings set at design-time between the activity out params and the job's process attributes will be used to store the parameter values on the job.

Specified by:
setOutputParameter in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - descriptor of the target enactment
name - the name of the output parameter
value - the new value of the output parameter
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.setOutputParameter(String, String, Object, String, String)

setOutputParameters

public void setOutputParameters(java.lang.String taskEnactmentDescriptor,
                                java.util.Map outParams,
                                java.lang.String reason,
                                java.lang.String caller)
                         throws com.ebasetech.ufs.utility.PersistenceException,
                                WorkflowManagementException,
                                com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                WorkflowSecurityException
Sets a value for the named activity output parameter to be used in subsequent processing. The parameter name is the name from the activity. The mappings set at design-time between the activity out params and the job's process attributes will be used to store the parameter values on the job.

Specified by:
setOutputParameters in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - stringified form of the descriptor of the target enactment
outParams - map of the output parameters names and values
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.setOutputParameters(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor, java.util.Map, String, String), WorkflowManagement.InteractiveTaskEnactmentDescriptor.getIdentifier()

setOutputParameters

public void setOutputParameters(com.ebasetech.api.workflow.WorkflowManagement.InteractiveTaskEnactmentDescriptor taskEnactmentDescriptor,
                                java.util.Map outParams,
                                java.lang.String reason,
                                java.lang.String caller)
                         throws com.ebasetech.ufs.utility.PersistenceException,
                                WorkflowManagementException,
                                com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                WorkflowSecurityException
Sets a value for the named activity output parameter to be used in subsequent processing. The parameter name is the name from the activity. The mappings set at design-time between the activity out params and the job's process attributes will be used to store the parameter values on the job.

Specified by:
setOutputParameters in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
taskEnactmentDescriptor - the descriptor of the target enactment
outParams - map of the output parameters names and values
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.setOutputParameters(String, java.util.Map, String, String)

getProcessAttributeValue

public java.lang.Object getProcessAttributeValue(java.lang.String jobDescriptor,
                                                 java.lang.String name,
                                                 java.lang.String caller)
                                          throws com.ebasetech.ufs.utility.PersistenceException,
                                                 WorkflowManagementException,
                                                 com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                                 WorkflowSecurityException
Gets the value for the named process attribute.

Specified by:
getProcessAttributeValue in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
jobDescriptor - handle to the descriptor of the target job
name - name of the desired attribute
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.getProcessAttributeValue(com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor, String, String), WorkflowManagement.JobDescriptor.getIdentifier()

getProcessAttributeValue

public java.lang.Object getProcessAttributeValue(com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor jobDescriptor,
                                                 java.lang.String name,
                                                 java.lang.String caller)
                                          throws com.ebasetech.ufs.utility.PersistenceException,
                                                 WorkflowManagementException,
                                                 com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                                 WorkflowSecurityException
Gets the value for the named process attribute.

Specified by:
getProcessAttributeValue in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
jobDescriptor - descriptor of the target job
name - name of the desired attribute
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.getProcessAttributeValue(String, String, String)

getProcessAttributeValues

public java.util.Map getProcessAttributeValues(java.lang.String jobDescriptor,
                                               java.lang.String caller)
                                        throws com.ebasetech.ufs.utility.PersistenceException,
                                               WorkflowManagementException,
                                               com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                               WorkflowSecurityException
Gets a map of name value pairs for process attributes.

Specified by:
getProcessAttributeValues in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
jobDescriptor - descriptor of the target job
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.getProcessAttributeValue(com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor, String, String), WorkflowManagement.JobDescriptor.getIdentifier()

setProcessAttributeValue

public void setProcessAttributeValue(com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor jobDescriptor,
                                     java.lang.String name,
                                     java.lang.Object value,
                                     java.lang.String reason,
                                     java.lang.String caller)
                              throws com.ebasetech.ufs.utility.PersistenceException,
                                     WorkflowManagementException,
                                     com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                     WorkflowSecurityException
Sets the value for the named process attribute.

Specified by:
setProcessAttributeValue in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
jobDescriptor - descriptor of the target job
name - name of the desired attribute
value - new value for the named attibute
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.setProcessAttributeValue(String, String, Object, String, String)

setProcessAttributeValue

public void setProcessAttributeValue(java.lang.String jobDescriptor,
                                     java.lang.String name,
                                     java.lang.Object value,
                                     java.lang.String reason,
                                     java.lang.String caller)
                              throws com.ebasetech.ufs.utility.PersistenceException,
                                     WorkflowManagementException,
                                     com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                     WorkflowSecurityException
Sets the value for the named process attribute.

Specified by:
setProcessAttributeValue in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
jobDescriptor - handle to the descriptor of the target job
name - name of the desired attribute
value - new value for the named attibute
reason - a textual reason for invoking this method
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility
See Also:
WorkflowManagement.setProcessAttributeValue(com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor, String, Object, String, String), WorkflowManagement.JobDescriptor.getIdentifier()

setJobOwner

public void setJobOwner(com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor jobDescriptor,
                        java.lang.String actorId,
                        java.lang.String reason,
                        java.lang.String caller)
                 throws com.ebasetech.ufs.utility.PersistenceException,
                        com.ebasetech.ufs.utility.ConcurrentUpdateException,
                        WorkflowManagementException,
                        WorkflowSecurityException
Assign a particular owner to the denoted job

Specified by:
setJobOwner in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
jobDescriptor - The assignable object that is to be updated
actorId - The name of the actor to assign to the enactment
reason -
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility

unsetJobOwner

public void unsetJobOwner(com.ebasetech.api.workflow.WorkflowManagement.JobDescriptor jobDescriptor,
                          java.lang.String reason,
                          java.lang.String caller)
                   throws com.ebasetech.ufs.utility.PersistenceException,
                          com.ebasetech.ufs.utility.ConcurrentUpdateException,
                          WorkflowManagementException,
                          WorkflowSecurityException
Clears the owner for the denoted job. If the job's process has an assignment expression, a request to getDynamicallyEvaluatedOwner may still return a result.

Specified by:
unsetJobOwner in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
jobDescriptor - The assignable object that is to be updated
reason -
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested objecy
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility

getJobsForOwner

public java.util.List getJobsForOwner(java.lang.String owner,
                                      java.lang.String language,
                                      java.lang.String caller)
                               throws com.ebasetech.ufs.utility.PersistenceException,
                                      WorkflowManagementException,
                                      com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                      WorkflowSecurityException
Answer a list of implementations of the JobDescriptor interface, each of which describes a current job in the system that's owned by the named owner This will include sub jobs.

Specified by:
getJobsForOwner in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
owner - The owner of the new job
language - the language code for the language in use by the caller
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested object
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility

getFilteredJobs

public java.util.List getFilteredJobs(java.lang.String jobId,
                                      java.lang.String process,
                                      java.lang.String opener,
                                      java.lang.String owner,
                                      java.lang.Boolean finished,
                                      java.util.Date creationDate1,
                                      java.util.Date creationDate2,
                                      java.util.Date modifiedDate1,
                                      java.util.Date modifiedDate2,
                                      java.util.Map<java.lang.String,java.lang.String> processAttributes,
                                      boolean ignoreSubJobs,
                                      boolean includeStepMode,
                                      java.lang.String language,
                                      java.lang.String caller)
                               throws com.ebasetech.ufs.utility.PersistenceException,
                                      WorkflowManagementException,
                                      com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                      WorkflowSecurityException
Answer a list of implementations of the JobDescriptor interface, each of which describes a current job in the system that meets the supplied filter criteria

Specified by:
getFilteredJobs in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
owner - The owner of the new job
includeStepMode -
jobId - descriptor handle of the required job, of null if all jobs are required
process - name of the process for which result jobs are required, or null if jobs on all processes are required
opener - name of the opener of the desired jobs, or null if all openers are acceptable
finished - the finished state of the desired jobs, or null if all are required
creationDate1 - when creationDateTo is not null, specifies the lower creation date range value for returned jobs
creationDate2 - when creationDateFrom is not null, specifies the upper creation date range value for returned jobs
modifiedDate1 - when modifiedDateTo is not null, specifies the lower last modified date range value for returned jobs
modifiedDate2 - when modifiedDateFrom is not null, specifies the upper last modified date range value for returned jobs
processAttributes - a map of names and values of process attributes to filter the job by
ignoreSubJobs - whether sub-jobs should be included in the results list
language - the language code for the language in use by the caller
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested object
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility

getFilteredAuditRecords

public java.util.List getFilteredAuditRecords(java.lang.String processName,
                                              java.lang.String jobId,
                                              java.lang.String taskId,
                                              java.lang.Integer level,
                                              java.lang.String auditCaller,
                                              java.lang.String reason,
                                              java.lang.String source,
                                              java.util.Date loggedBefore,
                                              java.util.Date loggedAfter,
                                              int maxRecords,
                                              java.lang.String language,
                                              java.lang.String caller)
                                       throws com.ebasetech.ufs.utility.PersistenceException,
                                              WorkflowManagementException,
                                              com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                              WorkflowSecurityException
Answer a list of Audit objects which meet the supplied filter criteria

Specified by:
getFilteredAuditRecords in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
maxRecords - The maximum number of records to be returned from this query (to avoid out of memory exceptions)
processName - the process name for which audit records are required, or null if any process is acceptable.
jobId - the stringified form of the job descriptor for which records are required, or null if all are acceptable
taskId - the stringified form of the task descriptor for which records are required, or null if all are acceptable
level - the level integer for which records are required, or null if all are acceptable
auditCaller - the caller of the original operation for which records are required, or null if all are acceptable
reason - the desired reason for which records are required, or null if all are acceptable
source - the source for which records are required, or null if all are acceptable
loggedBefore - the date before which records are required, or null if all are acceptable
loggedAfter - the date after which records are required, or null if all are acceptable
language - the language code for the language in use by the caller
caller - the id of the caller of the method
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested object
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility

getFilteredPendingEscalators

public java.util.List getFilteredPendingEscalators(java.lang.String escalatedNodeName,
                                                   java.lang.String escalatedEnactment,
                                                   java.lang.String contingentEnactment,
                                                   java.lang.String jobDescriptor,
                                                   java.lang.String processName,
                                                   java.lang.String actorId,
                                                   java.util.Date dueBefore,
                                                   java.util.Date dueAfter,
                                                   boolean waiting,
                                                   boolean active,
                                                   boolean completed,
                                                   boolean cancelled,
                                                   boolean skipped,
                                                   java.lang.String language,
                                                   java.lang.String caller)
                                            throws com.ebasetech.ufs.utility.PersistenceException,
                                                   WorkflowManagementException,
                                                   com.ebasetech.ufs.utility.ConcurrentUpdateException,
                                                   WorkflowSecurityException
Answer a list of implementations of the EscalatorEnactmentDescriptors interface, each of which describes a current extant escalator in the system that meets the supplied filter criteria. All of the conditions implied by the parameters to this operation are essentially "anded" together.

Specified by:
getFilteredPendingEscalators in interface com.ebasetech.api.workflow.WorkflowManagement
Parameters:
escalatedNodeName - the name of the node which is escalated by the related node of each of the returned escalator enactments. If null then any node may be escalated by the results
escalatedEnactment - descriptor handle of the nodeEnactment which the returned escalators escalate. If null then the returned escalators may escalate any enactment, subject to the other criteria
contingentEnactment - descriptor handle of the nodeenactment upon which each returned escalator is contingent, or null if all contingees are required
jobDescriptor - descriptor handle of a job within which the returned escalators must exist, or null if all jobs are acceptable
processName - name of the process, jobs for which contain the returned escalators; or null if all processes are acceptable
actorId - name of the user to whom the resulting escalators ARE ASSIGNABLE, or null if escalators targetted at any user are acceptable (NB: This is different to the EscalatorEnactment.FilteredEscalatorEnactments() method)
waiting - if true, all returned escalators are in the waiting state, if false all are returned the finished state of the desired escalator, or null if all are required
active - if true, all returned escalators are in the active state, if false all are returned the finished state of the desired escalator, or null if all are required
completed - if true, all returned escalators are in the completed state, if false all are returned the finished state of the desired escalator, or null if all are required
cancelled - if true, all returned escalators are in the cancelled state, if false all are returned the finished state of the desired escalator, or null if all are required
skipped - if true, all returned escalators are in the skipped state, if false all are returned the finished state of the desired escalator, or null if all are required
language - the language code for the language in use by the caller
caller - the id of the caller of the method
dueBefore - the date before which the escalation is due to fire, or null if all are acceptable
dueAfter - the date after which the escalation is due to fire, or null if all are acceptable
Throws:
WorkflowManagementException - if there is some problem with invoking the operation on the underlying objects. This could be, for example, a request to transition the state in a disallowed manner.
com.ebasetech.ufs.utility.PersistenceException - if there is a problem with the underlying persistence framework such as not being able to find the requested object
com.ebasetech.ufs.utility.ConcurrentUpdateException - if accessing the underlying database tables causes a conflict with some other processer in the cluster
WorkflowSecurityException - if the supplied caller is not allowed to access this facility