Class PrioritySchemeManagerImpl
java.lang.Object
com.atlassian.jira.issue.fields.config.manager.PrioritySchemeManagerImpl
- All Implemented Interfaces:
PrioritySchemeManager
-
Constructor Summary
ConstructorsConstructorDescriptionPrioritySchemeManagerImpl(FieldConfigSchemeManager fieldConfigSchemeManager, OptionSetManager optionSetManager, GenericConfigManager genericConfigManager, ConstantsManager constantsManager, com.atlassian.event.api.EventPublisher eventPublisher, FeatureManager featureManager, ProjectManager projectManager, PrioritySchemeAuditHandler prioritySchemeHandler) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddOptionToDefault(String optionId) Adds theoptionIdto the default priority scheme.voidassignProject(FieldConfigScheme priorityFieldConfig, Project project) Associates a project with a priority scheme.voidassignProjects(FieldConfigScheme priorityFieldConfig, Set<Project> projects) Associates multiple projects with a priority scheme.createWithDefaultMapping(String name, String description, List<String> optionIds) Creates a newFieldConfigSchemewith a default mapping toFieldConfig.voiddelete(FieldConfigScheme fieldConfigScheme) RemovesFieldConfigScheme.getAllRelatedSchemes(String optionId) Retrieves all schemes that haveoptionIdas part of its options.Retrieves all priority schemes and sorts them.getDefaultOption(IssueContext issueContext) Retrieves the ID of the defaultPriorityforFieldConfigrelevant to a passedissueContextfor a priority system field.getDefaultOption(FieldConfig fieldConfig) Returns the ID of the defaultPriorityfor a givenfieldConfig.Retrieves the default global priority scheme which contains all priorities.getFieldConfigForDefaultMapping(FieldConfigScheme fieldConfigScheme) RetrievesFieldConfigthat is used for a default mapping for a passedfieldConfigScheme.getOptions(IssueContext issueContext) Retrieves a list of priority IDs configured for a passedissueContext.getOptions(FieldConfig fieldConfig) Retrieves a list of priority IDs configured for a passedfieldConfig.getPrioritiesFromIds(Collection<String> priorityIds) Converts a collection of priority IDs to a collection ofPriority.getPriority(String priorityId) ConvertspriorityIdtoPriorityvalue.getProjectsWithScheme(FieldConfigScheme fieldConfigScheme) Retrieves all projects associated with a scheme.GetsFieldConfigSchemefor givenproject.GetsFieldConfigSchemebyid.booleanisDefaultScheme(FieldConfigScheme fieldConfigScheme) Checks if a passedfieldConfigSchemeis the default priority scheme.voidremoveOptionFromAllSchemes(String optionId) Removes a priority ID from all priority schemes that have the passedoptionIdas part of its options.voidsetDefaultOption(FieldConfig fieldConfig, String optionId) Sets default priority ID for givenFieldConfigScheme.voidsetOptions(FieldConfig fieldConfig, List<String> optionIds) Sets priority IDs forfieldConfig.voidunassignProject(FieldConfigScheme scheme, Project project) Removes a project from a priority scheme.voidunassignProjects(FieldConfigScheme scheme, Set<Project> projects) Removes multiple projects from a priority scheme.updateWithDefaultMapping(FieldConfigScheme fieldConfigScheme, List<String> optionIds) UpdatesFieldConfigSchemewith provided data and options (priority IDs).
-
Constructor Details
-
PrioritySchemeManagerImpl
public PrioritySchemeManagerImpl(FieldConfigSchemeManager fieldConfigSchemeManager, OptionSetManager optionSetManager, GenericConfigManager genericConfigManager, ConstantsManager constantsManager, com.atlassian.event.api.EventPublisher eventPublisher, FeatureManager featureManager, ProjectManager projectManager, PrioritySchemeAuditHandler prioritySchemeHandler)
-
-
Method Details
-
getScheme
Description copied from interface:PrioritySchemeManagerGetsFieldConfigSchemefor givenproject.- Specified by:
getSchemein interfacePrioritySchemeManager- Parameters:
project- Project- Returns:
FieldConfigSchemeassociated with givenproject
-
getScheme
Description copied from interface:PrioritySchemeManagerGetsFieldConfigSchemebyid.- Specified by:
getSchemein interfacePrioritySchemeManager- Parameters:
id- scheme id- Returns:
FieldConfigScheme
-
getDefaultScheme
Description copied from interface:PrioritySchemeManagerRetrieves the default global priority scheme which contains all priorities.- Specified by:
getDefaultSchemein interfacePrioritySchemeManager- Returns:
- default
FieldConfigScheme
-
getAllSchemes
Description copied from interface:PrioritySchemeManagerRetrieves all priority schemes and sorts them. Schemes with the default scheme ID are first. Schemes with null names are second, the rest are sorted on name.- Specified by:
getAllSchemesin interfacePrioritySchemeManager- Returns:
- all schemes sorted on name with default first
-
isDefaultScheme
Description copied from interface:PrioritySchemeManagerChecks if a passedfieldConfigSchemeis the default priority scheme.- Specified by:
isDefaultSchemein interfacePrioritySchemeManager- Parameters:
fieldConfigScheme- Field config scheme in question- Returns:
- true if
fieldConfigSchemeis default one, false otherwise.
-
getDefaultOption
Description copied from interface:PrioritySchemeManagerRetrieves the ID of the defaultPriorityforFieldConfigrelevant to a passedissueContextfor a priority system field. If no default priority is defined forFieldConfigthen middle priority of all priorities assigned to thatFieldConfigis returned.- Specified by:
getDefaultOptionin interfacePrioritySchemeManager- Parameters:
issueContext-IssueContextto obtain default value for- Returns:
- Id of default
PriorityforissueContext
-
getDefaultOption
Description copied from interface:PrioritySchemeManagerReturns the ID of the defaultPriorityfor a givenfieldConfig.- Specified by:
getDefaultOptionin interfacePrioritySchemeManager- Parameters:
fieldConfig- the field configuration scheme of interest- Returns:
- Id of default
Priorityfor thisfieldConfig
-
setDefaultOption
Description copied from interface:PrioritySchemeManagerSets default priority ID for givenFieldConfigScheme.- Specified by:
setDefaultOptionin interfacePrioritySchemeManager- Parameters:
fieldConfig-FieldConfigfor which set the default optionoptionId- Priority id. Passnullto remove default priority fromfieldConfig.
-
getOptions
Description copied from interface:PrioritySchemeManagerRetrieves a list of priority IDs configured for a passedissueContext. Ifnullis passed forissueContextthen priority ids for default scheme are returned.- Specified by:
getOptionsin interfacePrioritySchemeManager- Parameters:
issueContext- Issue context eg.ProjectContext- Returns:
- list of priorities configured for passed
issueContext.
-
getOptions
Description copied from interface:PrioritySchemeManagerRetrieves a list of priority IDs configured for a passedfieldConfig. Ifnullis passed asfieldConfigthen empty list is returned.- Specified by:
getOptionsin interfacePrioritySchemeManager- Parameters:
fieldConfig-FieldConfigto obtain list of priority id from.- Returns:
- List of priority ids for
fieldConfig
-
setOptions
Description copied from interface:PrioritySchemeManagerSets priority IDs forfieldConfig.- Specified by:
setOptionsin interfacePrioritySchemeManager- Parameters:
fieldConfig-FieldConfigto set list of priority id for.optionIds- List of priority ids.
-
createWithDefaultMapping
public FieldConfigScheme createWithDefaultMapping(@Nonnull String name, String description, List<String> optionIds) Description copied from interface:PrioritySchemeManagerCreates a newFieldConfigSchemewith a default mapping toFieldConfig. Also creates options inOPTION_CONFIGURATIONtable. TriggersPrioritySchemeCreatedEvent.- Specified by:
createWithDefaultMappingin interfacePrioritySchemeManager- Parameters:
name- Scheme namedescription- Scheme descriptionoptionIds- Collection of priority ids- Returns:
- created FieldConfigScheme
-
updateWithDefaultMapping
public FieldConfigScheme updateWithDefaultMapping(FieldConfigScheme fieldConfigScheme, List<String> optionIds) Description copied from interface:PrioritySchemeManagerUpdatesFieldConfigSchemewith provided data and options (priority IDs). DefaultFieldConfigforFieldConfigSchemeis used. TriggersPrioritySchemeUpdatedEvent.- Specified by:
updateWithDefaultMappingin interfacePrioritySchemeManager- Parameters:
fieldConfigScheme- Field config scheme to updateoptionIds- Collection of priority ids- Returns:
- updated FieldConfigScheme
-
getFieldConfigForDefaultMapping
Description copied from interface:PrioritySchemeManagerRetrievesFieldConfigthat is used for a default mapping for a passedfieldConfigScheme.- Specified by:
getFieldConfigForDefaultMappingin interfacePrioritySchemeManager- Parameters:
fieldConfigScheme-- Returns:
FieldConfigfor default mapping forfieldConfigScheme
-
delete
Description copied from interface:PrioritySchemeManagerRemovesFieldConfigScheme. TriggersPrioritySchemeDeletedEvent.- Specified by:
deletein interfacePrioritySchemeManager- Parameters:
fieldConfigScheme-FieldConfigSchemeto delete
-
addOptionToDefault
Description copied from interface:PrioritySchemeManagerAdds theoptionIdto the default priority scheme.- Specified by:
addOptionToDefaultin interfacePrioritySchemeManager- Parameters:
optionId- priority id
-
removeOptionFromAllSchemes
Description copied from interface:PrioritySchemeManagerRemoves a priority ID from all priority schemes that have the passedoptionIdas part of its options.- Specified by:
removeOptionFromAllSchemesin interfacePrioritySchemeManager- Parameters:
optionId- Priority id to remove from all priority schemes.
-
getAllRelatedSchemes
Description copied from interface:PrioritySchemeManagerRetrieves all schemes that haveoptionIdas part of its options.- Specified by:
getAllRelatedSchemesin interfacePrioritySchemeManager- Parameters:
optionId- Priority id being queried- Returns:
- Collection of
FieldConfigSchemeobjects
-
getPriority
Description copied from interface:PrioritySchemeManagerConvertspriorityIdtoPriorityvalue.- Specified by:
getPriorityin interfacePrioritySchemeManager- Parameters:
priorityId- Id ofPriority- Returns:
Priorityobject
-
getPrioritiesFromIds
Description copied from interface:PrioritySchemeManagerConverts a collection of priority IDs to a collection ofPriority. Priorities not found by id are skipped.- Specified by:
getPrioritiesFromIdsin interfacePrioritySchemeManager- Parameters:
priorityIds- Collection of ids forPriority- Returns:
- Collection of
Priorityobjects
-
assignProject
Description copied from interface:PrioritySchemeManagerAssociates a project with a priority scheme. To assign project to "default priority scheme" please unassign project from currently used priority schemePrioritySchemeManager.unassignProject(FieldConfigScheme, Project). If this method is used on "default priority scheme" it will remove DB association that marks scheme as default thus it will break "default priority scheme". When assigning multiple projects please usePrioritySchemeManager.assignProjects(FieldConfigScheme, Set)instead of calling this method in a loop to achieve better performance.- Specified by:
assignProjectin interfacePrioritySchemeManager- Parameters:
priorityFieldConfig- the schemeproject- the project
-
assignProjects
public void assignProjects(@Nonnull FieldConfigScheme priorityFieldConfig, @Nonnull Set<Project> projects) Description copied from interface:PrioritySchemeManagerAssociates multiple projects with a priority scheme. To assign project to "default priority scheme" please unassign project from currently used priority schemePrioritySchemeManager.unassignProject(FieldConfigScheme, Project). If this method is used on "default priority scheme" it will remove DB association that marks scheme as default thus it will break "default priority scheme".- Specified by:
assignProjectsin interfacePrioritySchemeManager- Parameters:
priorityFieldConfig- the schemeprojects- the projects
-
getProjectsWithScheme
Description copied from interface:PrioritySchemeManagerRetrieves all projects associated with a scheme.- Specified by:
getProjectsWithSchemein interfacePrioritySchemeManager- Parameters:
fieldConfigScheme- the scheme- Returns:
- List of
Projectwith the given scheme (possibly empty)
-
unassignProject
Description copied from interface:PrioritySchemeManagerRemoves a project from a priority scheme. It can also be used to assign project with "default priority scheme" - simply unassign project from currently used scheme and the project will start using default priority scheme. When unassigning multiple projects please usePrioritySchemeManager.unassignProjects(FieldConfigScheme, Set)instead of calling this method in a loop to achieve better performance.- Specified by:
unassignProjectin interfacePrioritySchemeManager- Parameters:
scheme- the schemeproject- the project
-
unassignProjects
Description copied from interface:PrioritySchemeManagerRemoves multiple projects from a priority scheme. It can also be used to assign projects with "default priority scheme" - simply unassign projects from currently used scheme and the projects will start using default priority scheme.- Specified by:
unassignProjectsin interfacePrioritySchemeManager- Parameters:
scheme- the schemeprojects- the projects
-