public class FieldConfigSchemeManagerImpl extends Object implements FieldConfigSchemeManager
ALL_ISSUE_TYPES| Constructor and Description |
|---|
FieldConfigSchemeManagerImpl(FieldConfigSchemePersister configSchemePersister,
FieldConfigContextPersister contextPersister,
FieldConfigManager configManager,
CustomFieldContextHandler customFieldContextHandler,
com.atlassian.event.api.EventPublisher eventPublisher) |
| Modifier and Type | Method and Description |
|---|---|
FieldConfigScheme |
addAssociatedContexts(FieldConfigScheme scheme,
Set<JiraContextNode> contextsToBeAdded,
ConfigurableField field)
Adds new contexts to a config scheme
|
FieldConfigScheme |
createDefaultScheme(ConfigurableField field,
List<JiraContextNode> contexts) |
FieldConfigScheme |
createDefaultScheme(ConfigurableField field,
List<JiraContextNode> contexts,
List<IssueType> issueTypes) |
FieldConfigScheme |
createFieldConfigScheme(FieldConfigScheme newConfigScheme,
List<JiraContextNode> contexts,
List<IssueType> issueTypes,
ConfigurableField field) |
List<Project> |
getAssociatedProjectObjects(ConfigurableField field)
Returns a non-null list of Projects associated with the given field.
|
FieldConfigScheme |
getConfigSchemeForFieldConfig(FieldConfig fieldConfig)
Retrieves the
FieldConfigScheme associated with the
FieldConfig |
List<FieldConfigScheme> |
getConfigSchemesForField(ConfigurableField field) |
FieldConfigScheme |
getFieldConfigScheme(Long configSchemeId) |
Collection |
getInvalidFieldConfigSchemesForIssueTypeRemoval(IssueType issueType)
Returns a collection of
FieldConfigSchemes for all Configuration
Contexts that will become invalid after the issuetype has been removed. |
FieldConfig |
getRelevantConfig(IssueContext issueContext,
ConfigurableField field)
Returns the relevant field config of this custom field for the give issue context
|
FieldConfigScheme |
getRelevantConfigScheme(IssueContext issueContext,
ConfigurableField field)
Returns the FieldConfigScheme for the given Project and ConfigurableField.
|
FieldConfigScheme |
getRelevantConfigScheme(Project project,
ConfigurableField field)
Returns the FieldConfigScheme for the given Project and ConfigurableField.
|
void |
init() |
boolean |
isRelevantForIssueContext(IssueContext issueContext,
ConfigurableField field)
Returns true if the custom field has a config for the Project and Issue Type of the given IssueContext.
|
FieldConfigScheme |
removeAssociatedContexts(FieldConfigScheme scheme,
Set<JiraContextNode> contextsToBeRemoved,
ConfigurableField field)
Removes contexts from a config scheme
|
void |
removeFieldConfigScheme(Long fieldConfigSchemeId)
Removes a field config scheme, as well as its associated contexts and field configs
(which includes option sets and generic configs)
|
void |
removeInvalidFieldConfigSchemesForCustomField(String customFieldId)
Given a CustomField, this method will correctly remove the fieldConfigSchemes if necessary.
|
void |
removeInvalidFieldConfigSchemesForIssueType(IssueType issueType)
Given an issueType, this method will correctly remove the fieldConfigSchemes if necessary.
|
void |
removeSchemeAssociation(List<JiraContextNode> contexts,
ConfigurableField configurableField) |
FieldConfigScheme |
updateFieldConfigScheme(FieldConfigScheme scheme)
Only update the name & description of a field
|
FieldConfigScheme |
updateFieldConfigScheme(FieldConfigScheme scheme,
List<JiraContextNode> contexts,
ConfigurableField field)
Updates the config schemes with the new contexts
|
public FieldConfigSchemeManagerImpl(FieldConfigSchemePersister configSchemePersister, FieldConfigContextPersister contextPersister, FieldConfigManager configManager, CustomFieldContextHandler customFieldContextHandler, com.atlassian.event.api.EventPublisher eventPublisher)
public void init()
init in interface FieldConfigSchemeManagerpublic List<FieldConfigScheme> getConfigSchemesForField(ConfigurableField field)
getConfigSchemesForField in interface FieldConfigSchemeManagerpublic FieldConfigScheme getConfigSchemeForFieldConfig(FieldConfig fieldConfig)
FieldConfigSchemeManagerFieldConfigScheme associated with the
FieldConfiggetConfigSchemeForFieldConfig in interface FieldConfigSchemeManagerfieldConfig - the field config to retrieve the FieldConfigScheme of; cannot be null.FieldConfig. Null if the config scheme can not be found.public FieldConfigScheme getFieldConfigScheme(Long configSchemeId)
getFieldConfigScheme in interface FieldConfigSchemeManagerpublic FieldConfigScheme createFieldConfigScheme(FieldConfigScheme newConfigScheme, List<JiraContextNode> contexts, List<IssueType> issueTypes, ConfigurableField field)
createFieldConfigScheme in interface FieldConfigSchemeManagerpublic FieldConfigScheme createDefaultScheme(ConfigurableField field, List<JiraContextNode> contexts, List<IssueType> issueTypes)
createDefaultScheme in interface FieldConfigSchemeManagerpublic FieldConfigScheme createDefaultScheme(ConfigurableField field, List<JiraContextNode> contexts)
createDefaultScheme in interface FieldConfigSchemeManagerpublic void removeSchemeAssociation(List<JiraContextNode> contexts, ConfigurableField configurableField)
removeSchemeAssociation in interface FieldConfigSchemeManagerpublic List<Project> getAssociatedProjectObjects(ConfigurableField field)
FieldConfigSchemeManagergetAssociatedProjectObjects in interface FieldConfigSchemeManagerfield - the Fieldpublic FieldConfigScheme updateFieldConfigScheme(FieldConfigScheme scheme, List<JiraContextNode> contexts, ConfigurableField field)
FieldConfigSchemeManagerupdateFieldConfigScheme in interface FieldConfigSchemeManagerpublic FieldConfigScheme addAssociatedContexts(FieldConfigScheme scheme, Set<JiraContextNode> contextsToBeAdded, ConfigurableField field)
FieldConfigSchemeManageraddAssociatedContexts in interface FieldConfigSchemeManagerpublic FieldConfigScheme removeAssociatedContexts(FieldConfigScheme scheme, Set<JiraContextNode> contextsToBeRemoved, ConfigurableField field)
FieldConfigSchemeManagerremoveAssociatedContexts in interface FieldConfigSchemeManagerpublic FieldConfigScheme updateFieldConfigScheme(FieldConfigScheme scheme)
FieldConfigSchemeManagerupdateFieldConfigScheme in interface FieldConfigSchemeManagerscheme - scheme with the name & description to be updatedpublic void removeFieldConfigScheme(Long fieldConfigSchemeId)
FieldConfigSchemeManagerremoveFieldConfigScheme in interface FieldConfigSchemeManagerfieldConfigSchemeId - the id of the field config scheme to removepublic void removeInvalidFieldConfigSchemesForIssueType(IssueType issueType)
FieldConfigSchemeManagerremoveInvalidFieldConfigSchemesForIssueType in interface FieldConfigSchemeManagerissueType - The IssueType being deletedpublic void removeInvalidFieldConfigSchemesForCustomField(String customFieldId)
FieldConfigSchemeManagerremoveInvalidFieldConfigSchemesForCustomField in interface FieldConfigSchemeManagercustomFieldId - The id of the CustomField being deletedpublic Collection getInvalidFieldConfigSchemesForIssueTypeRemoval(IssueType issueType)
FieldConfigSchemeManagerFieldConfigSchemes for all Configuration
Contexts that will become invalid after the issuetype has been removed. That is the configuration contexts that
will no longer be linked to ANY issue types after the issue type passed is has been deleted.getInvalidFieldConfigSchemesForIssueTypeRemoval in interface FieldConfigSchemeManagerissueType - The issueType to be deletedFieldConfigSchemespublic boolean isRelevantForIssueContext(IssueContext issueContext, ConfigurableField field)
FieldConfigSchemeManagerThis is equivalent to calling
getRelevantConfig(issueContext, field) != nullbut in general can run faster because it does not have to resolve the actual FieldConfig.
isRelevantForIssueContext in interface FieldConfigSchemeManagerissueContext - IssueContext whose project and issue type will be used to check if the field has a configFieldConfigSchemeManager.getRelevantConfig(com.atlassian.jira.issue.context.IssueContext, com.atlassian.jira.issue.fields.ConfigurableField)public FieldConfig getRelevantConfig(IssueContext issueContext, ConfigurableField field)
FieldConfigSchemeManagergetRelevantConfig in interface FieldConfigSchemeManagerissueContext - issue context to find the relevant field config forFieldConfigSchemeManager.isRelevantForIssueContext(com.atlassian.jira.issue.context.IssueContext, com.atlassian.jira.issue.fields.ConfigurableField)@Nullable public FieldConfigScheme getRelevantConfigScheme(IssueContext issueContext, ConfigurableField field)
FieldConfigSchemeManagergetRelevantConfigScheme in interface FieldConfigSchemeManagerissueContext - actually we ignore the Issue Type and just use the Project.field - the ConfigurableField@Nullable public FieldConfigScheme getRelevantConfigScheme(Project project, ConfigurableField field)
FieldConfigSchemeManagergetRelevantConfigScheme in interface FieldConfigSchemeManagerproject - the Project.field - the ConfigurableFieldCopyright © 2002-2024 Atlassian. All Rights Reserved.