public class

DefaultConstantsManager

extends Object
implements ConstantsManager
java.lang.Object
   ↳ com.atlassian.jira.config.DefaultConstantsManager

Summary

[Expand]
Inherited Constants
From interface com.atlassian.jira.config.ConstantsManager
[Expand]
Inherited Fields
From interface com.atlassian.jira.config.ConstantsManager
Public Constructors
DefaultConstantsManager(JiraAuthenticationContext authenticationContext, OfBizDelegator ofBizDelegator, DbConnectionManager dbConnectionManager, IssueConstantFactory issueConstantFactory, CacheManager cacheManager, EventPublisher eventPublisher)
Public Methods
boolean constantExists(String constantType, String name)
Checks if a constant exists.
List<IssueConstant> convertToConstantObjects(String constantType, Collection stuff)
Converts the list of ids to the objects of appropriate types
List<String> expandIssueTypeIds(Collection<String> issueTypeIds)
Converts the 'special' ids of issue types to a list of issue type ids For example, converts a special id to a list of all sub-task issue types Also see ALL_STANDARD_ISSUE_TYPES, ALL_SUB_TASK_ISSUE_TYPES and ALL_ISSUE_TYPES.
List<String> getAllIssueTypeIds()
Returns all issueType Ids.
Collection<IssueType> getAllIssueTypeObjects()
Returns a list of IssueTypes.
IssueConstant getConstantByNameIgnoreCase(String constantType, String name)
Returns a constant by name ignoring the case of the name passed in.
IssueConstant getConstantObject(String constantType, String id)
Returns an IssueConstant object for the given type & id.
Collection getConstantObjects(String constantType)
Returns all IssueConstant objects for the given type.
@Nonnull List<IssueConstant> getConstantsByIds(ConstantsManager.CONSTANT_TYPE constantType, Collection<String> ids)
Converts the list of ids to the objects of appropriate types
Priority getDefaultPriority()
Returns the default priority configured in JIRA.
Priority getDefaultPriorityObject()
Returns the default priority configured in JIRA.
List<IssueType> getEditableSubTaskIssueTypes()
Retrieves an mutable list of sub-task issues.
IssueConstant getIssueConstant(GenericValue issueConstantGV)
Converts a constant GenericValue to an IssueConstant object.
IssueConstant getIssueConstantByName(String constantType, String name)
Returns a constant by name.
IssueType getIssueType(String id)
Given an IssueType ID this method retrieves that IssueType.
IssueType getIssueTypeObject(String id)
Given an IssueType ID this method retrieves that IssueType.
Collection<Priority> getPriorities()
Retrieve all Priorities in JIRA.
String getPriorityName(String id)
Returns the priority Name for a given priority ID.
Priority getPriorityObject(String id)
Given a priority ID, this method retrieves that priority.
Collection<Priority> getPriorityObjects()
Retrieve all Priorities in JIRA.
Collection<IssueType> getRegularIssueTypeObjects()
Retrieve regular (non-subtask) issue types.
Resolution getResolution(String id)
Given a resolution ID, this method retrieves that resolution.
Resolution getResolutionObject(String id)
Given a resolution ID, this method retrieves that resolution.
Collection<Resolution> getResolutionObjects()
Retrieve all Resolutions in JIRA.
Collection<Resolution> getResolutions()
Retrieve all Resolutions in JIRA.
Status getStatus(String id)
Returns a Status given an id.
Status getStatusByName(String name)
Searches for a given status by name.
Status getStatusByNameIgnoreCase(String name)
Searches for a given status by name ignoring case.
Status getStatusByTranslatedName(String name)
Searches for a given status by its translated name.
Status getStatusObject(String id)
Returns a Status given an id.
Collection<Status> getStatusObjects()
Returns all statuses
Collection<Status> getStatuses()
Returns all statuses
Collection<IssueType> getSubTaskIssueTypeObjects()
Retrieves all the sub-task issue types
IssueType insertIssueType(String name, Long sequence, String style, String description, String iconurl)
Creates a new IssueType.
IssueType insertIssueType(String name, Long sequence, String style, String description, Long avatarId)
Creates a new IssueType.
void invalidate(IssueConstant constant)
Clear the cache for this Issue Constant.
void invalidateAll()
@EventListener void onClearCache(ClearCacheEvent ignored)
@EventListener void onIssueTypeDeleted(IssueTypeDeletedEvent event)
void recalculateIssueTypeSequencesAndStore(List<IssueType> issueTypes)
Resequences the supplied issuetypes into sequential order.
void recalculatePrioritySequencesAndStore(List<Priority> priorities)
Resequences the supplied priorities into sequential order.
void recalculateResolutionSequencesAndStore(List<Resolution> resolutions)
Resequences the supplied resolutions into sequential order.
void recalculateStatusSequencesAndStore(List<Status> statuses)
Resequences the supplied statuses into sequential order.
void refresh()
Sets all cached copies of constant to null.
void refreshIssueTypes()
Reloads all IssueTypes from the DB.
void refreshPriorities()
Reloads all priorities from the DB.
void refreshResolutions()
Reloads all resolutions from the DB.
void refreshStatuses()
Reloads all statuses from DB.
void removeIssueType(String id)
Removes an existing issueType.
void storeIssueTypes(List<GenericValue> issueTypes)
Bulk operation to store a list of issueTypes.
void updateIssueType(String id, String name, Long sequence, String style, String description, String iconurl)
Updates an existing issueType.
void updateIssueType(String id, String name, Long sequence, String style, String description, Long avatarId)
Updates an existing issueType.
void validateCreateIssueType(String name, String style, String description, String iconurl, ErrorCollection errors, String nameFieldName)
Validates creation of a new issuetype.
void validateCreateIssueTypeWithAvatar(String name, String style, String description, String avatarId, ErrorCollection errors, String nameFieldName)
Validates creation of a new issuetype.
Option<Pair<StringErrorCollection.Reason>> validateName(String name, Option<IssueType> issueTypeToUpdate)
Validates the name of issue type.
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.atlassian.jira.config.ConstantsManager

Public Constructors

public DefaultConstantsManager (JiraAuthenticationContext authenticationContext, OfBizDelegator ofBizDelegator, DbConnectionManager dbConnectionManager, IssueConstantFactory issueConstantFactory, CacheManager cacheManager, EventPublisher eventPublisher)

Public Methods

public boolean constantExists (String constantType, String name)

Checks if a constant exists.

Parameters
constantType See PRIORITY_CONSTANT_TYPE, STATUS_CONSTANT_TYPE, RESOLUTION_CONSTANT_TYPE, ISSUE_TYPE_CONSTANT_TYPE
name The name of the constant.
Returns
  • True if the constant exists. False otherwise

public List<IssueConstant> convertToConstantObjects (String constantType, Collection stuff)

Converts the list of ids to the objects of appropriate types

Parameters
constantType the constant type. Case insenstive
stuff list of constant ids or GenericValues
Returns
  • List of IssueConstant subclasses. Null if constantType is null or the ids are empty

public List<String> expandIssueTypeIds (Collection<String> issueTypeIds)

Converts the 'special' ids of issue types to a list of issue type ids For example, converts a special id to a list of all sub-task issue types Also see ALL_STANDARD_ISSUE_TYPES, ALL_SUB_TASK_ISSUE_TYPES and ALL_ISSUE_TYPES.

Parameters
issueTypeIds A collection of the issuetype Ids to retrieve.
Returns
  • A list of "actual" IssueType ID's expanded from the macro constants (or a new copy of the original list if it doesn't contain macros).

public List<String> getAllIssueTypeIds ()

Returns all issueType Ids.

Returns
  • A list of all the IssueType Ids.

public Collection<IssueType> getAllIssueTypeObjects ()

Returns a list of IssueTypes.

Returns

public IssueConstant getConstantByNameIgnoreCase (String constantType, String name)

Returns a constant by name ignoring the case of the name passed in.

Parameters
constantType See PRIORITY_CONSTANT_TYPE, STATUS_CONSTANT_TYPE, RESOLUTION_CONSTANT_TYPE, ISSUE_TYPE_CONSTANT_TYPE
name The Name of the constant, case-insensitive.
Returns
  • An IssueConstant (or null if not found)

public IssueConstant getConstantObject (String constantType, String id)

Returns an IssueConstant object for the given type & id.

Parameters
constantType See PRIORITY_CONSTANT_TYPE, STATUS_CONSTANT_TYPE, RESOLUTION_CONSTANT_TYPE, ISSUE_TYPE_CONSTANT_TYPE
id The id of the constant.
Returns

public Collection getConstantObjects (String constantType)

Returns all IssueConstant objects for the given type.

Returns

@Nonnull public List<IssueConstant> getConstantsByIds (ConstantsManager.CONSTANT_TYPE constantType, Collection<String> ids)

Converts the list of ids to the objects of appropriate types

Parameters
constantType Type of constant
ids list of constant ids
Returns
  • List of IssueConstant subclasses.

public Priority getDefaultPriority ()

Returns the default priority configured in JIRA.

Returns
  • The default priority

public Priority getDefaultPriorityObject ()

Returns the default priority configured in JIRA.

Returns
  • The default priority.

public List<IssueType> getEditableSubTaskIssueTypes ()

Retrieves an mutable list of sub-task issues. The list is mutable, that is its elements can be reordered added to or removed. The elements of the list, that is the issue types themselves, are not mutable.

Returns
  • A List of editable sub-task

public IssueConstant getIssueConstant (GenericValue issueConstantGV)

Converts a constant GenericValue to an IssueConstant object.

Parameters
issueConstantGV the constant GenericValue.
Returns

public IssueConstant getIssueConstantByName (String constantType, String name)

Returns a constant by name.

Parameters
constantType See PRIORITY_CONSTANT_TYPE, STATUS_CONSTANT_TYPE, RESOLUTION_CONSTANT_TYPE, ISSUE_TYPE_CONSTANT_TYPE
name The Name of the constant.
Returns
  • The IssueConstant

public IssueType getIssueType (String id)

Given an IssueType ID this method retrieves that IssueType.

Parameters
id The ID of the IssueType.
Returns
  • An IssueType

public IssueType getIssueTypeObject (String id)

Given an IssueType ID this method retrieves that IssueType.

Parameters
id The ID of the IssueType.
Returns

public Collection<Priority> getPriorities ()

Retrieve all Priorities in JIRA.

Returns

public String getPriorityName (String id)

Returns the priority Name for a given priority ID.

Parameters
id the id of a priority
Returns
  • the name of the priority with the given id, or an i18n'd String indicating that no priority is set (e.g. "None") if the id is null.

public Priority getPriorityObject (String id)

Given a priority ID, this method retrieves that priority.

Parameters
id The id of the priority
Returns

public Collection<Priority> getPriorityObjects ()

Retrieve all Priorities in JIRA.

Returns

public Collection<IssueType> getRegularIssueTypeObjects ()

Retrieve regular (non-subtask) issue types.

Returns

public Resolution getResolution (String id)

Given a resolution ID, this method retrieves that resolution.

Parameters
id The id of the resolution
Returns
  • A resolution

public Resolution getResolutionObject (String id)

Given a resolution ID, this method retrieves that resolution.

Parameters
id The id of the resolution
Returns

public Collection<Resolution> getResolutionObjects ()

Retrieve all Resolutions in JIRA.

Returns

public Collection<Resolution> getResolutions ()

Retrieve all Resolutions in JIRA.

Returns

public Status getStatus (String id)

Returns a Status given an id.

Parameters
id The id of a status
Returns
  • Returns a status

public Status getStatusByName (String name)

Searches for a given status by name. This is not the most efficient implementation. If the name is not found, or the given name is null, then it returns null.

Parameters
name The name of the status.
Returns
  • A Status object with the given name, or null if none found.

public Status getStatusByNameIgnoreCase (String name)

Searches for a given status by name ignoring case. This is not the most efficient implementation. If the name is not found, or the given name is null, then it returns null.

Parameters
name The name of the status.
Returns
  • A Status object with the given name, or null if none found.

public Status getStatusByTranslatedName (String name)

Searches for a given status by its translated name. If no matching translated name is found the true (untranslated) name will be tried. If the name is not found, or the given name is null, then it returns null.

Parameters
name The name of the status.
Returns
  • A Status object with the given name, or null if none found.

public Status getStatusObject (String id)

Returns a Status given an id.

Parameters
id The id of a status
Returns

public Collection<Status> getStatusObjects ()

Returns all statuses

Returns
  • Returns a Collection of Status objects

public Collection<Status> getStatuses ()

Returns all statuses

Returns
  • Returns a Collection of status Statuss.

public Collection<IssueType> getSubTaskIssueTypeObjects ()

Retrieves all the sub-task issue types

Returns

public IssueType insertIssueType (String name, Long sequence, String style, String description, String iconurl)

Creates a new IssueType.

Note this method does not validate the input - i.e. It does not check for duplicate names etc. Use this method in conjunction with validateCreateIssueType(String, String, String, String, com.atlassian.jira.util.ErrorCollection, String)

Parameters
name Name of the new IssueType
sequence Sequence number used for ordering the issuetypes in the UI.
style Used to record the type of issue, such as SUBTASK. Null for regular issues.
description A short description of the new issue type.
iconurl A URL to an icon to be used for the new issueType.
Returns
  • The newly created IssueType

public IssueType insertIssueType (String name, Long sequence, String style, String description, Long avatarId)

Creates a new IssueType.

Note this method does not validate the input - i.e. It does not check for duplicate names etc. Use this method in conjunction with validateCreateIssueType(String, String, String, String, com.atlassian.jira.util.ErrorCollection, String)

Parameters
name Name of the new IssueType
sequence Sequence number used for ordering the issuetypes in the UI.
style Used to record the type of issue, such as SUBTASK. Null for regular issues.
description A short description of the new issue type.
avatarId Avatar id,
Returns
  • The newly created IssueType

public void invalidate (IssueConstant constant)

Clear the cache for this Issue Constant. Implementations may clear additional IssueConstants at their discretion.

public void invalidateAll ()

@EventListener public void onClearCache (ClearCacheEvent ignored)

@EventListener public void onIssueTypeDeleted (IssueTypeDeletedEvent event)

public void recalculateIssueTypeSequencesAndStore (List<IssueType> issueTypes)

Resequences the supplied issuetypes into sequential order.

public void recalculatePrioritySequencesAndStore (List<Priority> priorities)

Resequences the supplied priorities into sequential order.

public void recalculateResolutionSequencesAndStore (List<Resolution> resolutions)

Resequences the supplied resolutions into sequential order.

public void recalculateStatusSequencesAndStore (List<Status> statuses)

Resequences the supplied statuses into sequential order.

public void refresh ()

Sets all cached copies of constant to null. This will cause them to be re-loaded from the DB the next time they are accessed.

public void refreshIssueTypes ()

Reloads all IssueTypes from the DB.

public void refreshPriorities ()

Reloads all priorities from the DB.

public void refreshResolutions ()

Reloads all resolutions from the DB.

public void refreshStatuses ()

Reloads all statuses from DB.

public void removeIssueType (String id)

Removes an existing issueType. This will cause a invalidate of all issue types (i.e. reload from the DB).

THIS METHOD IS BROKEN AND SHOULD NEVER BE USED SINCE v5.0.

Parameters
id ID of an existing issueType

public void storeIssueTypes (List<GenericValue> issueTypes)

Bulk operation to store a list of issueTypes.

Parameters
issueTypes A list of IssueType GenericValues

public void updateIssueType (String id, String name, Long sequence, String style, String description, String iconurl)

Updates an existing issueType. This will cause a invalidate of all issue types (i.e. reload from the DB).

Parameters
id ID of the existing issuetype.
name Name of the new IssueType
sequence Sequence number used for ordering the issuetypes in the UI.
style Used to record the type of issue, such as SUBTASK. Null for regular issues.
description A short description of the new issue type.
iconurl A URL to an icon to be used for the new issueType.

public void updateIssueType (String id, String name, Long sequence, String style, String description, Long avatarId)

Updates an existing issueType. This will cause a invalidate of all issue types (i.e. reload from the DB).

Parameters
id ID of the existing issuetype.
name Name of the new IssueType
sequence Sequence number used for ordering the issuetypes in the UI.
style Used to record the type of issue, such as SUBTASK. Null for regular issues.
description A short description of the new issue type.
avatarId avatarid of new issueType.

public void validateCreateIssueType (String name, String style, String description, String iconurl, ErrorCollection errors, String nameFieldName)

Validates creation of a new issuetype. In particular, this function checks that a name has been submitted, no other issueTypes with the same name exist, and that the icon URL exists.

Parameters
name Name of the new IssueType
style Used to record the type of issue, such as SUBTASK. Null for regular issues.
description A short description of the new issue type.
iconurl A URL to an icon to be used for the new issueType.
errors A collection of errors used to pass back any problems.
nameFieldName The field to which the errors should be added.

public void validateCreateIssueTypeWithAvatar (String name, String style, String description, String avatarId, ErrorCollection errors, String nameFieldName)

Validates creation of a new issuetype. In particular, this function checks that a name has been submitted, no other issueTypes with the same name exist and correct avatarId is passed.

Parameters
name Name of the new IssueType
style Used to record the type of issue, such as SUBTASK. Null for regular issues.
description A short description of the new issue type.
avatarId An avatar id.
errors A collection of errors used to pass back any problems.
nameFieldName The field to which the errors should be added.

public Option<Pair<StringErrorCollection.Reason>> validateName (String name, Option<IssueType> issueTypeToUpdate)

Validates the name of issue type. If the validation passes returns Option.none, else returns na Option with a pair of error message and reason.