public interface

DraftWorkflowStore

com.atlassian.jira.workflow.DraftWorkflowStore
Known Indirect Subclasses

Class Overview

This store is used to persist copies of active workflows. This is useful when editing an active workflow, without applying any of the changes yet.

Summary

Public Methods
JiraWorkflow createDraftWorkflow(ApplicationUser author, JiraWorkflow parentWorkflow)
Creates a temporary workflow linked back to the named active workflow by id.
boolean deleteDraftWorkflow(String parentWorkflowName)
Removes a temporary workflow linked to the workflow name.
JiraWorkflow getDraftWorkflow(String parentWorkflowName)
This will retrieve an draft workflow that is related to the named saved workflow.
JiraWorkflow updateDraftWorkflow(ApplicationUser user, String parentWorkflowName, JiraWorkflow workflow)
Updates a temporary workflow with the one provided for the parent workflow name passed in.
JiraWorkflow updateDraftWorkflowWithoutAudit(String parentWorkflowName, JiraWorkflow workflow)
Updates a temporary workflow with the one provided for the parent workflow name passed in.

Public Methods

public JiraWorkflow createDraftWorkflow (ApplicationUser author, JiraWorkflow parentWorkflow)

Creates a temporary workflow linked back to the named active workflow by id. If a temporary workflow already exists, this method will throw an exception.

Parameters
author The user making the edit
parentWorkflow The parent workflow to copy for the draft workflow.
Returns
  • workflow that represents the draft "copy" of the named active workflow. This will be of type JiraDraftWorkflow.
Throws
DataAccessException if there are any db errors
IllegalStateException thrown if you are adding an draft workflow which already exists for the provided parent workflow
IllegalArgumentException If the username is null

public boolean deleteDraftWorkflow (String parentWorkflowName)

Removes a temporary workflow linked to the workflow name.

Parameters
parentWorkflowName of the saved parent workflow.
Returns
  • True if deleted successfully
Throws
DataAccessException RuntimeException wrapper around a DB Exception.

public JiraWorkflow getDraftWorkflow (String parentWorkflowName)

This will retrieve an draft workflow that is related to the named saved workflow. If an draft workflow is not associated with the passed in name this will return null.

Parameters
parentWorkflowName of the saved parent workflow.
Returns
  • workflow that represents the draft "copy" of the named active workflow. This will be of type JiraDraftWorkflow.
Throws
DataAccessException DataAccessException

public JiraWorkflow updateDraftWorkflow (ApplicationUser user, String parentWorkflowName, JiraWorkflow workflow)

Updates a temporary workflow with the one provided for the parent workflow name passed in. Throws an exception, if no temporary workflow exists for the one being updated.

Parameters
user is the user updating this draft workflow.
parentWorkflowName of the saved parent workflow.
workflow The JiraWorkflow to use for the update.
Returns
  • workflow that represents the draft "copy" of the named active workflow. This will be of type JiraDraftWorkflow.
Throws
DataAccessException RuntimeException wrapper around a DB Exception.

public JiraWorkflow updateDraftWorkflowWithoutAudit (String parentWorkflowName, JiraWorkflow workflow)

Updates a temporary workflow with the one provided for the parent workflow name passed in. Throws an exception, if no temporary workflow exists for the one being updated. This will not update the draft author or the draft date.

This method should only be used by upgrade tasks. Use updateDraftWorkflow(ApplicationUser, String, JiraWorkflow) instead.

Parameters
parentWorkflowName of the saved parent workflow.
workflow The JiraWorkflow to use for the update.
Returns
  • workflow that represents the draft "copy" of the named active workflow. This will be of type JiraDraftWorkflow.
Throws
DataAccessException RuntimeException wrapper around a DB Exception.