com.atlassian.greenhopper.service.workflow
Class SimplifiedWorkflowServiceImpl

java.lang.Object
  extended by com.atlassian.greenhopper.global.AbstractLoggable
      extended by com.atlassian.greenhopper.service.workflow.SimplifiedWorkflowServiceImpl
All Implemented Interfaces:
SimplifiedWorkflowService

@Service
public class SimplifiedWorkflowServiceImpl
extends AbstractLoggable
implements SimplifiedWorkflowService


Field Summary
static int JIRA_5_0_4_BUILD_NUMBER
           
 
Fields inherited from class com.atlassian.greenhopper.global.AbstractLoggable
logger
 
Constructor Summary
SimplifiedWorkflowServiceImpl()
           
 
Method Summary
 ServiceOutcome<java.lang.Void> addStatusToGreenHopperSimplifiedWorkflow(com.atlassian.crowd.embedded.api.User user, com.atlassian.jira.workflow.JiraWorkflow workflow, com.atlassian.jira.issue.status.Status status)
          Modifies the GreenHopper Simplified Workflow to include the specified Status as a step with its associated global transitions.
 ServiceOutcome<com.atlassian.jira.issue.status.Status> canStatusBeRemovedFromGreenHopperSimplifiedWorkflow(com.atlassian.jira.workflow.JiraWorkflow workflow, java.lang.String statusId)
          Checks to see if the specified status can be removed from the specified JiraWorkflow.
 ServiceOutcome<CheckWorkflowEntitiesByNameResult> checkForSimplifiedWorkflowNamedAfterProject(java.lang.String projectKey)
          Look for the existence of workflows or workflow schemes with the reserved name for "GreenHopper Simplified Workflow" for the given project.
 ServiceOutcome<com.atlassian.jira.workflow.JiraWorkflow> convertTransitionsToSimplified(com.atlassian.crowd.embedded.api.User user, com.atlassian.jira.workflow.JiraWorkflow mutable)
          Converts a workflow so that it will have only global transitions to all steps.
 ServiceOutcome<com.atlassian.jira.scheme.Scheme> createSimplifiedWorkflowForExistingProject(com.atlassian.crowd.embedded.api.User user, com.atlassian.jira.project.Project project)
          Take the workflow of the existing project, and create a copy which is a GreenHopper Simplified Workflow.
 ServiceOutcome<java.lang.Void> createSimplifiedWorkflowForNewProject(com.atlassian.crowd.embedded.api.User user, com.atlassian.jira.project.Project project, SimplifiedWorkflowPresets preset)
          Create a "GreenHopper Simplified Workflow" workflow scheme and workflow for the newly created project and associate it with the provided project
 ServiceOutcome<com.atlassian.jira.util.lang.Pair<com.atlassian.jira.workflow.JiraWorkflow,com.atlassian.jira.scheme.Scheme>> createSimplifiedWorkflowForNewProject(com.atlassian.crowd.embedded.api.User user, java.lang.String projectKey, SimplifiedWorkflowPresets preset)
          Create a "GreenHopper Simplified Workflow" workflow scheme and workflow for a project with key projectKey.
 ServiceOutcome<com.atlassian.jira.util.lang.Pair<com.atlassian.jira.workflow.JiraWorkflow,com.atlassian.jira.project.Project>> getGreenHopperSimplifiedWorkflow(com.atlassian.crowd.embedded.api.User user, com.atlassian.query.Query query)
          Attempts to retrieve the GreenHopper Simplified Workflow that is backing the Query.
 ServiceOutcome<com.atlassian.jira.util.lang.Pair<com.atlassian.jira.workflow.JiraWorkflow,com.atlassian.jira.project.Project>> getPotentialWorkflowForConversion(com.atlassian.crowd.embedded.api.User user, com.atlassian.query.Query query)
          Attempts to retrieve a potential GreenHopper Simplified Workflow that is backing the Query.
 java.util.Map<SimplifiedWorkflowPresets,PresetData> getPresetDefinitions()
          get the map from WorkflowPreset enum to the bean encapsulating preset data
 boolean isFeatureEnabled()
           
 ServiceOutcome<java.lang.Void> removeStatusFromGreenHopperSimplifiedWorkflow(com.atlassian.crowd.embedded.api.User user, com.atlassian.jira.workflow.JiraWorkflow workflow, com.atlassian.jira.issue.status.Status status)
          Removes the specified Status associated step and global transition from the GreenHopper Simplified Workflow.
 ServiceOutcome<com.atlassian.jira.workflow.JiraWorkflow> replaceInitialStatusInGreenHopperSimplifiedWorkflow(com.atlassian.crowd.embedded.api.User user, com.atlassian.jira.workflow.JiraWorkflow workflow, com.atlassian.jira.issue.status.Status oldInitialStatus, com.atlassian.jira.issue.status.Status newInitialStatus)
          Replaces the initial status specified in the workflow with a new one.
 
Methods inherited from class com.atlassian.greenhopper.global.AbstractLoggable
logDebug, logError, logException, logInfo, logTrace, logWarn
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

JIRA_5_0_4_BUILD_NUMBER

public static final int JIRA_5_0_4_BUILD_NUMBER
See Also:
Constant Field Values
Constructor Detail

SimplifiedWorkflowServiceImpl

public SimplifiedWorkflowServiceImpl()
Method Detail

isFeatureEnabled

public boolean isFeatureEnabled()
Specified by:
isFeatureEnabled in interface SimplifiedWorkflowService
Returns:
if the feature is able to be used based on the JIRA version.

getGreenHopperSimplifiedWorkflow

public ServiceOutcome<com.atlassian.jira.util.lang.Pair<com.atlassian.jira.workflow.JiraWorkflow,com.atlassian.jira.project.Project>> getGreenHopperSimplifiedWorkflow(com.atlassian.crowd.embedded.api.User user,
                                                                                                                                                                       com.atlassian.query.Query query)
Description copied from interface: SimplifiedWorkflowService
Attempts to retrieve the GreenHopper Simplified Workflow that is backing the Query. This will fail if the query does not meet the criteria for a Simplified Workflow.

The criteria is as follows:

Specified by:
getGreenHopperSimplifiedWorkflow in interface SimplifiedWorkflowService
Parameters:
user - the user trying to retrieve the workflow
query - the query to look at
Returns:
the result

getPotentialWorkflowForConversion

public ServiceOutcome<com.atlassian.jira.util.lang.Pair<com.atlassian.jira.workflow.JiraWorkflow,com.atlassian.jira.project.Project>> getPotentialWorkflowForConversion(com.atlassian.crowd.embedded.api.User user,
                                                                                                                                                                        com.atlassian.query.Query query)
Description copied from interface: SimplifiedWorkflowService
Attempts to retrieve a potential GreenHopper Simplified Workflow that is backing the Query. It is necessary that a Simplified Workflow is a potential Simplified Workflow, but not the other way around. This will just determine if the user may be allowed to kick off a conversion.

The criteria here is less stringent:

Specified by:
getPotentialWorkflowForConversion in interface SimplifiedWorkflowService
Parameters:
user - the user retrieving the workflow
query - the query to look at
Returns:
the result

canStatusBeRemovedFromGreenHopperSimplifiedWorkflow

public ServiceOutcome<com.atlassian.jira.issue.status.Status> canStatusBeRemovedFromGreenHopperSimplifiedWorkflow(com.atlassian.jira.workflow.JiraWorkflow workflow,
                                                                                                                  java.lang.String statusId)
Description copied from interface: SimplifiedWorkflowService
Checks to see if the specified status can be removed from the specified JiraWorkflow. It assumes that the workflow is a GreenHopper Simplified Workflow.

The status can only be removed if:

Specified by:
canStatusBeRemovedFromGreenHopperSimplifiedWorkflow in interface SimplifiedWorkflowService
Parameters:
workflow - the workflow
statusId - the ID of the status to look for
Returns:
the outcome

replaceInitialStatusInGreenHopperSimplifiedWorkflow

public ServiceOutcome<com.atlassian.jira.workflow.JiraWorkflow> replaceInitialStatusInGreenHopperSimplifiedWorkflow(com.atlassian.crowd.embedded.api.User user,
                                                                                                                    @NotNull
                                                                                                                    com.atlassian.jira.workflow.JiraWorkflow workflow,
                                                                                                                    @NotNull
                                                                                                                    com.atlassian.jira.issue.status.Status oldInitialStatus,
                                                                                                                    @NotNull
                                                                                                                    com.atlassian.jira.issue.status.Status newInitialStatus)
Description copied from interface: SimplifiedWorkflowService
Replaces the initial status specified in the workflow with a new one. Assumes that the workflow is a GreenHopper Simplified Workflow.

Specified by:
replaceInitialStatusInGreenHopperSimplifiedWorkflow in interface SimplifiedWorkflowService
Parameters:
user - the user
workflow - the workflow
oldInitialStatus - the status to remove
newInitialStatus - the status to replace it with
Returns:
the result

addStatusToGreenHopperSimplifiedWorkflow

public ServiceOutcome<java.lang.Void> addStatusToGreenHopperSimplifiedWorkflow(com.atlassian.crowd.embedded.api.User user,
                                                                               com.atlassian.jira.workflow.JiraWorkflow workflow,
                                                                               com.atlassian.jira.issue.status.Status status)
Description copied from interface: SimplifiedWorkflowService
Modifies the GreenHopper Simplified Workflow to include the specified Status as a step with its associated global transitions.

If the status already exists in the specified workflow, nothing will be changed.

Specified by:
addStatusToGreenHopperSimplifiedWorkflow in interface SimplifiedWorkflowService
Parameters:
user - the user
workflow - the workflow to modify - must be a GreenHopper Simplified Workflow
status - the status
Returns:
the result

removeStatusFromGreenHopperSimplifiedWorkflow

public ServiceOutcome<java.lang.Void> removeStatusFromGreenHopperSimplifiedWorkflow(com.atlassian.crowd.embedded.api.User user,
                                                                                    com.atlassian.jira.workflow.JiraWorkflow workflow,
                                                                                    com.atlassian.jira.issue.status.Status status)
Description copied from interface: SimplifiedWorkflowService
Removes the specified Status associated step and global transition from the GreenHopper Simplified Workflow. Assumes that the workflow is a GreenHopper Simplified Workflow.

If the status is no longer in use by any workflow, it will be removed from the system entirely.

Specified by:
removeStatusFromGreenHopperSimplifiedWorkflow in interface SimplifiedWorkflowService
Parameters:
user - the user
workflow - the workflow
status - the status to remove
Returns:
the result

convertTransitionsToSimplified

public ServiceOutcome<com.atlassian.jira.workflow.JiraWorkflow> convertTransitionsToSimplified(com.atlassian.crowd.embedded.api.User user,
                                                                                               com.atlassian.jira.workflow.JiraWorkflow mutable)
Description copied from interface: SimplifiedWorkflowService
Converts a workflow so that it will have only global transitions to all steps. These transitions will not have any conditions, validators or screens, and will have the default post functions applied.

Specified by:
convertTransitionsToSimplified in interface SimplifiedWorkflowService
Parameters:
user - the user
mutable - the original workflow
Returns:
the new workflow

getPresetDefinitions

public java.util.Map<SimplifiedWorkflowPresets,PresetData> getPresetDefinitions()
Description copied from interface: SimplifiedWorkflowService
get the map from WorkflowPreset enum to the bean encapsulating preset data

Specified by:
getPresetDefinitions in interface SimplifiedWorkflowService

checkForSimplifiedWorkflowNamedAfterProject

public ServiceOutcome<CheckWorkflowEntitiesByNameResult> checkForSimplifiedWorkflowNamedAfterProject(java.lang.String projectKey)
Description copied from interface: SimplifiedWorkflowService
Look for the existence of workflows or workflow schemes with the reserved name for "GreenHopper Simplified Workflow" for the given project. This is used when attempting to convert an existing project's workflow into the GreenHopper Simplified Workflow.

Specified by:
checkForSimplifiedWorkflowNamedAfterProject in interface SimplifiedWorkflowService
Returns:
the result
See Also:
CheckWorkflowEntitiesByNameResult

createSimplifiedWorkflowForNewProject

public ServiceOutcome<com.atlassian.jira.util.lang.Pair<com.atlassian.jira.workflow.JiraWorkflow,com.atlassian.jira.scheme.Scheme>> createSimplifiedWorkflowForNewProject(com.atlassian.crowd.embedded.api.User user,
                                                                                                                                                                          java.lang.String projectKey,
                                                                                                                                                                          SimplifiedWorkflowPresets preset)
Description copied from interface: SimplifiedWorkflowService
Create a "GreenHopper Simplified Workflow" workflow scheme and workflow for a project with key projectKey. Does not associate scheme with project.

Specified by:
createSimplifiedWorkflowForNewProject in interface SimplifiedWorkflowService
See Also:
SimplifiedWorkflowService.createSimplifiedWorkflowForNewProject(com.atlassian.crowd.embedded.api.User, com.atlassian.jira.project.Project, SimplifiedWorkflowPresets)

createSimplifiedWorkflowForNewProject

public ServiceOutcome<java.lang.Void> createSimplifiedWorkflowForNewProject(com.atlassian.crowd.embedded.api.User user,
                                                                            com.atlassian.jira.project.Project project,
                                                                            SimplifiedWorkflowPresets preset)
Description copied from interface: SimplifiedWorkflowService
Create a "GreenHopper Simplified Workflow" workflow scheme and workflow for the newly created project and associate it with the provided project

Specified by:
createSimplifiedWorkflowForNewProject in interface SimplifiedWorkflowService

createSimplifiedWorkflowForExistingProject

public ServiceOutcome<com.atlassian.jira.scheme.Scheme> createSimplifiedWorkflowForExistingProject(com.atlassian.crowd.embedded.api.User user,
                                                                                                   com.atlassian.jira.project.Project project)
Description copied from interface: SimplifiedWorkflowService
Take the workflow of the existing project, and create a copy which is a GreenHopper Simplified Workflow. Does not associate the project to the workflow scheme.

Specified by:
createSimplifiedWorkflowForExistingProject in interface SimplifiedWorkflowService
Parameters:
user - the user
project - the existing project
Returns:
the new scheme which the project could be associated to


Copyright © 2007-2012 Atlassian. All Rights Reserved.