Package org.camunda.bpm.engine.impl
Class TaskServiceImpl
- java.lang.Object
-
- org.camunda.bpm.engine.impl.ServiceImpl
-
- org.camunda.bpm.engine.impl.TaskServiceImpl
-
- All Implemented Interfaces:
TaskService
public class TaskServiceImpl extends ServiceImpl implements TaskService
- Author:
- Tom Baeyens, Joram Barrez
-
-
Field Summary
-
Fields inherited from class org.camunda.bpm.engine.impl.ServiceImpl
commandExecutor
-
-
Constructor Summary
Constructors Constructor Description TaskServiceImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addCandidateGroup(java.lang.String taskId, java.lang.String groupId)
Convenience shorthand forTaskService.addGroupIdentityLink(String, String, String)
; with typeIdentityLinkType.CANDIDATE
void
addCandidateUser(java.lang.String taskId, java.lang.String userId)
Convenience shorthand forTaskService.addUserIdentityLink(String, String, String)
; with typeIdentityLinkType.CANDIDATE
void
addComment(java.lang.String taskId, java.lang.String processInstance, java.lang.String message)
Add a comment to a task and/or process instance.void
addGroupIdentityLink(java.lang.String taskId, java.lang.String groupId, java.lang.String identityLinkType)
Involves a group with a task.void
addUserIdentityLink(java.lang.String taskId, java.lang.String userId, java.lang.String identityLinkType)
Involves a user with a task.void
claim(java.lang.String taskId, java.lang.String userId)
Claim responsibility for a task: the given user is madeassignee
for the task.void
complete(java.lang.String taskId)
Marks a task as done and continues process execution.void
complete(java.lang.String taskId, java.util.Map<java.lang.String,java.lang.Object> variables)
Marks a task as done and continues process execution.VariableMap
completeWithVariablesInReturn(java.lang.String taskId, java.util.Map<java.lang.String,java.lang.Object> variables, boolean deserializeValues)
Marks a task as done and continues process execution.Attachment
createAttachment(java.lang.String attachmentType, java.lang.String taskId, java.lang.String processInstanceId, java.lang.String attachmentName, java.lang.String attachmentDescription, java.io.InputStream content)
Add a new attachment to a task and/or a process instance and use an input stream to provide the content please use method in runtime service to operate on process instance.Attachment
createAttachment(java.lang.String attachmentType, java.lang.String taskId, java.lang.String processInstanceId, java.lang.String attachmentName, java.lang.String attachmentDescription, java.lang.String url)
Add a new attachment to a task and/or a process instance and use an url as the content please use method in runtime service to operate on process instance Either taskId or processInstanceId has to be providedComment
createComment(java.lang.String taskId, java.lang.String processInstance, java.lang.String message)
Creates a comment to a task and/or process instance and returns the comment.NativeTaskQuery
createNativeTaskQuery()
Returns a newTaskQuery
createTaskQuery()
Returns a newTaskQuery
that can be used to dynamically query tasks.TaskReport
createTaskReport()
Instantiate a task reportvoid
delegateTask(java.lang.String taskId, java.lang.String userId)
Delegates the task to another user.void
deleteAttachment(java.lang.String attachmentId)
Delete an attachmentvoid
deleteCandidateGroup(java.lang.String taskId, java.lang.String groupId)
Convenience shorthand forTaskService.deleteGroupIdentityLink(String, String, String)
; with typeIdentityLinkType.CANDIDATE
void
deleteCandidateUser(java.lang.String taskId, java.lang.String userId)
Convenience shorthand forTaskService.deleteUserIdentityLink(String, String, String)
; with typeIdentityLinkType.CANDIDATE
void
deleteGroupIdentityLink(java.lang.String taskId, java.lang.String groupId, java.lang.String identityLinkType)
Removes the association between a group and a task for the given identityLinkType.void
deleteTask(java.lang.String taskId)
Deletes the given task, not deleting historic information that is related to this task.void
deleteTask(java.lang.String taskId, boolean cascade)
Deletes the given task.void
deleteTask(java.lang.String taskId, java.lang.String deleteReason)
Deletes the given task, not deleting historic information that is related to this task.void
deleteTaskAttachment(java.lang.String taskId, java.lang.String attachmentId)
Delete an attachment to the given task id and attachment idvoid
deleteTasks(java.util.Collection<java.lang.String> taskIds)
Deletes all tasks of the given collection, not deleting historic information that is related to these tasks.void
deleteTasks(java.util.Collection<java.lang.String> taskIds, boolean cascade)
Deletes all tasks of the given collection.void
deleteTasks(java.util.Collection<java.lang.String> taskIds, java.lang.String deleteReason)
Deletes all tasks of the given collection, not deleting historic information that is related to these tasks.void
deleteUserIdentityLink(java.lang.String taskId, java.lang.String userId, java.lang.String identityLinkType)
Removes the association between a user and a task for the given identityLinkType.Attachment
getAttachment(java.lang.String attachmentId)
Retrieve a particular attachmentjava.io.InputStream
getAttachmentContent(java.lang.String attachmentId)
Retrieve stream content of a particular attachmentjava.util.List<IdentityLink>
getIdentityLinksForTask(java.lang.String taskId)
Retrieves theIdentityLink
s associated with the given task.java.util.List<Attachment>
getProcessInstanceAttachments(java.lang.String processInstanceId)
The list of attachments associated to a process instancejava.util.List<Comment>
getProcessInstanceComments(java.lang.String processInstanceId)
The comments related to the given process instance.java.util.List<Task>
getSubTasks(java.lang.String parentTaskId)
The list of subtasks for this parent taskAttachment
getTaskAttachment(java.lang.String taskId, java.lang.String attachmentId)
Retrieve a particular attachment to the given task id and attachment idjava.io.InputStream
getTaskAttachmentContent(java.lang.String taskId, java.lang.String attachmentId)
Retrieve stream content of a particular attachment to the given task id and attachment idjava.util.List<Attachment>
getTaskAttachments(java.lang.String taskId)
The list of attachments associated to a taskComment
getTaskComment(java.lang.String taskId, java.lang.String commentId)
Retrieve a particular task commentjava.util.List<Comment>
getTaskComments(java.lang.String taskId)
The comments related to the given task.java.util.List<Event>
getTaskEvents(java.lang.String taskId)
The all events related to the given task.java.lang.Object
getVariable(java.lang.String taskId, java.lang.String variableName)
Get a variables and search in the task scope and if available also the execution scopes.java.lang.Object
getVariableLocal(java.lang.String taskId, java.lang.String variableName)
Get a variables and only search in the task scope.<T extends TypedValue>
TgetVariableLocalTyped(java.lang.String taskId, java.lang.String variableName)
Get a variables and only search in the task scope.<T extends TypedValue>
TgetVariableLocalTyped(java.lang.String taskId, java.lang.String variableName, boolean deserializeValue)
Get a variables and only search in the task scope.VariableMap
getVariables(java.lang.String taskId)
Get all variables and search in the task scope and if available also the execution scopes.VariableMap
getVariables(java.lang.String taskId, java.util.Collection<java.lang.String> variableNames)
Get values for all given variableNamesVariableMap
getVariablesLocal(java.lang.String taskId)
Get all variables and search only in the task scope.VariableMap
getVariablesLocal(java.lang.String taskId, java.util.Collection<java.lang.String> variableNames)
Get a variable on a taskVariableMap
getVariablesLocalTyped(java.lang.String taskId)
Get all variables and search only in the task scope.VariableMap
getVariablesLocalTyped(java.lang.String taskId, boolean deserializeValues)
Get all variables and search only in the task scope.VariableMap
getVariablesLocalTyped(java.lang.String taskId, java.util.Collection<java.lang.String> variableNames, boolean deserializeValues)
Get values for all given variableName.VariableMap
getVariablesTyped(java.lang.String taskId)
Get all variables and search in the task scope and if available also the execution scopes.VariableMap
getVariablesTyped(java.lang.String taskId, boolean deserializeValues)
Get all variables and search in the task scope and if available also the execution scopes.VariableMap
getVariablesTyped(java.lang.String taskId, java.util.Collection<java.lang.String> variableNames, boolean deserializeValues)
Get values for all given variableName<T extends TypedValue>
TgetVariableTyped(java.lang.String taskId, java.lang.String variableName)
Get a variables and search in the task scope and if available also the execution scopes.<T extends TypedValue>
TgetVariableTyped(java.lang.String taskId, java.lang.String variableName, boolean deserializeValue)
Get a variables and search in the task scope and if available also the execution scopes.protected <T extends TypedValue>
TgetVariableTyped(java.lang.String taskId, java.lang.String variableName, boolean isLocal, boolean deserializeValue)
void
handleBpmnError(java.lang.String taskId, java.lang.String errorCode)
Signals that a business error appears, which should be handled by the process engine.void
handleBpmnError(java.lang.String taskId, java.lang.String errorCode, java.lang.String errorMessage)
void
handleBpmnError(java.lang.String taskId, java.lang.String errorCode, java.lang.String errorMessage, java.util.Map<java.lang.String,java.lang.Object> variables)
void
handleEscalation(java.lang.String taskId, java.lang.String escalationCode)
Signals that an escalation appears, which should be handled by the process engine.void
handleEscalation(java.lang.String taskId, java.lang.String escalationCode, java.util.Map<java.lang.String,java.lang.Object> variables)
Signals that an escalation appears, which should be handled by the process engine.Task
newTask()
Creates a new task that is not related to any process instance.Task
newTask(java.lang.String taskId)
create a new task with a user defined task idvoid
removeVariable(java.lang.String taskId, java.lang.String variableName)
Removes the variable from the task.void
removeVariableLocal(java.lang.String taskId, java.lang.String variableName)
Removes the variable from the task (not considering parent scopes).void
removeVariables(java.lang.String taskId, java.util.Collection<java.lang.String> variableNames)
Removes all variables in the given collection from the task.void
removeVariablesLocal(java.lang.String taskId, java.util.Collection<java.lang.String> variableNames)
Removes all variables in the given collection from the task (not considering parent scopes).void
resolveTask(java.lang.String taskId)
void
resolveTask(java.lang.String taskId, java.util.Map<java.lang.String,java.lang.Object> variables)
void
saveAttachment(Attachment attachment)
Update the name and decription of an attachmentvoid
saveTask(Task task)
Saves the given task to the persistent data store.void
setAssignee(java.lang.String taskId, java.lang.String userId)
Changes the assignee of the given task to the given userId.void
setOwner(java.lang.String taskId, java.lang.String userId)
Transfers ownership of this task to another user.void
setPriority(java.lang.String taskId, int priority)
Changes the priority of the task.void
setVariable(java.lang.String taskId, java.lang.String variableName, java.lang.Object value)
Set variable on a task.void
setVariableLocal(java.lang.String taskId, java.lang.String variableName, java.lang.Object value)
Set variable on a task.void
setVariables(java.lang.String taskId, java.util.Map<java.lang.String,? extends java.lang.Object> variables)
Set variables on a task.protected void
setVariables(java.lang.String taskId, java.util.Map<java.lang.String,? extends java.lang.Object> variables, boolean local)
void
setVariablesLocal(java.lang.String taskId, java.util.Map<java.lang.String,? extends java.lang.Object> variables)
Set variables on a task.void
updateVariables(java.lang.String taskId, java.util.Map<java.lang.String,? extends java.lang.Object> modifications, java.util.Collection<java.lang.String> deletions)
protected void
updateVariables(java.lang.String taskId, java.util.Map<java.lang.String,? extends java.lang.Object> modifications, java.util.Collection<java.lang.String> deletions, boolean local)
void
updateVariablesLocal(java.lang.String taskId, java.util.Map<java.lang.String,? extends java.lang.Object> modifications, java.util.Collection<java.lang.String> deletions)
-
Methods inherited from class org.camunda.bpm.engine.impl.ServiceImpl
getCommandExecutor, setCommandExecutor
-
-
-
-
Method Detail
-
newTask
public Task newTask()
Description copied from interface:TaskService
Creates a new task that is not related to any process instance. The returned task is transient and must be saved withTaskService.saveTask(Task)
'manually'.- Specified by:
newTask
in interfaceTaskService
-
newTask
public Task newTask(java.lang.String taskId)
Description copied from interface:TaskService
create a new task with a user defined task id- Specified by:
newTask
in interfaceTaskService
-
saveTask
public void saveTask(Task task)
Description copied from interface:TaskService
Saves the given task to the persistent data store. If the task is already present in the persistent store, it is updated. After a new task has been saved, the task instance passed into this method is updated with the id of the newly created task.- Specified by:
saveTask
in interfaceTaskService
- Parameters:
task
- the task, cannot be null.
-
deleteTask
public void deleteTask(java.lang.String taskId)
Description copied from interface:TaskService
Deletes the given task, not deleting historic information that is related to this task.- Specified by:
deleteTask
in interfaceTaskService
- Parameters:
taskId
- The id of the task that will be deleted, cannot be null. If no task exists with the given taskId, the operation is ignored.
-
deleteTasks
public void deleteTasks(java.util.Collection<java.lang.String> taskIds)
Description copied from interface:TaskService
Deletes all tasks of the given collection, not deleting historic information that is related to these tasks.- Specified by:
deleteTasks
in interfaceTaskService
- Parameters:
taskIds
- The id's of the tasks that will be deleted, cannot be null. All id's in the list that don't have an existing task will be ignored.
-
deleteTask
public void deleteTask(java.lang.String taskId, boolean cascade)
Description copied from interface:TaskService
Deletes the given task.- Specified by:
deleteTask
in interfaceTaskService
- Parameters:
taskId
- The id of the task that will be deleted, cannot be null. If no task exists with the given taskId, the operation is ignored.cascade
- If cascade is true, also the historic information related to this task is deleted.
-
deleteTasks
public void deleteTasks(java.util.Collection<java.lang.String> taskIds, boolean cascade)
Description copied from interface:TaskService
Deletes all tasks of the given collection.- Specified by:
deleteTasks
in interfaceTaskService
- Parameters:
taskIds
- The id's of the tasks that will be deleted, cannot be null. All id's in the list that don't have an existing task will be ignored.cascade
- If cascade is true, also the historic information related to this task is deleted.
-
deleteTask
public void deleteTask(java.lang.String taskId, java.lang.String deleteReason)
Description copied from interface:TaskService
Deletes the given task, not deleting historic information that is related to this task.- Specified by:
deleteTask
in interfaceTaskService
- Parameters:
taskId
- The id of the task that will be deleted, cannot be null. If no task exists with the given taskId, the operation is ignored.deleteReason
- reason the task is deleted. Is recorded in history, if enabled.
-
deleteTasks
public void deleteTasks(java.util.Collection<java.lang.String> taskIds, java.lang.String deleteReason)
Description copied from interface:TaskService
Deletes all tasks of the given collection, not deleting historic information that is related to these tasks.- Specified by:
deleteTasks
in interfaceTaskService
- Parameters:
taskIds
- The id's of the tasks that will be deleted, cannot be null. All id's in the list that don't have an existing task will be ignored.deleteReason
- reason the task is deleted. Is recorded in history, if enabled.
-
setAssignee
public void setAssignee(java.lang.String taskId, java.lang.String userId)
Description copied from interface:TaskService
Changes the assignee of the given task to the given userId. No check is done whether the user is known by the identity component.- Specified by:
setAssignee
in interfaceTaskService
- Parameters:
taskId
- id of the task, cannot be null.userId
- id of the user to use as assignee.
-
setOwner
public void setOwner(java.lang.String taskId, java.lang.String userId)
Description copied from interface:TaskService
Transfers ownership of this task to another user. No check is done whether the user is known by the identity component.- Specified by:
setOwner
in interfaceTaskService
- Parameters:
taskId
- id of the task, cannot be null.userId
- of the person that is receiving ownership.
-
addCandidateUser
public void addCandidateUser(java.lang.String taskId, java.lang.String userId)
Description copied from interface:TaskService
Convenience shorthand forTaskService.addUserIdentityLink(String, String, String)
; with typeIdentityLinkType.CANDIDATE
- Specified by:
addCandidateUser
in interfaceTaskService
- Parameters:
taskId
- id of the task, cannot be null.userId
- id of the user to use as candidate, cannot be null.
-
addCandidateGroup
public void addCandidateGroup(java.lang.String taskId, java.lang.String groupId)
Description copied from interface:TaskService
Convenience shorthand forTaskService.addGroupIdentityLink(String, String, String)
; with typeIdentityLinkType.CANDIDATE
- Specified by:
addCandidateGroup
in interfaceTaskService
- Parameters:
taskId
- id of the task, cannot be null.groupId
- id of the group to use as candidate, cannot be null.
-
addUserIdentityLink
public void addUserIdentityLink(java.lang.String taskId, java.lang.String userId, java.lang.String identityLinkType)
Description copied from interface:TaskService
Involves a user with a task. The type of identity link is defined by the given identityLinkType.- Specified by:
addUserIdentityLink
in interfaceTaskService
- Parameters:
taskId
- id of the task, cannot be null.userId
- id of the user involve, cannot be null.identityLinkType
- type of identityLink, cannot be null (@seeIdentityLinkType
).
-
addGroupIdentityLink
public void addGroupIdentityLink(java.lang.String taskId, java.lang.String groupId, java.lang.String identityLinkType)
Description copied from interface:TaskService
Involves a group with a task. The type of identityLink is defined by the given identityLink.- Specified by:
addGroupIdentityLink
in interfaceTaskService
- Parameters:
taskId
- id of the task, cannot be null.groupId
- id of the group to involve, cannot be null.identityLinkType
- type of identity, cannot be null (@seeIdentityLinkType
).
-
deleteCandidateGroup
public void deleteCandidateGroup(java.lang.String taskId, java.lang.String groupId)
Description copied from interface:TaskService
Convenience shorthand forTaskService.deleteGroupIdentityLink(String, String, String)
; with typeIdentityLinkType.CANDIDATE
- Specified by:
deleteCandidateGroup
in interfaceTaskService
- Parameters:
taskId
- id of the task, cannot be null.groupId
- id of the group to use as candidate, cannot be null.
-
deleteCandidateUser
public void deleteCandidateUser(java.lang.String taskId, java.lang.String userId)
Description copied from interface:TaskService
Convenience shorthand forTaskService.deleteUserIdentityLink(String, String, String)
; with typeIdentityLinkType.CANDIDATE
- Specified by:
deleteCandidateUser
in interfaceTaskService
- Parameters:
taskId
- id of the task, cannot be null.userId
- id of the user to use as candidate, cannot be null.
-
deleteGroupIdentityLink
public void deleteGroupIdentityLink(java.lang.String taskId, java.lang.String groupId, java.lang.String identityLinkType)
Description copied from interface:TaskService
Removes the association between a group and a task for the given identityLinkType.- Specified by:
deleteGroupIdentityLink
in interfaceTaskService
- Parameters:
taskId
- id of the task, cannot be null.groupId
- id of the group to involve, cannot be null.identityLinkType
- type of identity, cannot be null (@seeIdentityLinkType
).
-
deleteUserIdentityLink
public void deleteUserIdentityLink(java.lang.String taskId, java.lang.String userId, java.lang.String identityLinkType)
Description copied from interface:TaskService
Removes the association between a user and a task for the given identityLinkType.- Specified by:
deleteUserIdentityLink
in interfaceTaskService
- Parameters:
taskId
- id of the task, cannot be null.userId
- id of the user involve, cannot be null.identityLinkType
- type of identityLink, cannot be null (@seeIdentityLinkType
).
-
getIdentityLinksForTask
public java.util.List<IdentityLink> getIdentityLinksForTask(java.lang.String taskId)
Description copied from interface:TaskService
Retrieves theIdentityLink
s associated with the given task. Such anIdentityLink
informs how a certain identity (eg. group or user) is associated with a certain task (eg. as candidate, assignee, etc.)- Specified by:
getIdentityLinksForTask
in interfaceTaskService
-
claim
public void claim(java.lang.String taskId, java.lang.String userId)
Description copied from interface:TaskService
Claim responsibility for a task: the given user is madeassignee
for the task. The difference withTaskService.setAssignee(String, String)
is that here a check is done if the task already has a user assigned to it. No check is done whether the user is known by the identity component.- Specified by:
claim
in interfaceTaskService
- Parameters:
taskId
- task to claim, cannot be null.userId
- user that claims the task. When userId is null the task is unclaimed, assigned to no one.
-
complete
public void complete(java.lang.String taskId)
Description copied from interface:TaskService
Marks a task as done and continues process execution. This method is typically called by a task list user interface after a task form has been submitted by theassignee
.- Specified by:
complete
in interfaceTaskService
- Parameters:
taskId
- the id of the task to complete, cannot be null.
-
complete
public void complete(java.lang.String taskId, java.util.Map<java.lang.String,java.lang.Object> variables)
Description copied from interface:TaskService
Marks a task as done and continues process execution. This method is typically called by a task list user interface after a task form has been submitted by theassignee
and the required task parameters have been provided.- Specified by:
complete
in interfaceTaskService
- Parameters:
taskId
- the id of the task to complete, cannot be null.variables
- task parameters. May be null or empty.
-
completeWithVariablesInReturn
public VariableMap completeWithVariablesInReturn(java.lang.String taskId, java.util.Map<java.lang.String,java.lang.Object> variables, boolean deserializeValues)
Description copied from interface:TaskService
Marks a task as done and continues process execution. This method is typically called by a task list user interface after a task form has been submitted by theassignee
and the required task parameters have been provided.- Specified by:
completeWithVariablesInReturn
in interfaceTaskService
- Parameters:
taskId
- the id of the task to complete, cannot be null.variables
- task parameters. May be null or empty.deserializeValues
- if false, returnedSerializableValue
s will not be deserialized (unless they are passed into this method as a deserialized value or if the BPMN process triggers deserialization)- Returns:
- All task variables with their current value
-
delegateTask
public void delegateTask(java.lang.String taskId, java.lang.String userId)
Description copied from interface:TaskService
Delegates the task to another user. This means that theassignee
is set and thedelegation state
is set toDelegationState.PENDING
. If no owner is set on the task, the owner is set to the currentassignee
of the task. The new assignee must useTaskService.resolveTask(String)
to report back to the owner. Only the owner cancomplete
the task.- Specified by:
delegateTask
in interfaceTaskService
- Parameters:
taskId
- The id of the task that will be delegated.userId
- The id of the user that will be set as assignee.
-
resolveTask
public void resolveTask(java.lang.String taskId)
Description copied from interface:TaskService
Marks that theassignee
is done with the taskdelegated
to her and that it can be sent back to theowner
. Can only be called when this task isDelegationState.PENDING
delegation. After this method returns, thedelegation state
is set toDelegationState.RESOLVED
and the task can becompleted
.- Specified by:
resolveTask
in interfaceTaskService
- Parameters:
taskId
- the id of the task to resolve, cannot be null.
-
resolveTask
public void resolveTask(java.lang.String taskId, java.util.Map<java.lang.String,java.lang.Object> variables)
Description copied from interface:TaskService
Marks that theassignee
is done with the taskdelegated
to her and that it can be sent back to theowner
with the provided variables. Can only be called when this task isDelegationState.PENDING
delegation. After this method returns, thedelegation state
is set toDelegationState.RESOLVED
and the task can becompleted
.- Specified by:
resolveTask
in interfaceTaskService
-
setPriority
public void setPriority(java.lang.String taskId, int priority)
Description copied from interface:TaskService
Changes the priority of the task. Authorization: actual owner / business admin- Specified by:
setPriority
in interfaceTaskService
- Parameters:
taskId
- id of the task, cannot be null.priority
- the new priority for the task.
-
createTaskQuery
public TaskQuery createTaskQuery()
Description copied from interface:TaskService
Returns a newTaskQuery
that can be used to dynamically query tasks.- Specified by:
createTaskQuery
in interfaceTaskService
-
createNativeTaskQuery
public NativeTaskQuery createNativeTaskQuery()
Description copied from interface:TaskService
Returns a new- Specified by:
createNativeTaskQuery
in interfaceTaskService
-
getVariables
public VariableMap getVariables(java.lang.String taskId)
Description copied from interface:TaskService
Get all variables and search in the task scope and if available also the execution scopes. If you have many variables and you only need a few, consider usingTaskService.getVariables(String, Collection)
for better performance.- Specified by:
getVariables
in interfaceTaskService
-
getVariablesTyped
public VariableMap getVariablesTyped(java.lang.String taskId)
Description copied from interface:TaskService
Get all variables and search in the task scope and if available also the execution scopes. If you have many variables and you only need a few, consider usingTaskService.getVariables(String, Collection)
for better performance.- Specified by:
getVariablesTyped
in interfaceTaskService
- Parameters:
taskId
- the id of the task
-
getVariablesTyped
public VariableMap getVariablesTyped(java.lang.String taskId, boolean deserializeValues)
Description copied from interface:TaskService
Get all variables and search in the task scope and if available also the execution scopes. If you have many variables and you only need a few, consider usingTaskService.getVariables(String, Collection)
for better performance.- Specified by:
getVariablesTyped
in interfaceTaskService
- Parameters:
taskId
- the id of the taskdeserializeValues
- if false,SerializableValues
will not be deserialized.
-
getVariablesLocal
public VariableMap getVariablesLocal(java.lang.String taskId)
Description copied from interface:TaskService
Get all variables and search only in the task scope. If you have many task local variables and you only need a few, consider usingTaskService.getVariablesLocal(String, Collection)
for better performance.- Specified by:
getVariablesLocal
in interfaceTaskService
-
getVariablesLocalTyped
public VariableMap getVariablesLocalTyped(java.lang.String taskId)
Description copied from interface:TaskService
Get all variables and search only in the task scope. If you have many task local variables and you only need a few, consider usingTaskService.getVariablesLocal(String, Collection)
for better performance.- Specified by:
getVariablesLocalTyped
in interfaceTaskService
- Parameters:
taskId
- the id of the task
-
getVariablesLocalTyped
public VariableMap getVariablesLocalTyped(java.lang.String taskId, boolean deserializeValues)
Description copied from interface:TaskService
Get all variables and search only in the task scope. If you have many task local variables and you only need a few, consider usingTaskService.getVariablesLocal(String, Collection)
for better performance.- Specified by:
getVariablesLocalTyped
in interfaceTaskService
- Parameters:
taskId
- the id of the taskdeserializeValues
- if false,SerializableValues
will not be deserialized.
-
getVariables
public VariableMap getVariables(java.lang.String taskId, java.util.Collection<java.lang.String> variableNames)
Description copied from interface:TaskService
Get values for all given variableNames- Specified by:
getVariables
in interfaceTaskService
-
getVariablesTyped
public VariableMap getVariablesTyped(java.lang.String taskId, java.util.Collection<java.lang.String> variableNames, boolean deserializeValues)
Description copied from interface:TaskService
Get values for all given variableName- Specified by:
getVariablesTyped
in interfaceTaskService
- Parameters:
taskId
- the id of the taskvariableNames
- only fetch variables whose names are in the collection.deserializeValues
- if false,SerializableValues
will not be deserialized.
-
getVariablesLocal
public VariableMap getVariablesLocal(java.lang.String taskId, java.util.Collection<java.lang.String> variableNames)
Description copied from interface:TaskService
Get a variable on a task- Specified by:
getVariablesLocal
in interfaceTaskService
-
getVariablesLocalTyped
public VariableMap getVariablesLocalTyped(java.lang.String taskId, java.util.Collection<java.lang.String> variableNames, boolean deserializeValues)
Description copied from interface:TaskService
Get values for all given variableName. Only search in the local task scope.- Specified by:
getVariablesLocalTyped
in interfaceTaskService
- Parameters:
taskId
- the id of the taskvariableNames
- only fetch variables whose names are in the collection.deserializeValues
- if false,SerializableValues
will not be deserialized.
-
getVariable
public java.lang.Object getVariable(java.lang.String taskId, java.lang.String variableName)
Description copied from interface:TaskService
Get a variables and search in the task scope and if available also the execution scopes.- Specified by:
getVariable
in interfaceTaskService
-
getVariableLocal
public java.lang.Object getVariableLocal(java.lang.String taskId, java.lang.String variableName)
Description copied from interface:TaskService
Get a variables and only search in the task scope.- Specified by:
getVariableLocal
in interfaceTaskService
-
getVariableTyped
public <T extends TypedValue> T getVariableTyped(java.lang.String taskId, java.lang.String variableName)
Description copied from interface:TaskService
Get a variables and search in the task scope and if available also the execution scopes.- Specified by:
getVariableTyped
in interfaceTaskService
- Parameters:
taskId
- the id of the taskvariableName
- the name of the variable to fetch- Returns:
- the TypedValue for the variable or 'null' in case no such variable exists.
-
getVariableTyped
public <T extends TypedValue> T getVariableTyped(java.lang.String taskId, java.lang.String variableName, boolean deserializeValue)
Description copied from interface:TaskService
Get a variables and search in the task scope and if available also the execution scopes.- Specified by:
getVariableTyped
in interfaceTaskService
- Parameters:
taskId
- the id of the taskvariableName
- the name of the variable to fetchdeserializeValue
- if false a,SerializableValue
will not be deserialized.- Returns:
- the TypedValue for the variable or 'null' in case no such variable exists.
-
getVariableLocalTyped
public <T extends TypedValue> T getVariableLocalTyped(java.lang.String taskId, java.lang.String variableName)
Description copied from interface:TaskService
Get a variables and only search in the task scope.- Specified by:
getVariableLocalTyped
in interfaceTaskService
- Parameters:
taskId
- the id of the taskvariableName
- the name of the variable to fetch- Returns:
- the TypedValue for the variable or 'null' in case no such variable exists.
-
getVariableLocalTyped
public <T extends TypedValue> T getVariableLocalTyped(java.lang.String taskId, java.lang.String variableName, boolean deserializeValue)
Description copied from interface:TaskService
Get a variables and only search in the task scope.- Specified by:
getVariableLocalTyped
in interfaceTaskService
- Parameters:
taskId
- the id of the taskvariableName
- the name of the variable to fetchdeserializeValue
- if false a,SerializableValue
will not be deserialized.- Returns:
- the TypedValue for the variable or 'null' in case no such variable exists.
-
getVariableTyped
protected <T extends TypedValue> T getVariableTyped(java.lang.String taskId, java.lang.String variableName, boolean isLocal, boolean deserializeValue)
-
setVariable
public void setVariable(java.lang.String taskId, java.lang.String variableName, java.lang.Object value)
Description copied from interface:TaskService
Set variable on a task. If the variable is not already existing, it will be created in the most outer scope. This means the process instance in case this task is related to an execution.- Specified by:
setVariable
in interfaceTaskService
-
setVariableLocal
public void setVariableLocal(java.lang.String taskId, java.lang.String variableName, java.lang.Object value)
Description copied from interface:TaskService
Set variable on a task. If the variable is not already existing, it will be created in the task.- Specified by:
setVariableLocal
in interfaceTaskService
-
setVariables
public void setVariables(java.lang.String taskId, java.util.Map<java.lang.String,? extends java.lang.Object> variables)
Description copied from interface:TaskService
Set variables on a task. If the variable is not already existing, it will be created in the most outer scope. This means the process instance in case this task is related to an execution.- Specified by:
setVariables
in interfaceTaskService
-
setVariablesLocal
public void setVariablesLocal(java.lang.String taskId, java.util.Map<java.lang.String,? extends java.lang.Object> variables)
Description copied from interface:TaskService
Set variables on a task. If the variable is not already existing, it will be created in the task.- Specified by:
setVariablesLocal
in interfaceTaskService
-
setVariables
protected void setVariables(java.lang.String taskId, java.util.Map<java.lang.String,? extends java.lang.Object> variables, boolean local)
-
updateVariablesLocal
public void updateVariablesLocal(java.lang.String taskId, java.util.Map<java.lang.String,? extends java.lang.Object> modifications, java.util.Collection<java.lang.String> deletions)
-
updateVariables
public void updateVariables(java.lang.String taskId, java.util.Map<java.lang.String,? extends java.lang.Object> modifications, java.util.Collection<java.lang.String> deletions)
-
updateVariables
protected void updateVariables(java.lang.String taskId, java.util.Map<java.lang.String,? extends java.lang.Object> modifications, java.util.Collection<java.lang.String> deletions, boolean local)
-
removeVariable
public void removeVariable(java.lang.String taskId, java.lang.String variableName)
Description copied from interface:TaskService
Removes the variable from the task. When the variable does not exist, nothing happens.- Specified by:
removeVariable
in interfaceTaskService
-
removeVariableLocal
public void removeVariableLocal(java.lang.String taskId, java.lang.String variableName)
Description copied from interface:TaskService
Removes the variable from the task (not considering parent scopes). When the variable does not exist, nothing happens.- Specified by:
removeVariableLocal
in interfaceTaskService
-
removeVariables
public void removeVariables(java.lang.String taskId, java.util.Collection<java.lang.String> variableNames)
Description copied from interface:TaskService
Removes all variables in the given collection from the task. Non existing variable names are simply ignored.- Specified by:
removeVariables
in interfaceTaskService
-
removeVariablesLocal
public void removeVariablesLocal(java.lang.String taskId, java.util.Collection<java.lang.String> variableNames)
Description copied from interface:TaskService
Removes all variables in the given collection from the task (not considering parent scopes). Non existing variable names are simply ignored.- Specified by:
removeVariablesLocal
in interfaceTaskService
-
addComment
public void addComment(java.lang.String taskId, java.lang.String processInstance, java.lang.String message)
Description copied from interface:TaskService
Add a comment to a task and/or process instance.- Specified by:
addComment
in interfaceTaskService
-
createComment
public Comment createComment(java.lang.String taskId, java.lang.String processInstance, java.lang.String message)
Description copied from interface:TaskService
Creates a comment to a task and/or process instance and returns the comment.- Specified by:
createComment
in interfaceTaskService
-
getTaskComments
public java.util.List<Comment> getTaskComments(java.lang.String taskId)
Description copied from interface:TaskService
The comments related to the given task.- Specified by:
getTaskComments
in interfaceTaskService
-
getTaskComment
public Comment getTaskComment(java.lang.String taskId, java.lang.String commentId)
Description copied from interface:TaskService
Retrieve a particular task comment- Specified by:
getTaskComment
in interfaceTaskService
-
getTaskEvents
public java.util.List<Event> getTaskEvents(java.lang.String taskId)
Description copied from interface:TaskService
The all events related to the given task.
As of Camunda Platform 7.4 task events are only written in context of a logged in user. This behavior can be toggled in the process engine configuration using the property
legacyUserOperationLog
(default false). To restore the engine's previous behavior, set the flag totrue
.- Specified by:
getTaskEvents
in interfaceTaskService
- See Also:
HistoryService.createUserOperationLogQuery()
-
getProcessInstanceComments
public java.util.List<Comment> getProcessInstanceComments(java.lang.String processInstanceId)
Description copied from interface:TaskService
The comments related to the given process instance.- Specified by:
getProcessInstanceComments
in interfaceTaskService
-
createAttachment
public Attachment createAttachment(java.lang.String attachmentType, java.lang.String taskId, java.lang.String processInstanceId, java.lang.String attachmentName, java.lang.String attachmentDescription, java.io.InputStream content)
Description copied from interface:TaskService
Add a new attachment to a task and/or a process instance and use an input stream to provide the content please use method in runtime service to operate on process instance. Either taskId or processInstanceId has to be provided- Specified by:
createAttachment
in interfaceTaskService
- Parameters:
attachmentType
- - name of the attachment, can be nulltaskId
- - task that should have an attachmentprocessInstanceId
- - id of a process to use if task id is nullattachmentName
- - name of the attachment, can be nullattachmentDescription
- - full text description, can be nullcontent
- - byte array with content of attachment
-
createAttachment
public Attachment createAttachment(java.lang.String attachmentType, java.lang.String taskId, java.lang.String processInstanceId, java.lang.String attachmentName, java.lang.String attachmentDescription, java.lang.String url)
Description copied from interface:TaskService
Add a new attachment to a task and/or a process instance and use an url as the content please use method in runtime service to operate on process instance Either taskId or processInstanceId has to be provided- Specified by:
createAttachment
in interfaceTaskService
- Parameters:
attachmentType
- - name of the attachment, can be nulltaskId
- - task that should have an attachmentprocessInstanceId
- - id of a process to use if task id is nullattachmentName
- - name of the attachment, can be nullattachmentDescription
- - full text description, can be nullurl
- - url of the attachment, can be null
-
getAttachmentContent
public java.io.InputStream getAttachmentContent(java.lang.String attachmentId)
Description copied from interface:TaskService
Retrieve stream content of a particular attachment- Specified by:
getAttachmentContent
in interfaceTaskService
-
getTaskAttachmentContent
public java.io.InputStream getTaskAttachmentContent(java.lang.String taskId, java.lang.String attachmentId)
Description copied from interface:TaskService
Retrieve stream content of a particular attachment to the given task id and attachment id- Specified by:
getTaskAttachmentContent
in interfaceTaskService
-
deleteAttachment
public void deleteAttachment(java.lang.String attachmentId)
Description copied from interface:TaskService
Delete an attachment- Specified by:
deleteAttachment
in interfaceTaskService
-
deleteTaskAttachment
public void deleteTaskAttachment(java.lang.String taskId, java.lang.String attachmentId)
Description copied from interface:TaskService
Delete an attachment to the given task id and attachment id- Specified by:
deleteTaskAttachment
in interfaceTaskService
-
getAttachment
public Attachment getAttachment(java.lang.String attachmentId)
Description copied from interface:TaskService
Retrieve a particular attachment- Specified by:
getAttachment
in interfaceTaskService
-
getTaskAttachment
public Attachment getTaskAttachment(java.lang.String taskId, java.lang.String attachmentId)
Description copied from interface:TaskService
Retrieve a particular attachment to the given task id and attachment id- Specified by:
getTaskAttachment
in interfaceTaskService
-
getTaskAttachments
public java.util.List<Attachment> getTaskAttachments(java.lang.String taskId)
Description copied from interface:TaskService
The list of attachments associated to a task- Specified by:
getTaskAttachments
in interfaceTaskService
-
getProcessInstanceAttachments
public java.util.List<Attachment> getProcessInstanceAttachments(java.lang.String processInstanceId)
Description copied from interface:TaskService
The list of attachments associated to a process instance- Specified by:
getProcessInstanceAttachments
in interfaceTaskService
-
saveAttachment
public void saveAttachment(Attachment attachment)
Description copied from interface:TaskService
Update the name and decription of an attachment- Specified by:
saveAttachment
in interfaceTaskService
-
getSubTasks
public java.util.List<Task> getSubTasks(java.lang.String parentTaskId)
Description copied from interface:TaskService
The list of subtasks for this parent task- Specified by:
getSubTasks
in interfaceTaskService
-
createTaskReport
public TaskReport createTaskReport()
Description copied from interface:TaskService
Instantiate a task report- Specified by:
createTaskReport
in interfaceTaskService
-
handleBpmnError
public void handleBpmnError(java.lang.String taskId, java.lang.String errorCode)
Description copied from interface:TaskService
Signals that a business error appears, which should be handled by the process engine.- Specified by:
handleBpmnError
in interfaceTaskService
- Parameters:
taskId
- the id of an existing active taskerrorCode
- the error code of the corresponding bmpn error
-
handleBpmnError
public void handleBpmnError(java.lang.String taskId, java.lang.String errorCode, java.lang.String errorMessage)
- Specified by:
handleBpmnError
in interfaceTaskService
- Parameters:
taskId
- the id of an existing active taskerrorCode
- the error code of the corresponding bmpn errorerrorMessage
- the error message of the corresponding bmpn error- See Also:
TaskService.handleBpmnError(String, String)
-
handleBpmnError
public void handleBpmnError(java.lang.String taskId, java.lang.String errorCode, java.lang.String errorMessage, java.util.Map<java.lang.String,java.lang.Object> variables)
- Specified by:
handleBpmnError
in interfaceTaskService
- Parameters:
taskId
- the id of an existing active taskerrorCode
- the error code of the corresponding bmpn errorerrorMessage
- the error message of the corresponding bmpn errorvariables
- the variables to pass to the execution- See Also:
TaskService.handleBpmnError(String, String)
-
handleEscalation
public void handleEscalation(java.lang.String taskId, java.lang.String escalationCode)
Description copied from interface:TaskService
Signals that an escalation appears, which should be handled by the process engine.- Specified by:
handleEscalation
in interfaceTaskService
- Parameters:
taskId
- the id of an existing active taskescalationCode
- the escalation code of the corresponding escalation
-
handleEscalation
public void handleEscalation(java.lang.String taskId, java.lang.String escalationCode, java.util.Map<java.lang.String,java.lang.Object> variables)
Description copied from interface:TaskService
Signals that an escalation appears, which should be handled by the process engine.- Specified by:
handleEscalation
in interfaceTaskService
- Parameters:
taskId
- the id of an existing active taskescalationCode
- the escalation code of the corresponding escalationvariables
- the variables to pass to the execution
-
-