public class DefaultWorkflowService extends Object implements WorkflowService, Startable
WorkflowManager
Constructor and Description |
---|
DefaultWorkflowService(WorkflowManager workflowManager,
JiraAuthenticationContext jiraAuthenticationContext,
PermissionManager permissionManager,
WorkflowSchemeManager workflowSchemeManager,
com.atlassian.beehive.ClusterLockService clusterLockService) |
Modifier and Type | Method and Description |
---|---|
JiraWorkflow |
copyWorkflow(JiraServiceContext jiraServiceContext,
String clonedWorkflowName,
String clonedWorkflowDescription,
JiraWorkflow workflowToClone)
Clones and persists a new workflow with the name given.
|
JiraWorkflow |
createDraftWorkflow(JiraServiceContext jiraServiceContext,
String parentWorkflowName)
Creates a copy of an active workflow for editing.
|
boolean |
deleteDraftWorkflow(JiraServiceContext jiraServiceContext,
String parentWorkflowName)
Deletes draft workflows (there should only be one) that are associated with the given parent workflow name.
|
ServiceOutcome<Void> |
deleteWorkflow(ApplicationUser deletingUser,
String workflowName)
Deletes the workflow which has the passed name.
|
JiraWorkflow |
getDraftWorkflow(JiraServiceContext jiraServiceContext,
String parentWorkflowName)
Given a parentWorkflowName, this methods will retrieved the relevant draft workflow linked to that
parent.
|
JiraWorkflow |
getWorkflow(JiraServiceContext jiraServiceContext,
String name)
Returns the workflow with the given name.
|
boolean |
isStepOnDraftWithNoTransitionsOnParentWorkflow(JiraServiceContext jiraServiceContext,
JiraWorkflow workflow,
int stepId)
Given a draft workflow and a step Id, this method returns true, if the step does not have any transitions on
the original workflow.
|
void |
overwriteActiveWorkflow(JiraServiceContext jiraServiceContext,
String parentWorkflowName)
This method will overwrite the parentWorkflow with a draft Workflow if
it exists.
|
void |
start()
This method will be called after the plugin system is fully initialised and all components added to the
dependency injection framework.
|
void |
updateWorkflow(JiraServiceContext jiraServiceContext,
JiraWorkflow workflow)
Updates the workflow descriptor provided in the persistance mechanism implemented.
|
void |
updateWorkflowNameAndDescription(JiraServiceContext jiraServiceContext,
JiraWorkflow currentWorkflow,
String newName,
String newDescription)
Used to change the name and description of an existing worfklow with the given name.
|
void |
validateAddWorkflowTransitionToDraft(JiraServiceContext jiraServiceContext,
JiraWorkflow newJiraWorkflow,
int stepId)
Validates if a workflow transition can be added to a draft.
|
void |
validateCopyWorkflow(JiraServiceContext jiraServiceContext,
String newWorkflowName)
Validates if a workflow can be cloned and saved with the provided name.
|
void |
validateOverwriteWorkflow(JiraServiceContext jiraServiceContext,
String workflowName)
Validates that the draft workflow with the given name is allowed to be saved into the corresponding active
workflow.
|
void |
validateUpdateWorkflowNameAndDescription(JiraServiceContext jiraServiceContext,
JiraWorkflow currentWorkflow,
String newWorkflowName)
Validates that the workflow with currentName can have its name and description changed to newWorkflowName and
newDescription.
|
public DefaultWorkflowService(WorkflowManager workflowManager, JiraAuthenticationContext jiraAuthenticationContext, PermissionManager permissionManager, WorkflowSchemeManager workflowSchemeManager, com.atlassian.beehive.ClusterLockService clusterLockService)
public void start()
Startable
public JiraWorkflow getDraftWorkflow(JiraServiceContext jiraServiceContext, String parentWorkflowName)
WorkflowService
getDraftWorkflow
in interface WorkflowService
jiraServiceContext
- service context with user and error collectionparentWorkflowName
- The parent workflow name to create an draft copy of.public JiraWorkflow createDraftWorkflow(JiraServiceContext jiraServiceContext, String parentWorkflowName)
WorkflowService
createDraftWorkflow
in interface WorkflowService
jiraServiceContext
- service context with user and error collectionparentWorkflowName
- The parent workflow name to create an draft copy of.public boolean deleteDraftWorkflow(JiraServiceContext jiraServiceContext, String parentWorkflowName)
WorkflowService
deleteDraftWorkflow
in interface WorkflowService
jiraServiceContext
- service context with user and error collectionparentWorkflowName
- The parent workflow name that the draft workflow to be deleted is associated withpublic ServiceOutcome<Void> deleteWorkflow(ApplicationUser deletingUser, String workflowName)
WorkflowService
deleteWorkflow
in interface WorkflowService
deletingUser
- user who performs the deletionworkflowName
- name of the workflow to be deletedpublic void overwriteActiveWorkflow(JiraServiceContext jiraServiceContext, String parentWorkflowName)
WorkflowService
WorkflowService.validateOverwriteWorkflow(com.atlassian.jira.bc.JiraServiceContext, String)
to ensure the active
workflow isn't being overwritten with an invalid draft workflow.overwriteActiveWorkflow
in interface WorkflowService
jiraServiceContext
- service context with user and error collectionparentWorkflowName
- The parent workflow name that will be overwritten with its draft workflowpublic void validateOverwriteWorkflow(JiraServiceContext jiraServiceContext, String workflowName)
WorkflowService
validateOverwriteWorkflow
in interface WorkflowService
jiraServiceContext
- JiraServiceContextworkflowName
- Name of the workflow to be validated.public void updateWorkflow(JiraServiceContext jiraServiceContext, JiraWorkflow workflow)
WorkflowService
WorkflowService.overwriteActiveWorkflow(com.atlassian.jira.bc.JiraServiceContext, String)
}
updateWorkflow
in interface WorkflowService
jiraServiceContext
- service context with user and error collectionworkflow
- contains the descriptor that the workflow will be updated to.public void validateUpdateWorkflowNameAndDescription(JiraServiceContext jiraServiceContext, JiraWorkflow currentWorkflow, String newWorkflowName)
WorkflowService
validateUpdateWorkflowNameAndDescription
in interface WorkflowService
jiraServiceContext
- service context with user and error collectioncurrentWorkflow
- The current workflow to be updated.newWorkflowName
- The new name to save with the workflowpublic void updateWorkflowNameAndDescription(JiraServiceContext jiraServiceContext, JiraWorkflow currentWorkflow, String newName, String newDescription)
WorkflowService
updateWorkflowNameAndDescription
in interface WorkflowService
jiraServiceContext
- service context with user and error collectioncurrentWorkflow
- The current workflow to be updated.newName
- The new name to save with the workflownewDescription
- The new descriptio to save with the workflowpublic JiraWorkflow getWorkflow(JiraServiceContext jiraServiceContext, String name)
WorkflowService
getWorkflow
in interface WorkflowService
jiraServiceContext
- service context with user and error collectionname
- the name of the workflowpublic void validateCopyWorkflow(JiraServiceContext jiraServiceContext, String newWorkflowName)
WorkflowService
validateCopyWorkflow
in interface WorkflowService
jiraServiceContext
- service context with user and error collectionnewWorkflowName
- The name of the cloned workflow.public JiraWorkflow copyWorkflow(JiraServiceContext jiraServiceContext, String clonedWorkflowName, String clonedWorkflowDescription, JiraWorkflow workflowToClone)
WorkflowService
copyWorkflow
in interface WorkflowService
jiraServiceContext
- service context with user and error collectionclonedWorkflowName
- The name to store the cloned workflow with.clonedWorkflowDescription
- The description of the new copy. May be null.workflowToClone
- The workflow to clone.public boolean isStepOnDraftWithNoTransitionsOnParentWorkflow(JiraServiceContext jiraServiceContext, JiraWorkflow workflow, int stepId)
WorkflowService
isStepOnDraftWithNoTransitionsOnParentWorkflow
in interface WorkflowService
jiraServiceContext
- service context with user and error collectionworkflow
- The draft workflow with the new stepstepId
- The stepId of the step to checkpublic void validateAddWorkflowTransitionToDraft(JiraServiceContext jiraServiceContext, JiraWorkflow newJiraWorkflow, int stepId)
WorkflowService
validateAddWorkflowTransitionToDraft
in interface WorkflowService
jiraServiceContext
- service context with user and error collectionnewJiraWorkflow
- The draft workflow to which the transition is being addedstepId
- The step to which the transition is being added.Copyright © 2002-2015 Atlassian. All Rights Reserved.