public class WorkflowServiceImpl extends java.lang.Object implements WorkflowService
| Constructor and Description |
|---|
WorkflowServiceImpl() |
| Modifier and Type | Method and Description |
|---|---|
WorkflowInstance |
cancelWorkflow(java.lang.String workflowId)
Cancel an "in-flight" Workflow instance
|
java.util.List |
cancelWorkflows(java.util.List workflowIds)
Cancel a batch of "in-flight" Workflow instances
|
org.alfresco.service.cmr.repository.NodeRef |
createPackage(org.alfresco.service.cmr.repository.NodeRef container)
Create a Workflow Package (a container of content to route through the Workflow).
|
WorkflowInstance |
deleteWorkflow(java.lang.String workflowId)
Delete a Workflow instance.
|
WorkflowDeployment |
deployDefinition(org.alfresco.service.cmr.repository.NodeRef definitionContent)
Deploy a Workflow Definition to the Alfresco Repository
Note: The specified content object must be of type bpm:workflowdefinition.
|
WorkflowDeployment |
deployDefinition(java.lang.String engineId,
java.io.InputStream workflowDefinition,
java.lang.String mimetype)
Deploy a Workflow Definition to the Alfresco Repository
|
WorkflowDeployment |
deployDefinition(java.lang.String engineId,
java.io.InputStream workflowDefinition,
java.lang.String mimetype,
java.lang.String name)
Deploy a Workflow Definition to the Alfresco Repository
|
WorkflowTask |
endTask(java.lang.String taskId,
java.lang.String transition)
End the Task (i.e.
|
WorkflowPath |
fireEvent(java.lang.String pathId,
java.lang.String event)
Fire custom event against specified path
|
java.util.List |
getActiveWorkflows()
Gets all active workflow instances.
|
java.util.List |
getActiveWorkflows(java.lang.String workflowDefinitionId)
Gets all active workflow instances of the specified Workflow Definition
|
java.util.List |
getAllDefinitions()
Gets all deployed Workflow Definitions (with all previous versions)
|
java.util.List |
getAllDefinitionsByName(java.lang.String workflowName)
Gets all (including previous) Workflow Definitions for the given unique name
|
java.util.List |
getAssignedTasks(java.lang.String authority,
WorkflowTaskState state)
Gets all tasks assigned to the specified authority
|
java.util.List |
getCompletedWorkflows()
Gets all completed workflow instances.
|
java.util.List |
getCompletedWorkflows(java.lang.String workflowDefinitionId)
Gets all completed workflow instances of the specified Workflow Definition
|
WorkflowDefinition |
getDefinitionById(java.lang.String workflowDefinitionId)
Gets a Workflow Definition by unique Id
|
WorkflowDefinition |
getDefinitionByName(java.lang.String workflowName)
Gets the latest Workflow Definition by unique name
|
byte[] |
getDefinitionImage(java.lang.String workflowDefinitionId)
Gets a graphical view of the Workflow Definition
|
java.util.List |
getDefinitions()
Gets latest deployed Workflow Definitions
|
java.util.List |
getPackageContents(java.lang.String taskId)
Get a list of node refs to all the package contents for the given task id.
|
java.util.Map |
getPathProperties(java.lang.String pathId)
Gets the properties associated with the specified path (and parent paths)
|
java.util.List |
getPooledTasks(java.lang.String authority)
Gets the pooled tasks available to the specified authority
|
WorkflowTask |
getStartTask(java.lang.String workflowInstanceId)
Gets the start task instance for the given workflow instance.
|
java.util.List |
getStartTasks(java.util.List workflowInstanceIds,
boolean sameSession)
Gets the start task instances for the given workflow instances.
|
WorkflowTask |
getTaskById(java.lang.String taskId)
Gets a Task by unique Id
|
java.util.List |
getTaskDefinitions(java.lang.String workflowDefinitionId)
Gets the Task Definitions for the given Workflow Definition
|
java.util.List |
getTasksForWorkflowPath(java.lang.String pathId)
Gets all Tasks associated with the specified path
|
java.util.List |
getTimers(java.lang.String workflowId)
Gets all active timers for the specified workflow
|
WorkflowInstance |
getWorkflowById(java.lang.String workflowId)
Gets a specific workflow instances
|
java.io.InputStream |
getWorkflowImage(java.lang.String workflowInstanceId)
Gets a graphical view of the workflow instance
|
java.util.List |
getWorkflowPaths(java.lang.String workflowId)
Gets all Paths for the specified Workflow instance
|
java.util.List |
getWorkflows()
Gets all workflow instances (both active and completed).
|
java.util.List |
getWorkflows(java.lang.String workflowDefinitionId)
Gets all workflow instances (both active and completed) of the specified Workflow Definition
|
java.util.List |
getWorkflows(WorkflowInstanceQuery workflowInstanceQuery)
Gets all "in-flight" workflow instances according to the specified workflowInstanceQuery parameter
|
java.util.List |
getWorkflowsForContent(org.alfresco.service.cmr.repository.NodeRef packageItem,
boolean active)
Gets the Workflows that act upon the specified Repository content.
|
boolean |
hasWorkflowImage(java.lang.String workflowInstanceId)
Determines if a graphical view of the workflow instance exists
|
boolean |
isDefinitionDeployed(org.alfresco.service.cmr.repository.NodeRef workflowDefinition)
Is the specified Workflow Definition already deployed?
Note: the notion of "already deployed" may differ between bpm engines.
|
boolean |
isDefinitionDeployed(java.lang.String engineId,
java.io.InputStream workflowDefinition,
java.lang.String mimetype)
Is the specified Workflow Definition already deployed?
Note: the notion of "already deployed" may differ between bpm engines.
|
boolean |
isTaskClaimable(WorkflowTask task,
java.lang.String username)
Determines if the given user can claim the given task
|
boolean |
isTaskEditable(WorkflowTask task,
java.lang.String username)
Determines if the given user can edit the given task
|
boolean |
isTaskReassignable(WorkflowTask task,
java.lang.String username)
Determines if the given user can reassign the given task
|
boolean |
isTaskReleasable(WorkflowTask task,
java.lang.String username)
Determines if the given user can release the given task
|
java.util.List |
queryTasks(WorkflowTaskQuery query) |
java.util.List |
queryTasks(WorkflowTaskQuery query,
boolean sameSession)
Query for tasks
|
void |
setAuthorityService(AuthorityService authorityService)
Sets the Authority Service
|
void |
setAvmSyncService(AVMSyncService avmSyncService)
Set the avm sync service
|
void |
setBPMEngineRegistry(BPMEngineRegistry registry)
Sets the BPM Engine Registry
|
void |
setContentService(ContentService contentService)
Sets the Content Service
|
void |
setDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
Set the dictionary service
|
void |
setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
Sets the Node Service
|
void |
setProtectedNodeService(org.alfresco.service.cmr.repository.NodeService protectedNodeService)
Set the node service which applies permissions
|
void |
setServices(ServiceRegistry services)
Set the service registry
|
void |
setWorkflowAdminService(WorkflowAdminService workflowAdminService) |
void |
setWorkflowPackageComponent(WorkflowPackageComponent workflowPackageComponent)
Sets the Workflow Package Component
|
WorkflowPath |
signal(java.lang.String pathId,
java.lang.String transition)
Signal the transition from one Workflow Node to another
|
WorkflowPath |
startWorkflow(java.lang.String workflowDefinitionId,
java.util.Map parameters)
Start a Workflow Instance
|
WorkflowPath |
startWorkflowFromTemplate(org.alfresco.service.cmr.repository.NodeRef templateDefinition)
Start a Workflow Instance from an existing "Start Task" template node held in the
Repository.
|
void |
undeployDefinition(java.lang.String workflowDefinitionId)
Undeploy an exisiting Workflow Definition
TODO: Determine behaviour when "in-flight" workflow instances exist
|
WorkflowTask |
updateTask(java.lang.String taskId,
java.util.Map properties,
java.util.Map add,
java.util.Map remove)
Update the Properties and Associations of a Task
|
public void setAuthorityService(AuthorityService authorityService)
authorityService - public void setBPMEngineRegistry(BPMEngineRegistry registry)
registry - bpm engine registrypublic void setWorkflowAdminService(WorkflowAdminService workflowAdminService)
workflowAdminService - the workflowAdminService to setpublic void setWorkflowPackageComponent(WorkflowPackageComponent workflowPackageComponent)
workflowPackageComponent - workflow package componentpublic void setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
nodeService - public void setContentService(ContentService contentService)
contentService - public void setAvmSyncService(AVMSyncService avmSyncService)
avmSyncService - public void setDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
dictionaryService - public void setProtectedNodeService(org.alfresco.service.cmr.repository.NodeService protectedNodeService)
protectedNodeService - public void setServices(ServiceRegistry services)
services - service registrypublic WorkflowDeployment deployDefinition(java.lang.String engineId, java.io.InputStream workflowDefinition, java.lang.String mimetype)
WorkflowServicedeployDefinition in interface WorkflowServiceengineId - the bpm engine idworkflowDefinition - the workflow definitionmimetype - the mimetype of the workflow definitionpublic WorkflowDeployment deployDefinition(java.lang.String engineId, java.io.InputStream workflowDefinition, java.lang.String mimetype, java.lang.String name)
WorkflowServicedeployDefinition in interface WorkflowServiceengineId - the bpm engine idworkflowDefinition - the workflow definitionmimetype - the mimetype of the workflow definitionname - a name representing the deploymentpublic boolean isDefinitionDeployed(org.alfresco.service.cmr.repository.NodeRef workflowDefinition)
WorkflowServiceisDefinitionDeployed in interface WorkflowServiceworkflowDefinition - the content object containing the definitionpublic boolean isDefinitionDeployed(java.lang.String engineId,
java.io.InputStream workflowDefinition,
java.lang.String mimetype)
WorkflowServiceisDefinitionDeployed in interface WorkflowServiceengineId - the bpm engine idworkflowDefinition - the definition to checkmimetype - the mimetype of the definitionpublic WorkflowDeployment deployDefinition(org.alfresco.service.cmr.repository.NodeRef definitionContent)
WorkflowServicedeployDefinition in interface WorkflowServicedefinitionContent - the content object containing the definitionpublic void undeployDefinition(java.lang.String workflowDefinitionId)
WorkflowServiceundeployDefinition in interface WorkflowServiceworkflowDefinitionId - the id of the definition to undeploypublic java.util.List getDefinitions()
WorkflowServicegetDefinitions in interface WorkflowServicepublic java.util.List getAllDefinitions()
WorkflowServicegetAllDefinitions in interface WorkflowServicepublic WorkflowDefinition getDefinitionById(java.lang.String workflowDefinitionId)
WorkflowServicegetDefinitionById in interface WorkflowServiceworkflowDefinitionId - the workflow definition idpublic WorkflowDefinition getDefinitionByName(java.lang.String workflowName)
WorkflowServicegetDefinitionByName in interface WorkflowServiceworkflowName - workflow name e.g. jbpm$wf:reviewpublic java.util.List getAllDefinitionsByName(java.lang.String workflowName)
WorkflowServicegetAllDefinitionsByName in interface WorkflowServiceworkflowName - workflow name e.g. jbpm$wf:reviewpublic byte[] getDefinitionImage(java.lang.String workflowDefinitionId)
WorkflowServicegetDefinitionImage in interface WorkflowServiceworkflowDefinitionId - the workflow definition idpublic java.util.List getTaskDefinitions(java.lang.String workflowDefinitionId)
WorkflowServicegetTaskDefinitions in interface WorkflowServiceworkflowDefinitionId - the workflow definition idpublic WorkflowPath startWorkflow(java.lang.String workflowDefinitionId, java.util.Map parameters)
WorkflowServicestartWorkflow in interface WorkflowServiceworkflowDefinitionId - the workflow definition idparameters - the initial set of parameters used to populate the "Start Task" propertiespublic WorkflowPath startWorkflowFromTemplate(org.alfresco.service.cmr.repository.NodeRef templateDefinition)
WorkflowServicestartWorkflowFromTemplate in interface WorkflowServicetemplateDefinition - the node representing the Start Task propertiespublic java.util.List getActiveWorkflows(java.lang.String workflowDefinitionId)
getActiveWorkflows in interface WorkflowServiceworkflowDefinitionId - the workflow definition idpublic java.util.List getCompletedWorkflows(java.lang.String workflowDefinitionId)
getCompletedWorkflows in interface WorkflowServiceworkflowDefinitionId - the workflow definition idpublic java.util.List getWorkflows(java.lang.String workflowDefinitionId)
getWorkflows in interface WorkflowServiceworkflowDefinitionId - the workflow definition idpublic java.util.List getWorkflows(WorkflowInstanceQuery workflowInstanceQuery)
WorkflowServicegetWorkflows in interface WorkflowServicepublic java.util.List getActiveWorkflows()
getActiveWorkflows in interface WorkflowServicepublic java.util.List getCompletedWorkflows()
getCompletedWorkflows in interface WorkflowServicepublic java.util.List getWorkflows()
getWorkflows in interface WorkflowServicepublic WorkflowInstance getWorkflowById(java.lang.String workflowId)
getWorkflowById in interface WorkflowServiceworkflowId - the id of the workflow to retrievepublic java.util.List getWorkflowPaths(java.lang.String workflowId)
WorkflowServicegetWorkflowPaths in interface WorkflowServiceworkflowId - workflow instance idpublic java.util.Map getPathProperties(java.lang.String pathId)
WorkflowServicegetPathProperties in interface WorkflowServicepathId - workflow path idpublic WorkflowInstance cancelWorkflow(java.lang.String workflowId)
WorkflowServicecancelWorkflow in interface WorkflowServiceworkflowId - the workflow instance to cancelpublic java.util.List cancelWorkflows(java.util.List workflowIds)
WorkflowServicecancelWorkflows in interface WorkflowServiceworkflowIds - List of the workflow instances to cancelpublic WorkflowInstance deleteWorkflow(java.lang.String workflowId)
WorkflowServicedeleteWorkflow in interface WorkflowServiceworkflowId - the workflow instance to cancelpublic WorkflowPath signal(java.lang.String pathId, java.lang.String transition)
WorkflowServicesignal in interface WorkflowServicepathId - the workflow path to signal onpublic WorkflowPath fireEvent(java.lang.String pathId, java.lang.String event)
WorkflowServicefireEvent in interface WorkflowServicepathId - the workflow path to fire event onevent - name of eventpublic java.util.List getTimers(java.lang.String workflowId)
WorkflowServicegetTimers in interface WorkflowServicepublic java.util.List getTasksForWorkflowPath(java.lang.String pathId)
WorkflowServicegetTasksForWorkflowPath in interface WorkflowServicepathId - the path idpublic WorkflowTask getStartTask(java.lang.String workflowInstanceId)
getStartTask in interface WorkflowServicepublic java.util.List getStartTasks(java.util.List workflowInstanceIds,
boolean sameSession)
WorkflowServicegetStartTasks in interface WorkflowServicesameSession - indicates that the returned WorkflowTask elements will be used in
the same session. If true, the returned List will be a lazy loaded list
providing greater performance.public boolean hasWorkflowImage(java.lang.String workflowInstanceId)
WorkflowServicehasWorkflowImage in interface WorkflowServiceworkflowInstanceId - the workflow instance idpublic java.io.InputStream getWorkflowImage(java.lang.String workflowInstanceId)
WorkflowServicegetWorkflowImage in interface WorkflowServiceworkflowInstanceId - the workflow instance idpublic java.util.List getAssignedTasks(java.lang.String authority,
WorkflowTaskState state)
WorkflowServicegetAssignedTasks in interface WorkflowServiceauthority - the authoritystate - filter by specified workflow task statepublic java.util.List getPooledTasks(java.lang.String authority)
WorkflowServicegetPooledTasks in interface WorkflowServiceauthority - the authoritypublic java.util.List queryTasks(WorkflowTaskQuery query)
queryTasks in interface WorkflowServicepublic java.util.List queryTasks(WorkflowTaskQuery query, boolean sameSession)
WorkflowServicequeryTasks in interface WorkflowServicequery - the filter by which tasks are queriedsameSession - indicates that the returned WorkflowTask elements will be used in
the same session. If true, the returned List will be a lazy loaded list
providing greater performance.public WorkflowTask updateTask(java.lang.String taskId, java.util.Map properties, java.util.Map add, java.util.Map remove)
WorkflowServiceupdateTask in interface WorkflowServicetaskId - the task id to updateproperties - the map of properties to set on the task (or null, if none to set)add - the map of items to associate with the task (or null, if none to add)remove - the map of items to dis-associate with the task (or null, if none to remove)public WorkflowTask endTask(java.lang.String taskId, java.lang.String transition)
WorkflowServiceendTask in interface WorkflowServicetaskId - the task id to endpublic boolean isTaskEditable(WorkflowTask task, java.lang.String username)
WorkflowServiceisTaskEditable in interface WorkflowServicetask - The task to checkusername - The user to checkpublic boolean isTaskReassignable(WorkflowTask task, java.lang.String username)
WorkflowServiceisTaskReassignable in interface WorkflowServicetask - The task to checkusername - The user to checkpublic boolean isTaskClaimable(WorkflowTask task, java.lang.String username)
WorkflowServiceisTaskClaimable in interface WorkflowServicetask - The task to checkusername - The user to checkpublic boolean isTaskReleasable(WorkflowTask task, java.lang.String username)
WorkflowServiceisTaskReleasable in interface WorkflowServicetask - The task to checkusername - The user to checkpublic WorkflowTask getTaskById(java.lang.String taskId)
WorkflowServicegetTaskById in interface WorkflowServicetaskId - the task idpublic org.alfresco.service.cmr.repository.NodeRef createPackage(org.alfresco.service.cmr.repository.NodeRef container)
WorkflowServicecreatePackage in interface WorkflowServicecontainer - (optional) a pre-created container (e.g. folder, versioned folder or layered folder)public java.util.List getWorkflowsForContent(org.alfresco.service.cmr.repository.NodeRef packageItem,
boolean active)
WorkflowServicegetWorkflowsForContent in interface WorkflowServicepackageItem - the repository content item to get workflows foractive - true => active workflows only, false => completed workflows onlypublic java.util.List getPackageContents(java.lang.String taskId)
WorkflowServicegetPackageContents in interface WorkflowServicetaskId - - the task idCopyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.