public class DefaultConstantsManager extends Object implements ConstantsManager
ConstantsManager.CONSTANT_TYPE
Modifier and Type | Field and Description |
---|---|
static int |
MAX_NAME_LENGTH |
ALL_ISSUE_TYPES, ALL_STANDARD_ISSUE_TYPES, ALL_SUB_TASK_ISSUE_TYPES, ISSUE_TYPE_CONSTANT_TYPE, PRIORITY_CONSTANT_TYPE, RESOLUTION_CONSTANT_TYPE, STATUS_CONSTANT_TYPE
Constructor and Description |
---|
DefaultConstantsManager(JiraAuthenticationContext authenticationContext,
OfBizDelegator ofBizDelegator,
DbConnectionManager dbConnectionManager,
IssueConstantFactory issueConstantFactory,
com.atlassian.cache.CacheManager cacheManager,
com.atlassian.event.api.EventPublisher eventPublisher) |
Modifier and Type | Method and Description |
---|---|
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
ConstantsManager.ALL_STANDARD_ISSUE_TYPES , ConstantsManager.ALL_SUB_TASK_ISSUE_TYPES and
ConstantsManager.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<? extends IssueConstant> |
getConstantObjects(String constantType)
Returns all
IssueConstant objects for the given type. |
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(org.ofbiz.core.entity.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.
|
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<IssueType> |
getRegularIssueTypeObjects()
Retrieve regular (non-subtask) issue types.
|
Resolution |
getResolution(String id)
Given a resolution ID, this method retrieves that resolution.
|
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.
|
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,
Long avatarId)
Creates a new IssueType.
|
IssueType |
insertIssueType(String name,
Long sequence,
String style,
String description,
String iconurl)
Creates a new IssueType.
|
void |
invalidate(IssueConstant constant)
Clear the cache for this Issue Constant.
|
void |
invalidateAll()
Sets all cached copies of constants to null.
|
void |
onClearCache(ClearCacheEvent ignored) |
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<org.ofbiz.core.entity.GenericValue> issueTypes)
Bulk operation to store a list of issueTypes.
|
void |
updateIssueType(String id,
String name,
Long sequence,
String style,
String description,
Long avatarId)
Updates an existing issueType.
|
void |
updateIssueType(String id,
String name,
Long sequence,
String style,
String description,
String iconurl)
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.
|
io.atlassian.fugue.Option<Pair<String,ErrorCollection.Reason>> |
validateName(String name,
io.atlassian.fugue.Option<IssueType> issueTypeToUpdate)
Validates the name of issue type.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getIssueTypeObject, getPriorityObjects, getResolutionObject, getResolutionObjects, getStatusObject, getStatusObjects
public static final int MAX_NAME_LENGTH
public DefaultConstantsManager(JiraAuthenticationContext authenticationContext, OfBizDelegator ofBizDelegator, DbConnectionManager dbConnectionManager, IssueConstantFactory issueConstantFactory, com.atlassian.cache.CacheManager cacheManager, com.atlassian.event.api.EventPublisher eventPublisher)
@EventListener public void onClearCache(ClearCacheEvent ignored)
@EventListener public void onIssueTypeDeleted(IssueTypeDeletedEvent event)
public Collection<Status> getStatuses()
ConstantsManager
getStatuses
in interface ConstantsManager
Status
s.public Status getStatus(String id)
ConstantsManager
getStatus
in interface ConstantsManager
id
- The id of a statuspublic void refreshStatuses()
ConstantsManager
refreshStatuses
in interface ConstantsManager
@Nullable public IssueConstant getConstantObject(String constantType, String id)
ConstantsManager
IssueConstant
object for the given type & id.getConstantObject
in interface ConstantsManager
constantType
- See ConstantsManager.CONSTANT_TYPE
id
- The id of the constant.IssueConstant
object. Null if it doesn't exist.@Nullable public Collection<? extends IssueConstant> getConstantObjects(String constantType)
ConstantsManager
IssueConstant
objects for the given type.getConstantObjects
in interface ConstantsManager
constantType
- See ConstantsManager.CONSTANT_TYPE
IssueConstant
object; will be null
if and only if constantType
is invalid@Nullable public List<IssueConstant> convertToConstantObjects(String constantType, Collection<?> stuff)
ConstantsManager
convertToConstantObjects
in interface ConstantsManager
constantType
- the constant type. Case insenstivestuff
- list of constant ids or GenericValues@Nonnull public List<IssueConstant> getConstantsByIds(@Nonnull ConstantsManager.CONSTANT_TYPE constantType, @Nonnull Collection<String> ids)
ConstantsManager
getConstantsByIds
in interface ConstantsManager
constantType
- Type of constantids
- list of constant idspublic boolean constantExists(String constantType, String name)
ConstantsManager
constantExists
in interface ConstantsManager
constantType
- See ConstantsManager.PRIORITY_CONSTANT_TYPE
, ConstantsManager.STATUS_CONSTANT_TYPE
, ConstantsManager.RESOLUTION_CONSTANT_TYPE
, ConstantsManager.ISSUE_TYPE_CONSTANT_TYPE
name
- The name of the constant.public IssueConstant getIssueConstantByName(String constantType, String name)
ConstantsManager
getIssueConstantByName
in interface ConstantsManager
constantType
- See ConstantsManager.PRIORITY_CONSTANT_TYPE
, ConstantsManager.STATUS_CONSTANT_TYPE
, ConstantsManager.RESOLUTION_CONSTANT_TYPE
, ConstantsManager.ISSUE_TYPE_CONSTANT_TYPE
name
- The Name of the constant.public IssueConstant getConstantByNameIgnoreCase(String constantType, String name)
ConstantsManager
getConstantByNameIgnoreCase
in interface ConstantsManager
constantType
- See ConstantsManager.PRIORITY_CONSTANT_TYPE
, ConstantsManager.STATUS_CONSTANT_TYPE
, ConstantsManager.RESOLUTION_CONSTANT_TYPE
, ConstantsManager.ISSUE_TYPE_CONSTANT_TYPE
name
- The Name of the constant, case-insensitive.public IssueType insertIssueType(String name, Long sequence, String style, String description, String iconurl) throws CreateException
ConstantsManager
Note this method does not validate the input - i.e. It does not check for duplicate names etc. Use
this method in conjunction with ConstantsManager.validateCreateIssueType(String, String, String, String, com.atlassian.jira.util.ErrorCollection, String)
insertIssueType
in interface ConstantsManager
name
- Name of the new IssueTypesequence
- 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.CreateException
- If there is an error creating this Issue Type.public IssueType insertIssueType(String name, Long sequence, String style, String description, Long avatarId) throws CreateException
ConstantsManager
Note this method does not validate the input - i.e. It does not check for duplicate names etc. Use
this method in conjunction with ConstantsManager.validateCreateIssueType(String, String, String, String, com.atlassian.jira.util.ErrorCollection, String)
insertIssueType
in interface ConstantsManager
name
- Name of the new IssueTypesequence
- 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,CreateException
- If there is an error creating this Issue Type.public void validateCreateIssueType(String name, String style, String description, String iconurl, ErrorCollection errors, String nameFieldName)
ConstantsManager
validateCreateIssueType
in interface ConstantsManager
name
- Name of the new IssueTypestyle
- 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 io.atlassian.fugue.Option<Pair<String,ErrorCollection.Reason>> validateName(String name, io.atlassian.fugue.Option<IssueType> issueTypeToUpdate)
ConstantsManager
validateName
in interface ConstantsManager
public void validateCreateIssueTypeWithAvatar(String name, String style, String description, String avatarId, ErrorCollection errors, String nameFieldName)
ConstantsManager
validateCreateIssueTypeWithAvatar
in interface ConstantsManager
name
- Name of the new IssueTypestyle
- 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 void updateIssueType(String id, String name, Long sequence, String style, String description, String iconurl) throws DataAccessException
ConstantsManager
updateIssueType
in interface ConstantsManager
id
- ID of the existing issuetype.name
- Name of the new IssueTypesequence
- 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.DataAccessException
- indicates an error in the Data Access Layerpublic void updateIssueType(String id, String name, Long sequence, String style, String description, Long avatarId) throws DataAccessException
ConstantsManager
updateIssueType
in interface ConstantsManager
id
- ID of the existing issuetype.name
- Name of the new IssueTypesequence
- 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.DataAccessException
- indicates an error in the Data Access Layerpublic void removeIssueType(String id) throws RemoveException
ConstantsManager
THIS METHOD IS BROKEN AND SHOULD NEVER BE USED SINCE v5.0.
removeIssueType
in interface ConstantsManager
id
- ID of an existing issueTypeRemoveException
- if the issueType with id doesn't exist, or an error occurred removing the issue.public void recalculateIssueTypeSequencesAndStore(List<IssueType> issueTypes)
ConstantsManager
recalculateIssueTypeSequencesAndStore
in interface ConstantsManager
public void recalculatePrioritySequencesAndStore(List<Priority> priorities)
ConstantsManager
recalculatePrioritySequencesAndStore
in interface ConstantsManager
public void recalculateStatusSequencesAndStore(List<Status> statuses)
ConstantsManager
recalculateStatusSequencesAndStore
in interface ConstantsManager
public void recalculateResolutionSequencesAndStore(List<Resolution> resolutions)
ConstantsManager
recalculateResolutionSequencesAndStore
in interface ConstantsManager
public void storeIssueTypes(List<org.ofbiz.core.entity.GenericValue> issueTypes) throws DataAccessException
ConstantsManager
storeIssueTypes
in interface ConstantsManager
issueTypes
- A list of IssueType GenericValue
sDataAccessException
- indicates an error in the Data Access Layerpublic void refresh()
ConstantsManager
refresh
in interface ConstantsManager
public void invalidateAll()
ConstantsManager
invalidateAll
in interface ConstantsManager
public void invalidate(IssueConstant constant)
ConstantsManager
invalidate
in interface ConstantsManager
public List<String> expandIssueTypeIds(Collection<String> issueTypeIds)
ConstantsManager
ConstantsManager.ALL_STANDARD_ISSUE_TYPES
, ConstantsManager.ALL_SUB_TASK_ISSUE_TYPES
and
ConstantsManager.ALL_ISSUE_TYPES
.expandIssueTypeIds
in interface ConstantsManager
issueTypeIds
- A collection of the issuetype Ids to retrieve.public List<String> getAllIssueTypeIds()
ConstantsManager
getAllIssueTypeIds
in interface ConstantsManager
public IssueConstant getIssueConstant(org.ofbiz.core.entity.GenericValue issueConstantGV)
ConstantsManager
GenericValue
to an IssueConstant
object.getIssueConstant
in interface ConstantsManager
issueConstantGV
- the constant GenericValue
.IssueConstant
object.@Nonnull public Collection<Priority> getPriorities()
ConstantsManager
getPriorities
in interface ConstantsManager
Priority
s.public Priority getPriorityObject(String id)
ConstantsManager
getPriorityObject
in interface ConstantsManager
id
- The id of the priorityPriority
object.public Priority getDefaultPriorityObject()
ConstantsManager
getDefaultPriorityObject
in interface ConstantsManager
public Priority getDefaultPriority()
ConstantsManager
getDefaultPriority
in interface ConstantsManager
public String getPriorityName(String id)
ConstantsManager
getPriorityName
in interface ConstantsManager
id
- the id of a prioritypublic void refreshPriorities()
ConstantsManager
refreshPriorities
in interface ConstantsManager
@Nonnull public Collection<Resolution> getResolutions()
ConstantsManager
getResolutions
in interface ConstantsManager
Resolution
s.public Resolution getResolution(String id)
ConstantsManager
getResolution
in interface ConstantsManager
id
- The id of the resolutionpublic void refreshResolutions()
ConstantsManager
refreshResolutions
in interface ConstantsManager
public Collection<IssueType> getAllIssueTypeObjects()
ConstantsManager
getAllIssueTypeObjects
in interface ConstantsManager
IssueType
objects.public Collection<IssueType> getRegularIssueTypeObjects()
ConstantsManager
getRegularIssueTypeObjects
in interface ConstantsManager
IssueType
s@Nonnull public Collection<IssueType> getSubTaskIssueTypeObjects()
ConstantsManager
getSubTaskIssueTypeObjects
in interface ConstantsManager
IssueType
s.public Status getStatusByName(String name)
ConstantsManager
getStatusByName
in interface ConstantsManager
name
- The name of the status.Status
object with the given name, or null
if none found.public Status getStatusByNameIgnoreCase(String name)
ConstantsManager
getStatusByNameIgnoreCase
in interface ConstantsManager
name
- The name of the status.Status
object with the given name, or null
if none found.public Status getStatusByTranslatedName(String name)
ConstantsManager
getStatusByTranslatedName
in interface ConstantsManager
name
- The name of the status.Status
object with the given name, or null
if none found.public List<IssueType> getEditableSubTaskIssueTypes()
ConstantsManager
getEditableSubTaskIssueTypes
in interface ConstantsManager
public IssueType getIssueType(String id)
ConstantsManager
getIssueType
in interface ConstantsManager
id
- The ID of the IssueType.public void refreshIssueTypes()
ConstantsManager
refreshIssueTypes
in interface ConstantsManager
Copyright © 2002-2022 Atlassian. All Rights Reserved.