com.atlassian.jira.workflow
Interface ProjectWorkflowSchemeHelper

All Known Implementing Classes:
DefaultProjectWorkflowSchemeHelper

public interface ProjectWorkflowSchemeHelper

Provides the ability to deromilize the workflow -> workflowscheme ->project relationship in a number of different ways. This is really an internal helper class for Project Configuration.

Since:
v4.4

Method Summary
 List<Project> getProjectsForScheme(Long schemeId)
          Return a list of projects that use the workflow scheme with the passed query.
 com.google.common.collect.Multimap<String,Project> getProjectsForWorkflow(Set<String> workflows)
          Return a map of active workflow names to the projects that use those workflows.
 List<Project> getProjectsForWorkflow(String workflowName)
          Returns a list of the projects are currently using the passed workflow.
 

Method Detail

getProjectsForScheme

List<Project> getProjectsForScheme(Long schemeId)
Return a list of projects that use the workflow scheme with the passed query. Only projects that the passed user can change the configurtion for will be returned.

Parameters:
schemeId - the scheme id query. Null can be passed to search for the magical default workflow scheme.
Returns:
a list of projects that use the workflow. The list is sorted by project name. The list is mutable and can be changed by the caller safely.

getProjectsForWorkflow

List<Project> getProjectsForWorkflow(String workflowName)
Returns a list of the projects are currently using the passed workflow. A workflow is only considered "active" if it is currently actually being used by a project. This means it is active if:
  1. The workflow is mapped to an issue type in the project's scheme and the project has that issue type.
  2. The workflow is a default for the project's scheme and there are some unmapped issue types.
Only projects that the passed user can change the configurtion for will be returned.

Parameters:
workflowName - the name of the workflow the check.
Returns:
a list of active projects. The list is sorted by project name. The list is mutable and can be changed by the caller safely.

getProjectsForWorkflow

com.google.common.collect.Multimap<String,Project> getProjectsForWorkflow(Set<String> workflows)
Return a map of active workflow names to the projects that use those workflows. A workflow is only considered "active" if it is currently actually being used by a project. This means it is active if:
  1. The workflow is mapped to an issue type in the project's scheme and the project has that issue type.
  2. The workflow is a default for the project's scheme and there are some unmapped issue types.
Only projects that the passed user can change the configurtion for will be returned.

Parameters:
workflows - the workflows to query.
Returns:
a list of active projects. The projects are sorted by name. The map is mutable and can be changed by the caller.


Copyright © 2002-2014 Atlassian. All Rights Reserved.