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
  • Constructor Details

    • TaskServiceImpl

      public TaskServiceImpl()
  • Method Details

    • 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 with TaskService.saveTask(Task) 'manually'.
      Specified by:
      newTask in interface TaskService
    • newTask

      public Task newTask(String taskId)
      Description copied from interface: TaskService
      create a new task with a user defined task id
      Specified by:
      newTask in interface TaskService
    • 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 interface TaskService
      Parameters:
      task - the task, cannot be null.
    • deleteTask

      public void deleteTask(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 interface TaskService
      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(Collection<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 interface TaskService
      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(String taskId, boolean cascade)
      Description copied from interface: TaskService
      Deletes the given task.
      Specified by:
      deleteTask in interface TaskService
      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(Collection<String> taskIds, boolean cascade)
      Description copied from interface: TaskService
      Deletes all tasks of the given collection.
      Specified by:
      deleteTasks in interface TaskService
      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(String taskId, 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 interface TaskService
      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(Collection<String> taskIds, 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 interface TaskService
      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(String taskId, 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 interface TaskService
      Parameters:
      taskId - id of the task, cannot be null.
      userId - id of the user to use as assignee.
    • setOwner

      public void setOwner(String taskId, 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 interface TaskService
      Parameters:
      taskId - id of the task, cannot be null.
      userId - of the person that is receiving ownership.
    • addCandidateUser

      public void addCandidateUser(String taskId, String userId)
      Description copied from interface: TaskService
      Specified by:
      addCandidateUser in interface TaskService
      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(String taskId, String groupId)
      Description copied from interface: TaskService
      Specified by:
      addCandidateGroup in interface TaskService
      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(String taskId, String userId, 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 interface TaskService
      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 (@see IdentityLinkType).
    • addGroupIdentityLink

      public void addGroupIdentityLink(String taskId, String groupId, 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 interface TaskService
      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 (@see IdentityLinkType).
    • deleteCandidateGroup

      public void deleteCandidateGroup(String taskId, String groupId)
      Description copied from interface: TaskService
      Specified by:
      deleteCandidateGroup in interface TaskService
      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(String taskId, String userId)
      Description copied from interface: TaskService
      Specified by:
      deleteCandidateUser in interface TaskService
      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(String taskId, String groupId, String identityLinkType)
      Description copied from interface: TaskService
      Removes the association between a group and a task for the given identityLinkType.
      Specified by:
      deleteGroupIdentityLink in interface TaskService
      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 (@see IdentityLinkType).
    • deleteUserIdentityLink

      public void deleteUserIdentityLink(String taskId, String userId, String identityLinkType)
      Description copied from interface: TaskService
      Removes the association between a user and a task for the given identityLinkType.
      Specified by:
      deleteUserIdentityLink in interface TaskService
      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 (@see IdentityLinkType).
    • getIdentityLinksForTask

      public List<IdentityLink> getIdentityLinksForTask(String taskId)
      Description copied from interface: TaskService
      Retrieves the IdentityLinks associated with the given task. Such an IdentityLink informs how a certain identity (eg. group or user) is associated with a certain task (eg. as candidate, assignee, etc.)
      Specified by:
      getIdentityLinksForTask in interface TaskService
    • claim

      public void claim(String taskId, String userId)
      Description copied from interface: TaskService
      Claim responsibility for a task: the given user is made assignee for the task. The difference with TaskService.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 interface TaskService
      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(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 the assignee.
      Specified by:
      complete in interface TaskService
      Parameters:
      taskId - the id of the task to complete, cannot be null.
    • complete

      public void complete(String taskId, Map<String,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 the assignee and the required task parameters have been provided.
      Specified by:
      complete in interface TaskService
      Parameters:
      taskId - the id of the task to complete, cannot be null.
      variables - task parameters. May be null or empty.
    • completeWithVariablesInReturn

      public VariableMap completeWithVariablesInReturn(String taskId, Map<String,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 the assignee and the required task parameters have been provided.
      Specified by:
      completeWithVariablesInReturn in interface TaskService
      Parameters:
      taskId - the id of the task to complete, cannot be null.
      variables - task parameters. May be null or empty.
      deserializeValues - if false, returned SerializableValues 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(String taskId, String userId)
      Description copied from interface: TaskService
      Delegates the task to another user. This means that the assignee is set and the delegation state is set to DelegationState.PENDING. If no owner is set on the task, the owner is set to the current assignee of the task. The new assignee must use TaskService.resolveTask(String) to report back to the owner. Only the owner can complete the task.
      Specified by:
      delegateTask in interface TaskService
      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(String taskId)
      Description copied from interface: TaskService
      Marks that the assignee is done with the task delegated to her and that it can be sent back to the owner. Can only be called when this task is DelegationState.PENDING delegation. After this method returns, the delegation state is set to DelegationState.RESOLVED and the task can be completed.
      Specified by:
      resolveTask in interface TaskService
      Parameters:
      taskId - the id of the task to resolve, cannot be null.
    • resolveTask

      public void resolveTask(String taskId, Map<String,Object> variables)
      Description copied from interface: TaskService
      Marks that the assignee is done with the task delegated to her and that it can be sent back to the owner with the provided variables. Can only be called when this task is DelegationState.PENDING delegation. After this method returns, the delegation state is set to DelegationState.RESOLVED and the task can be completed.
      Specified by:
      resolveTask in interface TaskService
    • setPriority

      public void setPriority(String taskId, int priority)
      Description copied from interface: TaskService
      Changes the priority of the task.

      Authorization: actual owner / business admin

      Specified by:
      setPriority in interface TaskService
      Parameters:
      taskId - id of the task, cannot be null.
      priority - the new priority for the task.
    • setName

      public void setName(String taskId, String name)
      Description copied from interface: TaskService
      Changes the name of the task.
      Specified by:
      setName in interface TaskService
      Parameters:
      taskId - id of the task, not null
      name - the new task name, not null
    • setDescription

      public void setDescription(String taskId, String description)
      Description copied from interface: TaskService
      Changes the description of the task.
      Specified by:
      setDescription in interface TaskService
      Parameters:
      taskId - id of the task, not null
      description - the new task description, not null
    • setDueDate

      public void setDueDate(String taskId, Date dueDate)
      Description copied from interface: TaskService
      Changes the dueDate of the task.
      Specified by:
      setDueDate in interface TaskService
      Parameters:
      taskId - id of the task, not null
      dueDate - the new task dueDate, not null
    • setFollowUpDate

      public void setFollowUpDate(String taskId, Date followUpDate)
      Description copied from interface: TaskService
      Changes the dueDate of the task.
      Specified by:
      setFollowUpDate in interface TaskService
      Parameters:
      taskId - id of the task, not null
      followUpDate - the new task followUpDate, not null
    • createTaskQuery

      public TaskQuery createTaskQuery()
      Description copied from interface: TaskService
      Returns a new TaskQuery that can be used to dynamically query tasks.
      Specified by:
      createTaskQuery in interface TaskService
    • createNativeTaskQuery

      public NativeTaskQuery createNativeTaskQuery()
      Description copied from interface: TaskService
      Returns a new
      Specified by:
      createNativeTaskQuery in interface TaskService
    • getVariables

      public VariableMap getVariables(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 using TaskService.getVariables(String, Collection) for better performance.
      Specified by:
      getVariables in interface TaskService
    • getVariablesTyped

      public VariableMap getVariablesTyped(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 using TaskService.getVariables(String, Collection) for better performance.
      Specified by:
      getVariablesTyped in interface TaskService
      Parameters:
      taskId - the id of the task
    • getVariablesTyped

      public VariableMap getVariablesTyped(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 using TaskService.getVariables(String, Collection) for better performance.
      Specified by:
      getVariablesTyped in interface TaskService
      Parameters:
      taskId - the id of the task
      deserializeValues - if false, SerializableValues will not be deserialized.
    • getVariablesLocal

      public VariableMap getVariablesLocal(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 using TaskService.getVariablesLocal(String, Collection) for better performance.
      Specified by:
      getVariablesLocal in interface TaskService
    • getVariablesLocalTyped

      public VariableMap getVariablesLocalTyped(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 using TaskService.getVariablesLocal(String, Collection) for better performance.
      Specified by:
      getVariablesLocalTyped in interface TaskService
      Parameters:
      taskId - the id of the task
    • getVariablesLocalTyped

      public VariableMap getVariablesLocalTyped(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 using TaskService.getVariablesLocal(String, Collection) for better performance.
      Specified by:
      getVariablesLocalTyped in interface TaskService
      Parameters:
      taskId - the id of the task
      deserializeValues - if false, SerializableValues will not be deserialized.
    • getVariables

      public VariableMap getVariables(String taskId, Collection<String> variableNames)
      Description copied from interface: TaskService
      Get values for all given variableNames
      Specified by:
      getVariables in interface TaskService
    • getVariablesTyped

      public VariableMap getVariablesTyped(String taskId, Collection<String> variableNames, boolean deserializeValues)
      Description copied from interface: TaskService
      Get values for all given variableName
      Specified by:
      getVariablesTyped in interface TaskService
      Parameters:
      taskId - the id of the task
      variableNames - only fetch variables whose names are in the collection.
      deserializeValues - if false, SerializableValues will not be deserialized.
    • getVariablesLocal

      public VariableMap getVariablesLocal(String taskId, Collection<String> variableNames)
      Description copied from interface: TaskService
      Get a variable on a task
      Specified by:
      getVariablesLocal in interface TaskService
    • getVariablesLocalTyped

      public VariableMap getVariablesLocalTyped(String taskId, Collection<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 interface TaskService
      Parameters:
      taskId - the id of the task
      variableNames - only fetch variables whose names are in the collection.
      deserializeValues - if false, SerializableValues will not be deserialized.
    • getVariable

      public Object getVariable(String taskId, 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 interface TaskService
    • getVariableLocal

      public Object getVariableLocal(String taskId, String variableName)
      Description copied from interface: TaskService
      Get a variables and only search in the task scope.
      Specified by:
      getVariableLocal in interface TaskService
    • getVariableTyped

      public <T extends TypedValue> T getVariableTyped(String taskId, 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 interface TaskService
      Parameters:
      taskId - the id of the task
      variableName - 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(String taskId, 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 interface TaskService
      Parameters:
      taskId - the id of the task
      variableName - the name of the variable to fetch
      deserializeValue - 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(String taskId, String variableName)
      Description copied from interface: TaskService
      Get a variables and only search in the task scope.
      Specified by:
      getVariableLocalTyped in interface TaskService
      Parameters:
      taskId - the id of the task
      variableName - 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(String taskId, String variableName, boolean deserializeValue)
      Description copied from interface: TaskService
      Get a variables and only search in the task scope.
      Specified by:
      getVariableLocalTyped in interface TaskService
      Parameters:
      taskId - the id of the task
      variableName - the name of the variable to fetch
      deserializeValue - 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(String taskId, String variableName, boolean isLocal, boolean deserializeValue)
    • setVariable

      public void setVariable(String taskId, String variableName, 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 interface TaskService
    • setVariableLocal

      public void setVariableLocal(String taskId, String variableName, 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 interface TaskService
    • setVariables

      public void setVariables(String taskId, Map<String,? extends 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 interface TaskService
    • setVariablesLocal

      public void setVariablesLocal(String taskId, Map<String,? extends 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 interface TaskService
    • setVariables

      protected void setVariables(String taskId, Map<String,? extends Object> variables, boolean local)
    • updateVariablesLocal

      public void updateVariablesLocal(String taskId, Map<String,? extends Object> modifications, Collection<String> deletions)
    • updateVariables

      public void updateVariables(String taskId, Map<String,? extends Object> modifications, Collection<String> deletions)
    • updateVariables

      protected void updateVariables(String taskId, Map<String,? extends Object> modifications, Collection<String> deletions, boolean local)
    • removeVariable

      public void removeVariable(String taskId, 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 interface TaskService
    • removeVariableLocal

      public void removeVariableLocal(String taskId, 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 interface TaskService
    • removeVariables

      public void removeVariables(String taskId, Collection<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 interface TaskService
    • removeVariablesLocal

      public void removeVariablesLocal(String taskId, Collection<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 interface TaskService
    • addComment

      public void addComment(String taskId, String processInstance, String message)
      Description copied from interface: TaskService
      Add a comment to a task and/or process instance.
      Specified by:
      addComment in interface TaskService
    • createComment

      public Comment createComment(String taskId, String processInstance, 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 interface TaskService
    • deleteTaskComment

      public void deleteTaskComment(String taskId, String commentId)
      Description copied from interface: TaskService
      Deletes a comment of a given taskId and commentId
      Specified by:
      deleteTaskComment in interface TaskService
      Parameters:
      taskId - id of a task of a comment that is intended to be deleted
      commentId - id of a comment that is intended to be deleted
    • deleteProcessInstanceComment

      public void deleteProcessInstanceComment(String processInstanceId, String commentId)
      Description copied from interface: TaskService
      Deletes a comment by a given processInstanceId and commentId
      Specified by:
      deleteProcessInstanceComment in interface TaskService
      Parameters:
      processInstanceId - id of a processInstance of a comment that is intended to be deleted
      commentId - id of a comment that is intended to be deleted
    • deleteTaskComments

      public void deleteTaskComments(String taskId)
      Description copied from interface: TaskService
      Deletes all comments by a given taskId
      Specified by:
      deleteTaskComments in interface TaskService
      Parameters:
      taskId - id of a task of all comments that are intended to be deleted
    • deleteProcessInstanceComments

      public void deleteProcessInstanceComments(String processInstanceId)
      Description copied from interface: TaskService
      Deletes all comments by a given processInstanceId
      Specified by:
      deleteProcessInstanceComments in interface TaskService
      Parameters:
      processInstanceId - id of a process instance of comments that are intended to be deleted
    • updateTaskComment

      public void updateTaskComment(String taskId, String commentId, String message)
      Description copied from interface: TaskService
      Updates a comment on a given task ID
      Specified by:
      updateTaskComment in interface TaskService
      Parameters:
      taskId - id of a task of a comment that is intended to be updated
      commentId - id of a comment that is intended to be updated
      message - new message that needs to be updated
    • updateProcessInstanceComment

      public void updateProcessInstanceComment(String processInstanceId, String commentId, String message)
      Description copied from interface: TaskService
      Updates comment on a given processInstance ID
      Specified by:
      updateProcessInstanceComment in interface TaskService
      Parameters:
      processInstanceId - id of a process instance of a comment that is intended to be updated
      commentId - id of a comment that is intended to be updated
      message - new message that needs to be updated
    • getTaskComments

      public List<Comment> getTaskComments(String taskId)
      Description copied from interface: TaskService
      The comments related to the given task.
      Specified by:
      getTaskComments in interface TaskService
    • getTaskComment

      public Comment getTaskComment(String taskId, String commentId)
      Description copied from interface: TaskService
      Retrieve a particular task comment
      Specified by:
      getTaskComment in interface TaskService
    • getTaskEvents

      public List<Event> getTaskEvents(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 to true.

      Specified by:
      getTaskEvents in interface TaskService
      See Also:
    • getProcessInstanceComments

      public List<Comment> getProcessInstanceComments(String processInstanceId)
      Description copied from interface: TaskService
      The comments related to the given process instance.
      Specified by:
      getProcessInstanceComments in interface TaskService
    • createAttachment

      public Attachment createAttachment(String attachmentType, String taskId, String processInstanceId, String attachmentName, String attachmentDescription, 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 interface TaskService
      Parameters:
      attachmentType - - name of the attachment, can be null
      taskId - - task that should have an attachment
      processInstanceId - - id of a process to use if task id is null
      attachmentName - - name of the attachment, can be null
      attachmentDescription - - full text description, can be null
      content - - byte array with content of attachment
    • createAttachment

      public Attachment createAttachment(String attachmentType, String taskId, String processInstanceId, String attachmentName, String attachmentDescription, 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 interface TaskService
      Parameters:
      attachmentType - - name of the attachment, can be null
      taskId - - task that should have an attachment
      processInstanceId - - id of a process to use if task id is null
      attachmentName - - name of the attachment, can be null
      attachmentDescription - - full text description, can be null
      url - - url of the attachment, can be null
    • getAttachmentContent

      public InputStream getAttachmentContent(String attachmentId)
      Description copied from interface: TaskService
      Retrieve stream content of a particular attachment
      Specified by:
      getAttachmentContent in interface TaskService
    • getTaskAttachmentContent

      public InputStream getTaskAttachmentContent(String taskId, 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 interface TaskService
    • deleteAttachment

      public void deleteAttachment(String attachmentId)
      Description copied from interface: TaskService
      Delete an attachment
      Specified by:
      deleteAttachment in interface TaskService
    • deleteTaskAttachment

      public void deleteTaskAttachment(String taskId, String attachmentId)
      Description copied from interface: TaskService
      Delete an attachment to the given task id and attachment id
      Specified by:
      deleteTaskAttachment in interface TaskService
    • getAttachment

      public Attachment getAttachment(String attachmentId)
      Description copied from interface: TaskService
      Retrieve a particular attachment
      Specified by:
      getAttachment in interface TaskService
    • getTaskAttachment

      public Attachment getTaskAttachment(String taskId, String attachmentId)
      Description copied from interface: TaskService
      Retrieve a particular attachment to the given task id and attachment id
      Specified by:
      getTaskAttachment in interface TaskService
    • getTaskAttachments

      public List<Attachment> getTaskAttachments(String taskId)
      Description copied from interface: TaskService
      The list of attachments associated to a task
      Specified by:
      getTaskAttachments in interface TaskService
    • getProcessInstanceAttachments

      public List<Attachment> getProcessInstanceAttachments(String processInstanceId)
      Description copied from interface: TaskService
      The list of attachments associated to a process instance
      Specified by:
      getProcessInstanceAttachments in interface TaskService
    • saveAttachment

      public void saveAttachment(Attachment attachment)
      Description copied from interface: TaskService
      Update the name and decription of an attachment
      Specified by:
      saveAttachment in interface TaskService
    • getSubTasks

      public List<Task> getSubTasks(String parentTaskId)
      Description copied from interface: TaskService
      The list of subtasks for this parent task
      Specified by:
      getSubTasks in interface TaskService
    • createTaskReport

      public TaskReport createTaskReport()
      Description copied from interface: TaskService
      Instantiate a task report
      Specified by:
      createTaskReport in interface TaskService
    • handleBpmnError

      public void handleBpmnError(String taskId, 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 interface TaskService
      Parameters:
      taskId - the id of an existing active task
      errorCode - the error code of the corresponding bmpn error
    • handleBpmnError

      public void handleBpmnError(String taskId, String errorCode, String errorMessage)
      Specified by:
      handleBpmnError in interface TaskService
      Parameters:
      taskId - the id of an existing active task
      errorCode - the error code of the corresponding bmpn error
      errorMessage - the error message of the corresponding bmpn error
      See Also:
    • handleBpmnError

      public void handleBpmnError(String taskId, String errorCode, String errorMessage, Map<String,Object> variables)
      Specified by:
      handleBpmnError in interface TaskService
      Parameters:
      taskId - the id of an existing active task
      errorCode - the error code of the corresponding bmpn error
      errorMessage - the error message of the corresponding bmpn error
      variables - the variables to pass to the execution
      See Also:
    • handleEscalation

      public void handleEscalation(String taskId, String escalationCode)
      Description copied from interface: TaskService
      Signals that an escalation appears, which should be handled by the process engine.
      Specified by:
      handleEscalation in interface TaskService
      Parameters:
      taskId - the id of an existing active task
      escalationCode - the escalation code of the corresponding escalation
    • handleEscalation

      public void handleEscalation(String taskId, String escalationCode, Map<String,Object> variables)
      Description copied from interface: TaskService
      Signals that an escalation appears, which should be handled by the process engine.
      Specified by:
      handleEscalation in interface TaskService
      Parameters:
      taskId - the id of an existing active task
      escalationCode - the escalation code of the corresponding escalation
      variables - the variables to pass to the execution