Class DefaultIssueManager
- All Implemented Interfaces:
IssueManager
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultIssueManager
(OfBizDelegator ofBizDelegator, WorkflowManager workflowManager, NodeAssociationStore nodeAssociationStore, UserAssociationStore userAssociationStore, IssueUpdater issueUpdater, PermissionManager permissionManager, MovedIssueKeyStore movedIssueKeyStore, ProjectKeyStore projectKeyStore, IssueTextFieldCharacterLengthValidator issueTextFieldCharacterLengthValidator) -
Method Summary
Modifier and TypeMethodDescriptionarchiveIssue
(ApplicationUser user, Issue issue, EventDispatchOption eventDispatchOption, boolean sendMail) This method will archive the issue.boolean
Public method used internally, not safe to override.org.ofbiz.core.entity.GenericValue
createIssue
(ApplicationUser remoteUser, Issue issue) Persists a new issue.org.ofbiz.core.entity.GenericValue
createIssue
(ApplicationUser remoteUser, Map<String, Object> fields) This function creates an issue in Jira.org.ofbiz.core.entity.GenericValue
createIssue
(String remoteUserName, Map<String, Object> fields) This method is here because this is a logical place for the "createIssue" method to be.createIssueObject
(ApplicationUser remoteUser, Issue issue) Creates an issue.createIssueObject
(ApplicationUser remoteUser, Map<String, Object> fields) Creates an issue.createIssueObject
(String remoteUserName, Map<String, Object> fields) Creates an issue.void
deleteIssue
(ApplicationUser user, Issue issue, EventDispatchOption eventDispatchOption, boolean sendMail) This method will delete an issue from JIRA.void
deleteIssue
(ApplicationUser user, MutableIssue issue, EventDispatchOption eventDispatchOption, boolean sendMail) This method will delete an issue from JIRA.void
deleteIssueNoEvent
(Issue issue) Delete issue without firing any events, or sending notifications.void
deleteIssueNoEvent
(MutableIssue issue) Delete issue without firing any events, or sending notifications.protected void
doUpdate
(ApplicationUser user, MutableIssue issue, org.ofbiz.core.entity.GenericValue originalIssueGV, DefaultIssueChangeHolder issueChangeHolder, UpdateIssueRequest updateRequest, Map<String, ModifiedValue> modifiedValueMap) final Issue
findMovedIssue
(String originalKey) Returns an issue that has been moved by searching on the old issue key.getAllIssueKeys
(Long issueId) Returns all issue keys that are associated withIssue
.List<org.ofbiz.core.entity.GenericValue>
getEntitiesByIssue
(String relationName, org.ofbiz.core.entity.GenericValue issue) Get a list of entities (versions, components etc) related to this issue.List<org.ofbiz.core.entity.GenericValue>
getEntitiesByIssueObject
(String relationName, Issue issue) Get a list of entities (versions, components etc) related to this issue.getIdsOfMissingIssues
(Set<Long> issueIds) Check existence of issues for the given set of IDsorg.ofbiz.core.entity.GenericValue
Retrieves an issue by its id.org.ofbiz.core.entity.GenericValue
Retrieves the issue as aGenericValue
with the given key.Retrieves theIssue
that has the given key, or null if no such Issue exists.Retrieves theIssue
that has the given key, or null if no such Issue exists.org.ofbiz.core.entity.GenericValue
getIssueByWorkflow
(Long wfid) Retrieves an issueGenericValue
given a workflow ID.long
Returns the number of issues.long
getIssueCountForProject
(Long projectId) Returns the number of issues that exist for the provided project id.getIssueIdsForProject
(Long projectId) Retrieve a collection of all issue ids that belong to a given project.getIssueObject
(Long id) Retrieves an issue by id.getIssueObject
(String key) Retrieves theIssue
that has the given key, or null if no such Issue exists.protected MutableIssue
getIssueObject
(org.ofbiz.core.entity.GenericValue issueGV) Creates a MutableIssue object from an Issue GenericValue.getIssueObjectByWorkflow
(Long workflowId) Retrieves an issue given a workflow ID.getIssueObjects
(Collection<Long> ids) Get issues with the following ids.getIssueObjectsByEntity
(String relationName, org.ofbiz.core.entity.GenericValue entity) Get a list of issues related to an entity (version, component etc).List<org.ofbiz.core.entity.GenericValue>
getIssues
(Collection<Long> ids) Get issues with the following ids.List<org.ofbiz.core.entity.GenericValue>
getIssuesByEntity
(String relationName, org.ofbiz.core.entity.GenericValue entity) Get a list of issues related to an entity (version, component etc).getKeysOfMissingIssues
(Set<String> issueKeys) Check existence of issues for the given set of keysList<org.ofbiz.core.entity.GenericValue>
getProjectIssues
(org.ofbiz.core.entity.GenericValue project) Get all the issues for a given project.getProjectIssueTypePairsByIds
(Set<Long> issueIds) Returns a set of project ID / issue type combinations that given issue IDs cover.getProjectIssueTypePairsByKeys
(Set<String> issueKeys) Returns a set of project ID / issue type combinations that given issue keys cover.long
Returns the number of unassigned issues.Get a list of issues that the user has voted on and can see.Get a list of issues that the user has voted on.Get a list of issues that the user is watching and can see.Get a list of issues that the user is watchinggetWatchers
(Issue issue) Return a list of watchers for a particular issue.getWatchersFor
(Issue issue) Return a list of watchers for a particular issue.boolean
Returns a boolean indicating whether there are unassigned issues.boolean
isEditable
(Issue issue) Returnstrue
if the issue can be edited.boolean
isEditable
(Issue issue, ApplicationUser user) Returnstrue
if the issue can be edited by the current user.boolean
isEditable
(Issue issue, String nextStatusId) Returnstrue
if the issue can be edited after action.boolean
isExistingIssueKey
(String issueKey) Returns true if issue with a given key exists (it looks for issues having current issue key set for the value, and moved issue keys that used the key).void
recordMovedIssueKey
(Issue oldIssue) Used internally when we want to record that an Issue has changed its Issue key (because it has moved project).restoreIssue
(ApplicationUser user, Issue issue, EventDispatchOption eventDispatchOption, boolean sendMail) This method will restore an archived issue.protected DefaultIssueChangeHolder
updateFieldValues
(MutableIssue issue, StringBuffer ignored) updateIssue
(ApplicationUser user, MutableIssue issue, EventDispatchOption eventDispatchOption, boolean sendMail) This method will store the provided issue to the JIRA datastore.updateIssue
(ApplicationUser user, MutableIssue issue, UpdateIssueRequest updateIssueRequest) This method will store the provided issue to the JIRA datastore.
-
Constructor Details
-
DefaultIssueManager
public DefaultIssueManager(OfBizDelegator ofBizDelegator, WorkflowManager workflowManager, NodeAssociationStore nodeAssociationStore, UserAssociationStore userAssociationStore, IssueUpdater issueUpdater, PermissionManager permissionManager, MovedIssueKeyStore movedIssueKeyStore, ProjectKeyStore projectKeyStore, IssueTextFieldCharacterLengthValidator issueTextFieldCharacterLengthValidator)
-
-
Method Details
-
getIssue
Description copied from interface:IssueManager
Retrieves an issue by its id.- Specified by:
getIssue
in interfaceIssueManager
- Parameters:
id
- Issue ID.- Returns:
- An issue
GenericValue
. - Throws:
DataAccessException
- if there is an error in the Data Access Layer.
-
getIssue
public org.ofbiz.core.entity.GenericValue getIssue(String key) throws org.ofbiz.core.entity.GenericEntityException Description copied from interface:IssueManager
Retrieves the issue as aGenericValue
with the given key.- Specified by:
getIssue
in interfaceIssueManager
- Parameters:
key
- the issue key.- Returns:
- the issue as a
GenericValue
. - Throws:
org.ofbiz.core.entity.GenericEntityException
- if there is a problem getting the data
-
isExistingIssueKey
public boolean isExistingIssueKey(String issueKey) throws org.ofbiz.core.entity.GenericEntityException Description copied from interface:IssueManager
Returns true if issue with a given key exists (it looks for issues having current issue key set for the value, and moved issue keys that used the key).- Specified by:
isExistingIssueKey
in interfaceIssueManager
- Throws:
org.ofbiz.core.entity.GenericEntityException
-
getIssues
Description copied from interface:IssueManager
Get issues with the following ids. The issues are sorted in the order that the ids were given in.- Specified by:
getIssues
in interfaceIssueManager
- Parameters:
ids
- Issue IDs.- Returns:
- A collection of issue
GenericValue
s
-
getIssueObjects
Description copied from interface:IssueManager
Get issues with the following ids. The issues are sorted in the order that the ids were given in. Any ids that are not found will be missing from the list. That is list will not contains nulls.- Specified by:
getIssueObjects
in interfaceIssueManager
- Parameters:
ids
- Issue IDs.- Returns:
- A collection of issue
MutableIssue
s
-
getIssueIdsForProject
public Collection<Long> getIssueIdsForProject(Long projectId) throws org.ofbiz.core.entity.GenericEntityException Retrieve a collection of all issue ids that belong to a given project.- Specified by:
getIssueIdsForProject
in interfaceIssueManager
- Parameters:
projectId
- the id of the project for which to retrieve all issue ids- Returns:
- A collection of issue IDs
- Throws:
org.ofbiz.core.entity.GenericEntityException
- An exception in the ofbiz Entity Engine.
-
getIssueCountForProject
Description copied from interface:IssueManager
Returns the number of issues that exist for the provided project id.- Specified by:
getIssueCountForProject
in interfaceIssueManager
- Parameters:
projectId
- identifies the project which the issues are associated with- Returns:
- a count of how many issues exist in the project
-
hasUnassignedIssues
public boolean hasUnassignedIssues()Description copied from interface:IssueManager
Returns a boolean indicating whether there are unassigned issues.- Specified by:
hasUnassignedIssues
in interfaceIssueManager
- Returns:
- a boolean indicating whether there are unassigned issues
-
getUnassignedIssueCount
public long getUnassignedIssueCount()Description copied from interface:IssueManager
Returns the number of unassigned issues.- Specified by:
getUnassignedIssueCount
in interfaceIssueManager
- Returns:
- the number of unassigned issues
-
getIssueCount
public long getIssueCount()Description copied from interface:IssueManager
Returns the number of issues.- Specified by:
getIssueCount
in interfaceIssueManager
- Returns:
- the number of issues
-
atLeastOneIssueExists
public boolean atLeastOneIssueExists()Public method used internally, not safe to override.- Specified by:
atLeastOneIssueExists
in interfaceIssueManager
- Returns:
- true if an issue exists
-
findMovedIssue
Description copied from interface:IssueManager
Returns an issue that has been moved by searching on the old issue key.- Specified by:
findMovedIssue
in interfaceIssueManager
- Parameters:
originalKey
- the original key of an issue that has since been moved (moving between projects assigns a new key to an issue)- Returns:
- the moved
Issue
object
-
recordMovedIssueKey
Description copied from interface:IssueManager
Used internally when we want to record that an Issue has changed its Issue key (because it has moved project).- Specified by:
recordMovedIssueKey
in interfaceIssueManager
- Parameters:
oldIssue
- The issue with it's old issue key
-
getIssueByWorkflow
public org.ofbiz.core.entity.GenericValue getIssueByWorkflow(Long wfid) throws org.ofbiz.core.entity.GenericEntityException Description copied from interface:IssueManager
Retrieves an issueGenericValue
given a workflow ID. This is used when transitioning through the various steps of a workflow.- Specified by:
getIssueByWorkflow
in interfaceIssueManager
- Parameters:
wfid
- workflow ID.- Returns:
- An issue
GenericValue
. - Throws:
org.ofbiz.core.entity.GenericEntityException
- An exception in the ofbiz Entity Engine.
-
getIssueObjectByWorkflow
public MutableIssue getIssueObjectByWorkflow(Long workflowId) throws org.ofbiz.core.entity.GenericEntityException Description copied from interface:IssueManager
Retrieves an issue given a workflow ID. This is used when transitioning through the various steps of a workflow.- Specified by:
getIssueObjectByWorkflow
in interfaceIssueManager
- Parameters:
workflowId
- workflow ID.- Returns:
- The Issue
- Throws:
org.ofbiz.core.entity.GenericEntityException
- An exception in the ofbiz Entity Engine.
-
getIssueObject
Description copied from interface:IssueManager
Retrieves an issue by id. This method will always return a new instance of an issue.- Specified by:
getIssueObject
in interfaceIssueManager
- Parameters:
id
- the id- Returns:
- A
MutableIssue
- Throws:
DataAccessException
- if there is an error in the Data Access Layer.
-
getIssueObject
Description copied from interface:IssueManager
Retrieves theIssue
that has the given key, or null if no such Issue exists.This method will always return a new instance of an issue object if the issue exists.
- Specified by:
getIssueObject
in interfaceIssueManager
- Parameters:
key
- The Issue key.- Returns:
- a
MutableIssue
with the given key, or null if no such Issue exists. - Throws:
DataAccessException
- if there is an error in the Data Access Layer.
-
getIssueByKeyIgnoreCase
Description copied from interface:IssueManager
Retrieves theIssue
that has the given key, or null if no such Issue exists.This method will ignore case of issue key.
- Specified by:
getIssueByKeyIgnoreCase
in interfaceIssueManager
- Parameters:
key
- The Issue key.- Returns:
- a
MutableIssue
with the given key, or null if no such Issue exists. - Throws:
DataAccessException
- if there is an error in the Data Access Layer.
-
getIssueByCurrentKey
Description copied from interface:IssueManager
Retrieves theIssue
that has the given key, or null if no such Issue exists.This method will strictly only return the issue which has current issue key equal to the one given.
- Specified by:
getIssueByCurrentKey
in interfaceIssueManager
- Parameters:
key
- The Issue key.- Returns:
- a
MutableIssue
with the given key, or null if no such Issue exists. - Throws:
DataAccessException
- if there is an error in the Data Access Layer.
-
getEntitiesByIssue
public List<org.ofbiz.core.entity.GenericValue> getEntitiesByIssue(String relationName, org.ofbiz.core.entity.GenericValue issue) throws org.ofbiz.core.entity.GenericEntityException Description copied from interface:IssueManager
Get a list of entities (versions, components etc) related to this issue.- Specified by:
getEntitiesByIssue
in interfaceIssueManager
- Parameters:
relationName
- AIssueRelationConstants
string indicating some issue relationissue
- Issue to consider- Returns:
- A list of entity
GenericValue
s associated with the issue. - Throws:
org.ofbiz.core.entity.GenericEntityException
- An exception in the ofbiz Entity Engine.
-
getEntitiesByIssueObject
public List<org.ofbiz.core.entity.GenericValue> getEntitiesByIssueObject(String relationName, Issue issue) throws org.ofbiz.core.entity.GenericEntityException Description copied from interface:IssueManager
Get a list of entities (versions, components etc) related to this issue.- Specified by:
getEntitiesByIssueObject
in interfaceIssueManager
- Parameters:
relationName
- AIssueRelationConstants
string indicating some issue relationissue
- Issue to consider- Returns:
- A list of entity
GenericValue
s associated with the issue. - Throws:
org.ofbiz.core.entity.GenericEntityException
- An exception in the ofbiz Entity Engine.
-
getIssuesByEntity
public List<org.ofbiz.core.entity.GenericValue> getIssuesByEntity(String relationName, org.ofbiz.core.entity.GenericValue entity) throws org.ofbiz.core.entity.GenericEntityException Description copied from interface:IssueManager
Get a list of issues related to an entity (version, component etc).- Specified by:
getIssuesByEntity
in interfaceIssueManager
- Parameters:
relationName
- AIssueRelationConstants
string indicating some relation of entityentity
- The entity related to the issues we're after- Returns:
- A list of issue
GenericValue
s associated with an entity. - Throws:
org.ofbiz.core.entity.GenericEntityException
- An exception in the ofbiz Entity Engine.
-
getIssueObjectsByEntity
public List<Issue> getIssueObjectsByEntity(String relationName, org.ofbiz.core.entity.GenericValue entity) throws org.ofbiz.core.entity.GenericEntityException Description copied from interface:IssueManager
Get a list of issues related to an entity (version, component etc).- Specified by:
getIssueObjectsByEntity
in interfaceIssueManager
- Parameters:
relationName
- AIssueRelationConstants
string indicating some relation of entityentity
- The entity related to the issues we're after- Returns:
- A list of
MutableIssue
s associated with an entity. - Throws:
org.ofbiz.core.entity.GenericEntityException
- if it failed to get the list of issues.
-
getAllIssueKeys
Description copied from interface:IssueManager
Returns all issue keys that are associated withIssue
.- Specified by:
getAllIssueKeys
in interfaceIssueManager
- Returns:
- all issue keys (including the current one) associated with the issue
- See Also:
-
com.atlassian.jira.issue.changehistory.ChangeHistoryManager#getPreviousIssueKeys(Long)
-
createIssue
public org.ofbiz.core.entity.GenericValue createIssue(ApplicationUser remoteUser, Map<String, Object> fields) throws CreateExceptionThis function creates an issue in Jira. Read the javadoc under the fields parameter to see what object need to be passed to create an issue.- Specified by:
createIssue
in interfaceIssueManager
- Parameters:
remoteUser
- User that is creating this issuefields
- see belowRequired Fields
projectId: A Long value representing the id of the project
issueType: The String id of an issueType
summary: A String describing the issue (max 255 chars)
Recomended Fields
assignee: A String representing the username of the assignee
reporter: A String representing the username of the reporter
priority: The String id of a priority
Optional Fields
description: A String description of the issue
environment: A String description of the environment the issue is in. e.g W2K
fixVersions: A List of Long values representing fixVersion ids
components: A List of Long values representing component ids
timeOriginalEstimate: A Long value representing the number of seconds this tast should take
timeEstimate: A Long value representing the number of seconds allocated for this issue
versions: = A List of Long value representing version ids
customFields: A Map with the CustomField as the key and Transport Object of the CF as the value
created: The date which the issue was created. If not specified, defaults toSystem.currentTimeMillis()
updated: The date which the issue was updated. If not specified, defaults toSystem.currentTimeMillis()
- Returns:
- A generic value representing the issue created
- Throws:
CreateException
- See Also:
-
createIssue
public org.ofbiz.core.entity.GenericValue createIssue(ApplicationUser remoteUser, Issue issue) throws CreateException Description copied from interface:IssueManager
Persists a new issue.- Specified by:
createIssue
in interfaceIssueManager
- Parameters:
remoteUser
- Issue creatorissue
- The new issue.- Returns:
- GenericValue representing the new issue.
- Throws:
CreateException
- If JIRA is unable to create the issue.
-
getProjectIssues
public List<org.ofbiz.core.entity.GenericValue> getProjectIssues(org.ofbiz.core.entity.GenericValue project) throws org.ofbiz.core.entity.GenericEntityException Description copied from interface:IssueManager
Get all the issues for a given project.- Specified by:
getProjectIssues
in interfaceIssueManager
- Parameters:
project
- the Project- Returns:
- a List of
GenericValue
objects - Throws:
org.ofbiz.core.entity.GenericEntityException
- If there are errors in the persistence layer.
-
isEditable
Description copied from interface:IssueManager
Returnstrue
if the issue can be edited. This is determined by looking at the workflow step the issue is in.- Specified by:
isEditable
in interfaceIssueManager
- Parameters:
issue
- the Issue.- Returns:
true
if the issue can be edited. This is determined by looking at the workflow step the issue is in.
-
isEditable
Description copied from interface:IssueManager
Returnstrue
if the issue can be edited after action. This is determined by looking at the workflow step the issue will be when action is completed.- Specified by:
isEditable
in interfaceIssueManager
- Parameters:
issue
- the Issue.nextStatusId
- the id of the status the issue will be in after transition looking at the workflow status the issue will be in, after the action is completed.
-
isEditable
Description copied from interface:IssueManager
Returnstrue
if the issue can be edited by the current user. This is determined by looking at both the user's permissions and the workflow step the issue is in.- Specified by:
isEditable
in interfaceIssueManager
- Parameters:
issue
- the issue you want to edituser
- the user who will be performing the edit- Returns:
true
if the user has permission and the issue is in an editable workflow step
-
createIssue
public org.ofbiz.core.entity.GenericValue createIssue(String remoteUserName, Map<String, Object> fields) throws CreateExceptionThis method is here because this is a logical place for the "createIssue" method to be. As the issues are actually created using workflow, the current implementation of this method uses theWorkflowManager
to create the issue- Specified by:
createIssue
in interfaceIssueManager
- Parameters:
remoteUserName
- the user who is creating the issuefields
- issue attributes- Returns:
- the created issue
- Throws:
CreateException
- If JIRA is unable to create the issue.- See Also:
-
createIssueObject
public Issue createIssueObject(String remoteUserName, Map<String, Object> fields) throws CreateExceptionDescription copied from interface:IssueManager
Creates an issue.- Specified by:
createIssueObject
in interfaceIssueManager
- Parameters:
remoteUserName
- Issue creatorfields
- A map of the issue's immediate field values. See the Issue definition in entitymodel.xml for values.- Returns:
- representing the new issue.
- Throws:
CreateException
- If JIRA is unable to create the issue.
-
createIssueObject
public Issue createIssueObject(ApplicationUser remoteUser, Map<String, Object> fields) throws CreateExceptionDescription copied from interface:IssueManager
Creates an issue.- Specified by:
createIssueObject
in interfaceIssueManager
- Parameters:
remoteUser
- Issue creatorfields
- A map of the issue's immediate field values. See the Issue definition in entitymodel.xml for values.- Returns:
- the new issue.
- Throws:
CreateException
- If JIRA is unable to create the issue.
-
createIssueObject
Description copied from interface:IssueManager
Creates an issue.- Specified by:
createIssueObject
in interfaceIssueManager
- Parameters:
remoteUser
- Issue creatorissue
- The new issue.- Returns:
- the new issue.
- Throws:
CreateException
- If JIRA is unable to create the issue.
-
getVotedIssues
Description copied from interface:IssueManager
Get a list of issues that the user has voted on and can see.- Specified by:
getVotedIssues
in interfaceIssueManager
- Parameters:
user
- The user.- Returns:
- A list of
Issue
objects the user has voted on.
-
getVotedIssuesOverrideSecurity
Description copied from interface:IssueManager
Get a list of issues that the user has voted on.- Specified by:
getVotedIssuesOverrideSecurity
in interfaceIssueManager
- Parameters:
user
- The user.- Returns:
- A list of
Issue
objects the user has voted on.
-
getWatchers
Description copied from interface:IssueManager
Return a list of watchers for a particular issue.- Specified by:
getWatchers
in interfaceIssueManager
- Parameters:
issue
- the Issue- Returns:
- A list of
User
s.
-
getWatchersFor
Description copied from interface:IssueManager
Return a list of watchers for a particular issue.- Specified by:
getWatchersFor
in interfaceIssueManager
- Parameters:
issue
- the Issue- Returns:
- A list of
User
s.
-
getWatchedIssues
Description copied from interface:IssueManager
Get a list of issues that the user is watching and can see.- Specified by:
getWatchedIssues
in interfaceIssueManager
- Parameters:
user
- the User.- Returns:
- A list of
Issue
objects
-
getWatchedIssuesOverrideSecurity
Description copied from interface:IssueManager
Get a list of issues that the user is watching- Specified by:
getWatchedIssuesOverrideSecurity
in interfaceIssueManager
- Parameters:
user
- the User.- Returns:
- A list of
Issue
objects
-
updateIssue
public Issue updateIssue(ApplicationUser user, MutableIssue issue, EventDispatchOption eventDispatchOption, boolean sendMail) Description copied from interface:IssueManager
This method will store the provided issue to the JIRA datastore.The issue will be saved and re-indexed unless
EventDispatchOption.DO_NOT_DISPATCH
is specified. This method performs no permission checks.This method should be used if you want to exert more control over what happens when JIRA updates an issue. This method will allow you to specify if an event is dispatched and if so which event is dispatched, see
EventDispatchOption
. This method also allows you to specify if email notifications should be send to notify users of the update.- Specified by:
updateIssue
in interfaceIssueManager
- Parameters:
user
- who is performing the operationissue
- the issue to updateeventDispatchOption
- specifies if an event should be sent and if so which should be sent.sendMail
- if true mail notifications will be sent, otherwise mail notifications will be suppressed.- Returns:
- the updated issue.
-
updateIssue
public Issue updateIssue(ApplicationUser user, MutableIssue issue, UpdateIssueRequest updateIssueRequest) Description copied from interface:IssueManager
This method will store the provided issue to the JIRA datastore. The issue will be saved and re-indexed. This method performs no permission checks.This method should be used if you want to exert more control over what happens when JIRA updates an issue.
- Specified by:
updateIssue
in interfaceIssueManager
- Parameters:
user
- who is performing the operationissue
- the issue to updateupdateIssueRequest
- details about how to perform the update, including user context, event dispatch strategy and history metadata- Returns:
- the updated issue.
- See Also:
-
archiveIssue
public Issue archiveIssue(ApplicationUser user, Issue issue, EventDispatchOption eventDispatchOption, boolean sendMail) throws ArchiveException Description copied from interface:IssueManager
This method will archive the issue.The issue will be marked as archived and removed from current index. This method performs archiving licence check and permission checks.
This method also allows you to specify if email notifications should be send to notify users of the update.
- Specified by:
archiveIssue
in interfaceIssueManager
- Parameters:
user
- who is performing the operationissue
- the issue to updateeventDispatchOption
- specifies if an event should be sent and if so which should be sent.sendMail
- if true mail notifications will be sent, otherwise mail notifications will be suppressed.- Returns:
- the archived issue.
- Throws:
ArchiveException
-
restoreIssue
public Issue restoreIssue(ApplicationUser user, Issue issue, EventDispatchOption eventDispatchOption, boolean sendMail) throws ArchiveException Description copied from interface:IssueManager
This method will restore an archived issue.The issue will be moved back to index. This method performs archiving licence check and permission checks.
This method also allows you to specify if email notifications should be send to notify users of the update.
- Specified by:
restoreIssue
in interfaceIssueManager
- Parameters:
user
- who is performing the operationissue
- the issue to updateeventDispatchOption
- specifies if an event should be sent and if so which should be sent.sendMail
- if true mail notifications will be sent, otherwise mail notifications will be suppressed.- Returns:
- the archived issue.
- Throws:
ArchiveException
-
doUpdate
protected void doUpdate(ApplicationUser user, MutableIssue issue, org.ofbiz.core.entity.GenericValue originalIssueGV, DefaultIssueChangeHolder issueChangeHolder, UpdateIssueRequest updateRequest, Map<String, ModifiedValue> modifiedValueMap) -
updateFieldValues
-
deleteIssue
public void deleteIssue(ApplicationUser user, Issue issue, EventDispatchOption eventDispatchOption, boolean sendMail) throws RemoveException Description copied from interface:IssueManager
This method will delete an issue from JIRA.This will clean up all issue associations in JIRA and will de-index the issue.
This method should be used if you want to exert more control over what happens when JIRA deletes an issue. This method will allow you to specify if an event is dispatched and if so which event is dispatched, see
EventDispatchOption
. This method also allows you to specify if email notifications should be send to notify users of the deletion.- Specified by:
deleteIssue
in interfaceIssueManager
- Parameters:
user
- who is performing the operationissue
- the issue to delete.eventDispatchOption
- specifies if an event should be sent and if so which should be sent.sendMail
- if true mail notifications will be sent, otherwise mail notifications will be suppressed.- Throws:
RemoveException
- throw if something goes horribly wrong when deleting the issue.
-
deleteIssue
public void deleteIssue(ApplicationUser user, MutableIssue issue, EventDispatchOption eventDispatchOption, boolean sendMail) throws RemoveException Description copied from interface:IssueManager
This method will delete an issue from JIRA. This will clean up all issue associations in JIRA and will de-index the issue.This method should be used if you want to exert more control over what happens when JIRA deletes an issue. This method will allow you to specify if an event is dispatched and if so which event is dispatched, see
EventDispatchOption
. This method also allows you to specify if email notifications should be send to notify users of the deletion.- Specified by:
deleteIssue
in interfaceIssueManager
- Parameters:
user
- who is performing the operationissue
- the issue to delete.eventDispatchOption
- specifies if an event should be sent and if so which should be sent.sendMail
- if true mail notifications will be sent, otherwise mail notifications will be suppressed.- Throws:
RemoveException
- throw if something goes horribly wrong when deleting the issue.
-
deleteIssueNoEvent
Description copied from interface:IssueManager
Delete issue without firing any events, or sending notifications.This is preferred in some bulk operations, but normally you would call
#deleteIssue(com.atlassian.crowd.embedded.api.User, Issue, com.atlassian.jira.event.type.EventDispatchOption, boolean)
- Specified by:
deleteIssueNoEvent
in interfaceIssueManager
- Parameters:
issue
- issue to delete- Throws:
RemoveException
- if the removal fails- See Also:
-
#deleteIssue(com.atlassian.crowd.embedded.api.User, com.atlassian.jira.issue.Issue, com.atlassian.jira.event.type.EventDispatchOption, boolean)
-
deleteIssueNoEvent
Description copied from interface:IssueManager
Delete issue without firing any events, or sending notifications.This is preferred in some bulk operations, but normally you would call
#deleteIssue(com.atlassian.crowd.embedded.api.User, MutableIssue, com.atlassian.jira.event.type.EventDispatchOption, boolean)
- Specified by:
deleteIssueNoEvent
in interfaceIssueManager
- Parameters:
issue
- issue to delete- Throws:
RemoveException
- if the removal fails- See Also:
-
#deleteIssue(com.atlassian.crowd.embedded.api.User, com.atlassian.jira.issue.MutableIssue, com.atlassian.jira.event.type.EventDispatchOption, boolean)
-
getIssueObject
Creates a MutableIssue object from an Issue GenericValue.If a null GenericValue is passed, then null is returned.
- Parameters:
issueGV
- the Issue GenericValue.- Returns:
- the MutableIssue Object (will be null if issueGV is null).
-
getProjectIssueTypePairsByKeys
@Nonnull public Set<Pair<Long,String>> getProjectIssueTypePairsByKeys(@Nonnull Set<String> issueKeys) Description copied from interface:IssueManager
Returns a set of project ID / issue type combinations that given issue keys cover.- Specified by:
getProjectIssueTypePairsByKeys
in interfaceIssueManager
- Parameters:
issueKeys
- Set of issue keys- Returns:
- Project ID / issue type pairs
-
getProjectIssueTypePairsByIds
Description copied from interface:IssueManager
Returns a set of project ID / issue type combinations that given issue IDs cover.- Specified by:
getProjectIssueTypePairsByIds
in interfaceIssueManager
- Parameters:
issueIds
- Set of issue IDs- Returns:
- Project ID / issue type pairs
-
getKeysOfMissingIssues
Description copied from interface:IssueManager
Check existence of issues for the given set of keys- Specified by:
getKeysOfMissingIssues
in interfaceIssueManager
- Parameters:
issueKeys
- Set of issue keys- Returns:
- Set of invalid keys or the ones that don't represent an issue
-
getIdsOfMissingIssues
Description copied from interface:IssueManager
Check existence of issues for the given set of IDs- Specified by:
getIdsOfMissingIssues
in interfaceIssueManager
- Parameters:
issueIds
- Set of issue IDs- Returns:
- Set of IDs that don't represent an issue
-