Class ActivitiWorkflowEngine
java.lang.Object
org.alfresco.repo.workflow.BPMEngine
org.alfresco.repo.workflow.activiti.ActivitiWorkflowEngine
- All Implemented Interfaces:
TaskComponent,WorkflowComponent,WorkflowEngine,org.springframework.beans.factory.InitializingBean
- Since:
- 3.4.e
- Author:
- Nick Smith, Frederik Heremans
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ActivitiUtilprotected static final Stringprotected static final Stringstatic final QName -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcancelWorkflow(String workflowId) Cancel an "in-flight" Workflow instancecancelWorkflows(List<String> workflowIds) Cancel a batch of "in-flight" Workflow instancesvoidcheckDeploymentCategory(InputStream workflowDefinition) Sets the deployment category if applicable to allow the workflow to have full accesslongcountTasks(WorkflowTaskQuery query) Count the number of active tasks that match the given query.longcountWorkflows(WorkflowInstanceQuery workflowInstanceQuery) Get count of workflow instancesdeleteWorkflow(String workflowId) Delete an "in-flight" Workflow instancedeployDefinition(InputStream workflowDefinition, String mimetype) Deploy a Workflow DefinitiondeployDefinition(InputStream workflowDefinition, String mimetype, String name) Deploy a Workflow DefinitiondeployDefinition(InputStream workflowDefinition, String mimetype, String name, boolean fullAccess) Deploy a Workflow DefinitionvoiddispatchPackageUpdatedEvent(Object variableValue, String taskId, String executionId, String processInstanceId, String processDefinitionId) End the Task (i.e. complete the task)Fire custom event against specified pathGets all "in-flight" active workflow instances.getActiveWorkflows(String workflowDefinitionId) Gets all "in-flight" active workflow instances of the specified Workflow DefinitionGets all deployed Workflow Definitions (with all previous versions)getAllDefinitionsByName(String workflowName) Gets all (including previous) Workflow Definitions for the given unique namegetAssignedTasks(String authority, WorkflowTaskState state, boolean lazyInitialization) Gets all tasks assigned to the specified authorityGets all completed workflow instances.getCompletedWorkflows(String workflowDefinitionId) Gets all "in-flight" completed workflow instances of the specified Workflow DefinitiongetDefinitionById(String workflowDefinitionId) Gets a Workflow Definition by unique IdgetDefinitionByName(String workflowName) Gets a Workflow Definition by unique namebyte[]getDefinitionImage(String workflowDefinitionId) Gets a graphical view of the Workflow DefinitionGets all deployed Workflow DefinitionsgetPathProperties(String pathId) Gets the properties associated with the specified path (and parent paths)getPooledTasks(List<String> authorities, boolean lazyInitialization) Gets the pooled tasks available to the specified authoritygetStartTask(String workflowInstanceId) Gets all active timers for the specified workflowgetStartTasks(List<String> workflowInstanceIds, boolean sameSession) Gets all start tasks for the specified workflowgetTaskById(String taskId) Gets a Task by unique IdgetTaskDefinitions(String workflowDefinitionId) Gets the Task Definitions for the given Workflow DefinitiongetTasksForWorkflowPath(String pathId) Gets all Tasks associated with the specified pathGets all active timers for the specified workflowgetWorkflowById(String workflowId) Gets a specific workflow instancesgetWorkflowImage(String workflowInstanceId) Gets a graphical view of the workflow instancegetWorkflowPaths(String workflowId) Gets all Paths for the specified Workflow instanceGets all workflow instances (both active and completed).getWorkflows(String workflowDefinitionId) Gets all "in-flight" workflow instances (both active and completed) of the specified Workflow DefinitiongetWorkflows(WorkflowInstanceQuery workflowInstanceQuery) Gets all "in-flight" workflow instances according to the specified workflowInstanceQuery parametergetWorkflows(WorkflowInstanceQuery workflowInstanceQuery, int maxItems, int skipCount) Gets maxItems "in-flight" workflow instances according to the specified workflowInstanceQuery parameterbooleanhasWorkflowImage(String workflowInstanceId) Determines if a graphical view of the workflow instance existsbooleanisDefinitionDeployed(InputStream workflowDefinition, String mimetype) Is the specified Workflow Definition already deployed?queryTasks(WorkflowTaskQuery query) queryTasks(WorkflowTaskQuery query, boolean sameSession) Query for tasks Hint: useWorkflowTaskQuerysetLimit() method to limit the number of processed items if you don't really need to go through all of themvoidsetActivitiUtil(ActivitiUtil activitiUtil) voidsetAuthorityManager(WorkflowAuthorityManager authorityManager) Sets the Authority DAO /**voidsetDictionaryService(DictionaryService dictionaryService) Sets the Dictionary ServicevoidsetFactory(WorkflowObjectFactory factory) voidsetMessageService(MessageService messageService) voidsetNamespaceService(NamespaceService namespaceService) voidsetNodeConverter(WorkflowNodeConverter nodeConverter) voidsetNodeService(NodeService nodeService) Sets the Node ServicevoidsetPersonService(PersonService personService) Sets the Person ServicevoidsetPropertyConverter(ActivitiPropertyConverter propertyConverter) voidsetRepositoryHelper(Repository repositoryHelper) voidsetTenantService(TenantService tenantService) voidsetTypeConverter(ActivitiTypeConverter typeConverter) Signal the transition from one Workflow Node to another within an "in-flight" process.Start the specified Task Note: this is an optional task operation.startWorkflow(String workflowDefinitionId, Map<QName, Serializable> parameters) Start a Workflow InstancesuspendTask(String taskId) Suspend the specified TaskvoidundeployDefinition(String workflowDefinitionId) Undeploy an exisiting Workflow Definition TODO: Determine behaviour when "in-flight" workflow instances existupdateTask(String taskId, Map<QName, Serializable> properties, Map<QName, List<NodeRef>> add, Map<QName, List<NodeRef>> remove) Update the Properties and Associations of a TaskMethods inherited from class org.alfresco.repo.workflow.BPMEngine
createGlobalId, createLocalId, getEngineId, setBPMEngineRegistry, setEngineId
-
Field Details
-
ERR_FIRE_EVENT_NOT_SUPPORTED
- See Also:
-
ERR_FIND_COMPLETED_TASK_INSTS
- See Also:
-
QNAME_INITIATOR
-
activitiUtil
-
-
Constructor Details
-
ActivitiWorkflowEngine
public ActivitiWorkflowEngine()
-
-
Method Details
-
afterPropertiesSet
- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean- Overrides:
afterPropertiesSetin classBPMEngine- Throws:
Exception
-
cancelWorkflows
Description copied from interface:WorkflowComponentCancel a batch of "in-flight" Workflow instances- Specified by:
cancelWorkflowsin interfaceWorkflowComponent- Parameters:
workflowIds- List of the workflow instances to cancel- Returns:
- List of updated representations of the workflow instances
-
cancelWorkflow
Cancel an "in-flight" Workflow instance- Specified by:
cancelWorkflowin interfaceWorkflowComponent- Parameters:
workflowId- the workflow instance to cancel- Returns:
- an updated representation of the workflow instance
-
deleteWorkflow
Delete an "in-flight" Workflow instance- Specified by:
deleteWorkflowin interfaceWorkflowComponent- Parameters:
workflowId- the workflow instance to cancel- Returns:
- an updated representation of the workflow instance
-
deployDefinition
Deploy a Workflow Definition- Specified by:
deployDefinitionin interfaceWorkflowComponent- Parameters:
workflowDefinition- the content object containing the definitionmimetype- (optional) the mime type of the workflow definition- Returns:
- workflow deployment descriptor
-
deployDefinition
public WorkflowDeployment deployDefinition(InputStream workflowDefinition, String mimetype, String name) Deploy a Workflow Definition- Specified by:
deployDefinitionin interfaceWorkflowComponent- Parameters:
workflowDefinition- the content object containing the definitionmimetype- (optional) the mime type of the workflow definitionname- (optional) a name to represent the deployment- Returns:
- workflow deployment descriptor
-
deployDefinition
public WorkflowDeployment deployDefinition(InputStream workflowDefinition, String mimetype, String name, boolean fullAccess) Deploy a Workflow Definition- Specified by:
deployDefinitionin interfaceWorkflowComponent- Parameters:
workflowDefinition- the content object containing the definitionmimetype- (optional) the mime type of the workflow definitionname- (optional) a name to represent the deploymentfullAccess- true if category should be defined in order to consider the deployment secure- Returns:
- workflow deployment descriptor
-
fireEvent
Fire custom event against specified path- Specified by:
fireEventin interfaceWorkflowComponent- Parameters:
pathId- the workflow path to fire event onevent- name of event- Returns:
- workflow path (it may have been updated as a result of firing the event
-
getActiveWorkflows
Gets all "in-flight" active workflow instances.- Specified by:
getActiveWorkflowsin interfaceWorkflowComponent- Returns:
- the list of "in-flight" workflow instances
-
getCompletedWorkflows
Gets all completed workflow instances.- Specified by:
getCompletedWorkflowsin interfaceWorkflowComponent- Returns:
- the list of "in-flight" workflow instances
-
getWorkflows
Gets all workflow instances (both active and completed).- Specified by:
getWorkflowsin interfaceWorkflowComponent- Returns:
- the list of "in-flight" workflow instances
-
getActiveWorkflows
Gets all "in-flight" active workflow instances of the specified Workflow Definition- Specified by:
getActiveWorkflowsin interfaceWorkflowComponent- Parameters:
workflowDefinitionId- the workflow definition id- Returns:
- the list of "in-flight" workflow instances
-
getAllDefinitions
Gets all deployed Workflow Definitions (with all previous versions)- Specified by:
getAllDefinitionsin interfaceWorkflowComponent- Returns:
- the deployed (and previous) workflow definitions
-
getAllDefinitionsByName
Gets all (including previous) Workflow Definitions for the given unique name- Specified by:
getAllDefinitionsByNamein interfaceWorkflowComponent- Parameters:
workflowName- workflow name e.g. activiti$activitiReview- Returns:
- the deployed workflow definition (or null if not found)
-
getCompletedWorkflows
Gets all "in-flight" completed workflow instances of the specified Workflow Definition- Specified by:
getCompletedWorkflowsin interfaceWorkflowComponent- Parameters:
workflowDefinitionId- the workflow definition id- Returns:
- the list of "in-flight" workflow instances
-
getDefinitionById
Gets a Workflow Definition by unique Id- Specified by:
getDefinitionByIdin interfaceWorkflowComponent- Parameters:
workflowDefinitionId- the workflow definition id- Returns:
- the deployed workflow definition
-
getDefinitionByName
Gets a Workflow Definition by unique name- Specified by:
getDefinitionByNamein interfaceWorkflowComponent- Parameters:
workflowName- workflow name e.g. activiti$activitiReview- Returns:
- the deployed workflow definition
-
getDefinitionImage
Gets a graphical view of the Workflow Definition- Specified by:
getDefinitionImagein interfaceWorkflowComponent- Parameters:
workflowDefinitionId- the workflow definition id- Returns:
- graphical image of workflow definition
-
getDefinitions
Gets all deployed Workflow Definitions- Specified by:
getDefinitionsin interfaceWorkflowComponent- Returns:
- the deployed workflow definitions
-
getPathProperties
Gets the properties associated with the specified path (and parent paths)- Specified by:
getPathPropertiesin interfaceWorkflowComponent- Parameters:
pathId- workflow path id- Returns:
- map of path properties
-
getTaskDefinitions
Gets the Task Definitions for the given Workflow Definition- Specified by:
getTaskDefinitionsin interfaceWorkflowComponent- Parameters:
workflowDefinitionId- the workflow definition id- Returns:
- the deployed task definitions (or null if not found)
-
getTasksForWorkflowPath
Gets all Tasks associated with the specified path- Specified by:
getTasksForWorkflowPathin interfaceWorkflowComponent- Parameters:
pathId- the path id- Returns:
- the list of associated tasks
-
getTimers
Gets all active timers for the specified workflow- Specified by:
getTimersin interfaceWorkflowComponent- Returns:
- the list of active timers
-
getWorkflowById
Gets a specific workflow instances- Specified by:
getWorkflowByIdin interfaceWorkflowComponent- Parameters:
workflowId- the id of the workflow to retrieve- Returns:
- the workflow instance
-
getWorkflowPaths
Gets all Paths for the specified Workflow instance- Specified by:
getWorkflowPathsin interfaceWorkflowComponent- Parameters:
workflowId- workflow instance id- Returns:
- the list of workflow paths
-
getWorkflows
Gets all "in-flight" workflow instances (both active and completed) of the specified Workflow Definition- Specified by:
getWorkflowsin interfaceWorkflowComponent- Parameters:
workflowDefinitionId- the workflow definition id- Returns:
- the list of "in-flight" workflow instances
-
isDefinitionDeployed
Is the specified Workflow Definition already deployed? Note: the notion of "already deployed" may differ between bpm engines. For example, different versions of the same process may be considered equal.- Specified by:
isDefinitionDeployedin interfaceWorkflowComponent- Parameters:
workflowDefinition- the definition to checkmimetype- the mimetype of the definition- Returns:
- true => already deployed
-
checkDeploymentCategory
Sets the deployment category if applicable to allow the workflow to have full access- Specified by:
checkDeploymentCategoryin interfaceWorkflowComponent- Parameters:
workflowDefinition- the definition to check
-
signal
Signal the transition from one Workflow Node to another within an "in-flight" process.- Specified by:
signalin interfaceWorkflowComponent- Parameters:
pathId- the workflow path to signal ontransitionId- the transition id to follow (or null, for the default transition)- Returns:
- the updated workflow path
-
startWorkflow
Start a Workflow Instance- Specified by:
startWorkflowin interfaceWorkflowComponent- Parameters:
workflowDefinitionId- the workflow definition idparameters- the initial set of parameters used to populate the "Start Task" properties- Returns:
- the initial workflow path
-
undeployDefinition
Undeploy an exisiting Workflow Definition TODO: Determine behaviour when "in-flight" workflow instances exist- Specified by:
undeployDefinitionin interfaceWorkflowComponent- Parameters:
workflowDefinitionId- the id of the definition to undeploy
-
hasWorkflowImage
Determines if a graphical view of the workflow instance exists- Specified by:
hasWorkflowImagein interfaceWorkflowComponent- Parameters:
workflowInstanceId- the workflow instance id- Returns:
- true if there is a workflow instance diagram available
-
getWorkflowImage
Gets a graphical view of the workflow instance- Specified by:
getWorkflowImagein interfaceWorkflowComponent- Parameters:
workflowInstanceId- the workflow instance id- Returns:
- image view of the workflow instance as an InputStream or null if a diagram is not available
-
setPropertyConverter
- Parameters:
propertyConverter- the propertyConverter to set
-
setDictionaryService
Sets the Dictionary Service- Parameters:
dictionaryService- DictionaryService
-
setNodeService
Sets the Node Service- Parameters:
nodeService- NodeService
-
setRepositoryHelper
- Parameters:
repositoryHelper- the repositoryHelper to set
-
setPersonService
Sets the Person Service- Parameters:
personService- PersonService
-
setAuthorityManager
Sets the Authority DAO /**- Parameters:
authorityManager- the authorityManager to set
-
endTask
End the Task (i.e. complete the task)- Specified by:
endTaskin interfaceTaskComponent- Parameters:
taskId- the task id to endtransition- the task transition id to take on completion (or null, for the default transition)- Returns:
- the updated task
-
getAssignedTasks
public List<WorkflowTask> getAssignedTasks(String authority, WorkflowTaskState state, boolean lazyInitialization) Gets all tasks assigned to the specified authority- Specified by:
getAssignedTasksin interfaceTaskComponent- Parameters:
authority- the authoritystate- filter by specified workflow task statelazyInitialization- hint in order to return partially-initialized entities- Returns:
- the list of assigned tasks
-
getPooledTasks
Gets the pooled tasks available to the specified authority- Specified by:
getPooledTasksin interfaceTaskComponent- Parameters:
authorities- the list of authoritieslazyInitialization- hint in order to return partially-initialized entities- Returns:
- the list of pooled tasks
-
getTaskById
Gets a Task by unique Id- Specified by:
getTaskByIdin interfaceTaskComponent- Parameters:
taskId- the task id- Returns:
- the task
-
queryTasks
Description copied from interface:TaskComponentQuery for tasks Hint: useWorkflowTaskQuerysetLimit() method to limit the number of processed items if you don't really need to go through all of them- Specified by:
queryTasksin interfaceTaskComponent- Parameters:
query- the filter by which tasks are queriedsameSession- indicates that the returnedWorkflowTaskelements will be used in the same session. Iftrue, the returned List will be a lazy loaded list providing greater performance.- Returns:
- the list of tasks matching the specified query
-
countTasks
Description copied from interface:TaskComponentCount the number of active tasks that match the given query.- Specified by:
countTasksin interfaceTaskComponent- Parameters:
query- the filter by which tasks are queried- Returns:
- number of matching tasks.
-
queryTasks
- Specified by:
queryTasksin interfaceTaskComponent
-
getStartTasks
Description copied from interface:TaskComponentGets all start tasks for the specified workflow- Specified by:
getStartTasksin interfaceTaskComponent- Returns:
- the list of start tasks
-
getStartTask
Gets all active timers for the specified workflow- Specified by:
getStartTaskin interfaceTaskComponent- Returns:
- the list of active timers
-
startTask
Start the specified Task Note: this is an optional task operation. It may be used to track when work started on a task as well as resume a suspended task.- Specified by:
startTaskin interfaceTaskComponent- Parameters:
taskId- the task to start- Returns:
- the updated task
-
suspendTask
Suspend the specified Task- Specified by:
suspendTaskin interfaceTaskComponent- Parameters:
taskId- String- Returns:
- the update task
-
updateTask
public WorkflowTask updateTask(String taskId, Map<QName, Serializable> properties, Map<QName, List<NodeRef>> add, Map<QName, List<NodeRef>> remove) Update the Properties and Associations of a Task- Specified by:
updateTaskin interfaceTaskComponent- Parameters:
taskId- 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)- Returns:
- the update task
-
getWorkflows
Description copied from interface:WorkflowComponentGets all "in-flight" workflow instances according to the specified workflowInstanceQuery parameter- Specified by:
getWorkflowsin interfaceWorkflowComponent- Parameters:
workflowInstanceQuery- WorkflowInstanceQuery- Returns:
- the list of "in-flight" workflow instances
-
getWorkflows
public List<WorkflowInstance> getWorkflows(WorkflowInstanceQuery workflowInstanceQuery, int maxItems, int skipCount) Description copied from interface:WorkflowComponentGets maxItems "in-flight" workflow instances according to the specified workflowInstanceQuery parameter- Specified by:
getWorkflowsin interfaceWorkflowComponent- Parameters:
workflowInstanceQuery- WorkflowInstanceQuerymaxItems- intskipCount- int- Returns:
- maxItems workflow instances
-
countWorkflows
Description copied from interface:WorkflowComponentGet count of workflow instances- Specified by:
countWorkflowsin interfaceWorkflowComponent- Parameters:
workflowInstanceQuery- WorkflowInstanceQuery- Returns:
- count of workflow instances
-
dispatchPackageUpdatedEvent
-
setNodeConverter
- Parameters:
nodeConverter- the nodeConverter to set
-
setFactory
- Parameters:
factory- the factory to set
-
setMessageService
- Parameters:
messageService- the messageService to set
-
setTenantService
- Parameters:
tenantService- the tenantService to set
-
setTypeConverter
- Parameters:
typeConverter- the typeConverter to set
-
setActivitiUtil
- Parameters:
activitiUtil- the activitiUtil to set
-
setNamespaceService
- Parameters:
namespaceService- the namespaceService to set
-