@ExperimentalApi
public interface PrioritySchemeManager
FieldConfigScheme for managing priority schemes.
Example usage:
PrioritySchemeManager prioritySchemeManager; ProjectManager projectManager; //creates a new FieldConfigScheme with 3 priorities assigned FieldConfigScheme fieldConfigScheme = prioritySchemeManager.createWithDefaultMapping("Some name", "Some description", ImmutableList.of("1", "2", "3")); //options/priorities are assigned to a particular FieldConfig FieldConfig fieldConfig = prioritySchemeManager.getFieldConfigForDefaultMapping(fieldConfigScheme); //sets a priority with ID=1 as the default priority prioritySchemeManager.setDefaultOption(fieldConfig, "1"); //assigns a priority scheme to a "TEST" project Project project = projectManager.getProjectObjByKey("TEST"); prioritySchemeManager.assignProject(fieldConfigScheme, project); //retrieves all priorities for a given priority scheme Collection<Priority> priorities = prioritySchemeManager.getPrioritiesFromIds(prioritySchemeManager.getOptions(fieldConfig));
| Modifier and Type | Method and Description |
|---|---|
void |
addOptionToDefault(String optionId)
Adds the
optionId to the default priority scheme. |
void |
assignProject(FieldConfigScheme priorityFieldConfig,
Project project)
Associates a project with a priority scheme.
|
void |
assignProjects(FieldConfigScheme priorityFieldConfig,
Set<Project> projects)
Associates multiple projects with a priority scheme.
|
FieldConfigScheme |
createWithDefaultMapping(String name,
String description,
List<String> optionIds)
Creates a new
FieldConfigScheme with a default mapping to FieldConfig. |
void |
delete(FieldConfigScheme fieldConfigScheme)
Removes
FieldConfigScheme. |
Collection<FieldConfigScheme> |
getAllRelatedSchemes(String optionId)
Retrieves all schemes that have
optionId as part of its options. |
List<FieldConfigScheme> |
getAllSchemes()
Retrieves all priority schemes and sorts them.
|
String |
getDefaultOption(FieldConfig fieldConfig)
Returns the ID of the default
Priority for a given fieldConfig. |
String |
getDefaultOption(IssueContext issueContext)
Retrieves the ID of the default
Priority for FieldConfig relevant to a passed issueContext for a priority system field. |
FieldConfigScheme |
getDefaultScheme()
Retrieves the default global priority scheme which contains all priorities.
|
FieldConfig |
getFieldConfigForDefaultMapping(FieldConfigScheme fieldConfigScheme)
Retrieves
FieldConfig that is used for a default mapping for a passed fieldConfigScheme. |
List<String> |
getOptions(FieldConfig fieldConfig)
Retrieves a list of priority IDs configured for a passed
fieldConfig. |
List<String> |
getOptions(IssueContext issueContext)
Retrieves a list of priority IDs configured for a passed
issueContext. |
Collection<Priority> |
getPrioritiesFromIds(Collection<String> priorityIds)
Converts a collection of priority IDs to a collection of
Priority. |
Priority |
getPriority(String priorityId)
Converts
priorityId to Priority value. |
Set<Project> |
getProjectsWithScheme(FieldConfigScheme fieldConfigScheme)
Retrieves all projects associated with a scheme.
|
FieldConfigScheme |
getScheme(Long id)
Gets
FieldConfigScheme by id. |
FieldConfigScheme |
getScheme(Project project)
Gets
FieldConfigScheme for given project. |
boolean |
isDefaultScheme(FieldConfigScheme fieldConfigScheme)
Checks if a passed
fieldConfigScheme is the default priority scheme. |
void |
removeOptionFromAllSchemes(String optionId)
Removes a priority ID from all priority schemes that have the passed
optionId as part of its options. |
void |
setDefaultOption(FieldConfig fieldConfig,
String optionId)
Sets default priority ID for given
FieldConfigScheme. |
void |
setOptions(FieldConfig fieldConfig,
List<String> optionIds)
Sets priority IDs for
fieldConfig. |
void |
unassignProject(FieldConfigScheme scheme,
Project project)
Removes a project from a priority scheme.
|
void |
unassignProjects(FieldConfigScheme scheme,
Set<Project> projects)
Removes multiple projects from a priority scheme.
|
FieldConfigScheme |
updateWithDefaultMapping(FieldConfigScheme fieldConfigScheme,
List<String> optionIds)
Updates
FieldConfigScheme with provided data and options (priority IDs). |
@Nonnull FieldConfigScheme createWithDefaultMapping(@Nonnull String name, @Nullable String description, @Nullable List<String> optionIds)
FieldConfigScheme with a default mapping to FieldConfig.
Also creates options in OPTION_CONFIGURATION table.
Triggers PrioritySchemeCreatedEvent.name - Scheme namedescription - Scheme descriptionoptionIds - Collection of priority idsFieldConfigScheme updateWithDefaultMapping(@Nonnull FieldConfigScheme fieldConfigScheme, @Nullable List<String> optionIds)
FieldConfigScheme with provided data and options (priority IDs).
Default FieldConfig for FieldConfigScheme is used.
Triggers PrioritySchemeUpdatedEvent.fieldConfigScheme - Field config scheme to updateoptionIds - Collection of priority ids@Nullable FieldConfig getFieldConfigForDefaultMapping(@Nullable FieldConfigScheme fieldConfigScheme)
FieldConfig that is used for a default mapping for a passed fieldConfigScheme.fieldConfigScheme - FieldConfig for default mapping for fieldConfigSchemevoid delete(@Nonnull FieldConfigScheme fieldConfigScheme)
FieldConfigScheme.
Triggers PrioritySchemeDeletedEvent.fieldConfigScheme - FieldConfigScheme to deleteFieldConfigScheme getScheme(@Nullable Project project)
FieldConfigScheme for given project.project - ProjectFieldConfigScheme associated with given project@Nullable FieldConfigScheme getScheme(@Nonnull Long id)
FieldConfigScheme by id.id - scheme idFieldConfigScheme@Nonnull List<FieldConfigScheme> getAllSchemes()
boolean isDefaultScheme(@Nonnull FieldConfigScheme fieldConfigScheme)
fieldConfigScheme is the default priority scheme.fieldConfigScheme - Field config scheme in questionfieldConfigScheme is default one, false otherwise.@Nullable FieldConfigScheme getDefaultScheme()
FieldConfigScheme@Nullable String getDefaultOption(@Nonnull IssueContext issueContext)
Priority for FieldConfig relevant to a passed issueContext for a priority system field.
If no default priority is defined for FieldConfig then middle priority of all priorities assigned to that FieldConfig is returned.issueContext - IssueContext to obtain default value forPriority for issueContext@Nullable String getDefaultOption(@Nullable FieldConfig fieldConfig)
Priority for a given fieldConfig.fieldConfig - the field configuration scheme of interestPriority for this fieldConfigvoid setDefaultOption(@Nonnull FieldConfig fieldConfig, @Nullable String optionId)
FieldConfigScheme.fieldConfig - FieldConfig for which set the default optionoptionId - Priority id. Pass null to remove default priority from fieldConfig.List<String> getOptions(@Nullable IssueContext issueContext)
issueContext.
If null is passed for issueContext then priority ids for default scheme are returned.issueContext - Issue context eg. ProjectContextissueContext.@Nonnull List<String> getOptions(@Nullable FieldConfig fieldConfig)
fieldConfig.
If null is passed as fieldConfig then empty list is returned.fieldConfig - FieldConfig to obtain list of priority id from.fieldConfigvoid setOptions(@Nonnull FieldConfig fieldConfig, @Nullable List<String> optionIds)
fieldConfig.fieldConfig - FieldConfig to set list of priority id for.optionIds - List of priority ids.void addOptionToDefault(@Nonnull String optionId)
optionId to the default priority scheme.optionId - priority idvoid removeOptionFromAllSchemes(@Nonnull String optionId)
optionId as part of its options.optionId - Priority id to remove from all priority schemes.@Nonnull Collection<FieldConfigScheme> getAllRelatedSchemes(@Nonnull String optionId)
optionId as part of its options.optionId - Priority id being queriedFieldConfigScheme objects@Nullable Priority getPriority(@Nonnull String priorityId)
priorityId to Priority value.@Nonnull Collection<Priority> getPrioritiesFromIds(@Nonnull Collection<String> priorityIds)
Priority. Priorities not found by id are skipped.void assignProject(@Nonnull FieldConfigScheme priorityFieldConfig, @Nonnull Project project)
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 use assignProjects(FieldConfigScheme, Set) instead of calling this method in a loop to achieve better performance.priorityFieldConfig - the schemeproject - the projectvoid assignProjects(@Nonnull FieldConfigScheme priorityFieldConfig, @Nonnull Set<Project> projects)
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".priorityFieldConfig - the schemeprojects - the projects@Nonnull Set<Project> getProjectsWithScheme(@Nonnull FieldConfigScheme fieldConfigScheme)
fieldConfigScheme - the schemeProject with the given scheme (possibly empty)void unassignProject(@Nonnull FieldConfigScheme scheme, @Nonnull Project project)
unassignProjects(FieldConfigScheme, Set) instead of calling this method in a loop to achieve better performance.scheme - the schemeproject - the projectvoid unassignProjects(@Nonnull FieldConfigScheme scheme, @Nonnull Set<Project> projects)
scheme - the schemeprojects - the projectsCopyright © 2002-2019 Atlassian. All Rights Reserved.