com.atlassian.jira.issue.fields.config.manager
Class FieldConfigSchemeManagerImpl

java.lang.Object
  extended by com.atlassian.jira.issue.fields.config.manager.FieldConfigSchemeManagerImpl
All Implemented Interfaces:
FieldConfigSchemeManager
Direct Known Subclasses:
CachedFieldConfigSchemeManagerImpl

public class FieldConfigSchemeManagerImpl
extends Object
implements FieldConfigSchemeManager


Field Summary
 
Fields inherited from interface com.atlassian.jira.issue.fields.config.manager.FieldConfigSchemeManager
ALL_ISSUE_TYPES
 
Constructor Summary
FieldConfigSchemeManagerImpl(FieldConfigSchemePersister configSchemePersister, FieldConfigContextPersister contextPersister, JiraContextTreeManager treeManager, FieldConfigManager configManager)
           
 
Method Summary
 FieldConfigScheme createDefaultScheme(ConfigurableField field, List contexts)
           
 FieldConfigScheme createDefaultScheme(ConfigurableField field, List contexts, List issueTypes)
           
 FieldConfigScheme createFieldConfigScheme(FieldConfigScheme newConfigScheme, List contexts, List issueTypes, ConfigurableField field)
           
 List getAssociatedProjects(ConfigurableField field)
           
 List 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)
           
 FieldConfigScheme getRelevantConfigScheme(IssueContext issueContext, ConfigurableField field)
           
 Object getValue(com.atlassian.bandana.BandanaContext context, String key)
           
 Object getValue(com.atlassian.bandana.BandanaContext context, String key, boolean lookUp)
           
 void init()
           
 void removeFieldConfigScheme(FieldConfigScheme fieldConfigScheme)
          Removes a field config scheme, as well as its associated contexts and field configs (which includes option sets and generic configs)
 void removeInvalidFieldConfigSchemesForCustomField(CustomField field)
          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 contexts, ConfigurableField configurableField)
           
 void setValue(com.atlassian.bandana.BandanaContext context, String key, Object value)
           
 FieldConfigScheme updateFieldConfigScheme(FieldConfigScheme scheme)
          Only update the name & description of a field
 FieldConfigScheme updateFieldConfigScheme(FieldConfigScheme newScheme, List contexts, ConfigurableField field)
          Updates the config schemes with the new contexts
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FieldConfigSchemeManagerImpl

public FieldConfigSchemeManagerImpl(FieldConfigSchemePersister configSchemePersister,
                                    FieldConfigContextPersister contextPersister,
                                    JiraContextTreeManager treeManager,
                                    FieldConfigManager configManager)
Method Detail

init

public void init()
Specified by:
init in interface FieldConfigSchemeManager

getValue

public Object getValue(com.atlassian.bandana.BandanaContext context,
                       String key)
Specified by:
getValue in interface FieldConfigSchemeManager

getValue

public Object getValue(com.atlassian.bandana.BandanaContext context,
                       String key,
                       boolean lookUp)
Specified by:
getValue in interface FieldConfigSchemeManager

setValue

public void setValue(com.atlassian.bandana.BandanaContext context,
                     String key,
                     Object value)
Specified by:
setValue in interface FieldConfigSchemeManager

getConfigSchemesForField

public List getConfigSchemesForField(ConfigurableField field)
Specified by:
getConfigSchemesForField in interface FieldConfigSchemeManager

getFieldConfigScheme

public FieldConfigScheme getFieldConfigScheme(Long configSchemeId)
Specified by:
getFieldConfigScheme in interface FieldConfigSchemeManager

createFieldConfigScheme

public FieldConfigScheme createFieldConfigScheme(FieldConfigScheme newConfigScheme,
                                                 List contexts,
                                                 List issueTypes,
                                                 ConfigurableField field)
Specified by:
createFieldConfigScheme in interface FieldConfigSchemeManager

createDefaultScheme

public FieldConfigScheme createDefaultScheme(ConfigurableField field,
                                             List contexts,
                                             List issueTypes)
Specified by:
createDefaultScheme in interface FieldConfigSchemeManager

createDefaultScheme

public FieldConfigScheme createDefaultScheme(ConfigurableField field,
                                             List contexts)
Specified by:
createDefaultScheme in interface FieldConfigSchemeManager

removeSchemeAssociation

public void removeSchemeAssociation(List contexts,
                                    ConfigurableField configurableField)
Specified by:
removeSchemeAssociation in interface FieldConfigSchemeManager

getAssociatedProjects

public List getAssociatedProjects(ConfigurableField field)
Specified by:
getAssociatedProjects in interface FieldConfigSchemeManager

updateFieldConfigScheme

public FieldConfigScheme updateFieldConfigScheme(FieldConfigScheme newScheme,
                                                 List contexts,
                                                 ConfigurableField field)
Description copied from interface: FieldConfigSchemeManager
Updates the config schemes with the new contexts

Specified by:
updateFieldConfigScheme in interface FieldConfigSchemeManager
Returns:
The updated scheme

updateFieldConfigScheme

public FieldConfigScheme updateFieldConfigScheme(FieldConfigScheme scheme)
Description copied from interface: FieldConfigSchemeManager
Only update the name & description of a field

Specified by:
updateFieldConfigScheme in interface FieldConfigSchemeManager
Parameters:
scheme - scheme with the name & description to be updated
Returns:
the updated scheme

removeFieldConfigScheme

public void removeFieldConfigScheme(FieldConfigScheme fieldConfigScheme)
Description copied from interface: FieldConfigSchemeManager
Removes a field config scheme, as well as its associated contexts and field configs (which includes option sets and generic configs)

Specified by:
removeFieldConfigScheme in interface FieldConfigSchemeManager
Parameters:
fieldConfigScheme - the field config scheme to remove

removeInvalidFieldConfigSchemesForIssueType

public void removeInvalidFieldConfigSchemesForIssueType(IssueType issueType)
Description copied from interface: FieldConfigSchemeManager
Given an issueType, this method will correctly remove the fieldConfigSchemes if necessary. In other words if a FieldConfigScheme is linked to only a single issueType, and we're deleting that issuetype then that FieldConfigScheme will be deleted. If a FieldConfigScheme is associated with multiple issueTypes, then only the association for the issueType we're deleting will be removed, but the FieldConfigScheme will remain.

Specified by:
removeInvalidFieldConfigSchemesForIssueType in interface FieldConfigSchemeManager
Parameters:
issueType - The IssueType being deleted

removeInvalidFieldConfigSchemesForCustomField

public void removeInvalidFieldConfigSchemesForCustomField(CustomField field)
Description copied from interface: FieldConfigSchemeManager
Given a CustomField, this method will correctly remove the fieldConfigSchemes if necessary. In other words if a FieldConfigScheme is linked to only a single CustomField, and we're deleting that field then that FieldConfigScheme will be deleted. If a FieldConfigScheme is associated with multiple fields, then only the association for the field we're deleting will be removed, but the FieldConfigScheme will remain.

Specified by:
removeInvalidFieldConfigSchemesForCustomField in interface FieldConfigSchemeManager
Parameters:
field - The CustomField being deleted

getInvalidFieldConfigSchemesForIssueTypeRemoval

public Collection getInvalidFieldConfigSchemesForIssueTypeRemoval(IssueType issueType)
Description copied from interface: FieldConfigSchemeManager
Returns a collection of FieldConfigSchemes 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.

Specified by:
getInvalidFieldConfigSchemesForIssueTypeRemoval in interface FieldConfigSchemeManager
Parameters:
issueType - The issueType to be deleted
Returns:
A collection of FieldConfigSchemes

getRelevantConfig

public FieldConfig getRelevantConfig(IssueContext issueContext,
                                     ConfigurableField field)
Specified by:
getRelevantConfig in interface FieldConfigSchemeManager

getRelevantConfigScheme

public FieldConfigScheme getRelevantConfigScheme(IssueContext issueContext,
                                                 ConfigurableField field)
Specified by:
getRelevantConfigScheme in interface FieldConfigSchemeManager


Copyright © 2002-2009 Atlassian. All Rights Reserved.