public class DefaultIssueLinkManager extends Object implements IssueLinkManager, Startable
Constructor and Description |
---|
DefaultIssueLinkManager(OfBizDelegator genericDelegator,
IssueLinkCreator issueLinkCreator,
IssueLinkTypeManager issueLinkTypeManager,
IssueUpdater issueUpdater,
IssueIndexManager issueIndexManager,
ApplicationProperties applicationProperties,
com.atlassian.cache.CacheManager cacheManager) |
Modifier and Type | Method and Description |
---|---|
void |
changeIssueLinkType(IssueLink issueLink,
IssueLinkType swapLinkType,
com.atlassian.crowd.embedded.api.User remoteUser)
Changes the type of an issue link.
|
void |
clearCache()
Clears the Issue Link cache used by the Issue Link Manager.
|
void |
createIssueLink(Long sourceId,
Long destinationId,
Long issueLinkTypeId,
Long sequence,
com.atlassian.crowd.embedded.api.User remoteUser)
Constructs a new issuelink from the sourceIssueId to the destinationId and persists it.
|
List<IssueLink> |
getInwardLinks(Long destinationId)
Get links to an issue.
|
IssueLink |
getIssueLink(Long issueLinkId)
Returns the
IssueLink with the specified id. |
IssueLink |
getIssueLink(Long sourceId,
Long destinationId,
Long issueLinkTypeId)
Retrieves an issue link given a source, destination and a link type.
|
Collection<IssueLink> |
getIssueLinks(Long issueLinkTypeId)
Returns a collection of all
IssueLink s for a particular issue link type |
LinkCollection |
getLinkCollection(org.ofbiz.core.entity.GenericValue issue,
com.atlassian.crowd.embedded.api.User remoteUser)
Constructs a
LinkCollection for a given issue. |
LinkCollection |
getLinkCollection(Issue issue,
com.atlassian.crowd.embedded.api.User remoteUser)
Constructs a
LinkCollection for a given issue. |
LinkCollection |
getLinkCollection(Issue issue,
com.atlassian.crowd.embedded.api.User remoteUser,
boolean excludeSystemLinks) |
LinkCollection |
getLinkCollectionOverrideSecurity(Issue issue)
Constructs a
LinkCollection for a given issue, ignoring security. |
List<IssueLink> |
getOutwardLinks(Long sourceId)
Get links from an issue.
|
boolean |
isLinkingEnabled()
Returns whether Issue Linking is currently enabled in JIRA.
|
void |
moveIssueLink(List<IssueLink> issueLinks,
Long currentSequence,
Long sequence)
Moves an issue link to a different position in the list of issuelink.
|
void |
onClearCache(ClearCacheEvent event) |
protected void |
reindexLinkedIssues(IssueLink issueLink) |
void |
removeIssueLink(IssueLink issueLink,
com.atlassian.crowd.embedded.api.User remoteUser)
Removes a single issue link
We do not check for permission here.
|
int |
removeIssueLinks(org.ofbiz.core.entity.GenericValue issue,
com.atlassian.crowd.embedded.api.User remoteUser)
Removes ALL incoming and outgoing issuelinks from the issue supplied.
|
int |
removeIssueLinks(Issue issue,
com.atlassian.crowd.embedded.api.User remoteUser)
Removes ALL incoming and outgoing issuelinks from the issue supplied.
|
int |
removeIssueLinksNoChangeItems(Issue issue)
Removes ALL incoming and outgoing issuelinks from the issue supplied without creating ChangeItems for the Change History.
|
void |
resetSequences(List<IssueLink> issueLinks)
Sets the sequence number for each issueLink in the List of issueLinks provided
according to its position in the List.
|
void |
start()
This method will be called after the plugin system is fully initialised and all components added to the
dependency injection framework.
|
public DefaultIssueLinkManager(OfBizDelegator genericDelegator, IssueLinkCreator issueLinkCreator, IssueLinkTypeManager issueLinkTypeManager, IssueUpdater issueUpdater, IssueIndexManager issueIndexManager, ApplicationProperties applicationProperties, com.atlassian.cache.CacheManager cacheManager)
public void start() throws Exception
Startable
@EventListener public void onClearCache(ClearCacheEvent event)
public void createIssueLink(Long sourceId, Long destinationId, Long issueLinkTypeId, Long sequence, com.atlassian.crowd.embedded.api.User remoteUser) throws CreateException
IssueLinkManager
createIssueLink
in interface IssueLinkManager
sourceId
- The source issue.destinationId
- The destination issue.issueLinkTypeId
- The type of issuelinksequence
- In which order the link will appear in the UIremoteUser
- Needed for creation of change items.CreateException
- If there is an error when creating the "Change Item" for this operation. Note that the Link itself has most likely been created.protected void reindexLinkedIssues(IssueLink issueLink)
public void removeIssueLink(IssueLink issueLink, com.atlassian.crowd.embedded.api.User remoteUser)
IssueLinkManager
removeIssueLink
in interface IssueLinkManager
issueLink
- the issue link to removeremoteUser
- needed for creation of change itemspublic int removeIssueLinks(Issue issue, com.atlassian.crowd.embedded.api.User remoteUser)
IssueLinkManager
removeIssueLinks
in interface IssueLinkManager
issue
- the IssueremoteUser
- the remote userpublic int removeIssueLinks(org.ofbiz.core.entity.GenericValue issue, com.atlassian.crowd.embedded.api.User remoteUser)
IssueLinkManager
removeIssueLinks
in interface IssueLinkManager
issue
- the IssueremoteUser
- the remote userpublic int removeIssueLinksNoChangeItems(Issue issue)
IssueLinkManager
You would normally want to use the other method which creates the ChangeItems - this method is only intended for use during Issue Delete.
removeIssueLinksNoChangeItems
in interface IssueLinkManager
issue
- the IssueIssueLinkManager.removeIssueLinks(com.atlassian.jira.issue.Issue, com.atlassian.crowd.embedded.api.User)
public LinkCollection getLinkCollection(org.ofbiz.core.entity.GenericValue issue, com.atlassian.crowd.embedded.api.User remoteUser)
IssueLinkManager
LinkCollection
for a given issue.getLinkCollection
in interface IssueLinkManager
issue
- the IssueremoteUser
- the remote userLinkCollection
with all the issues ingoing and outgoing issue linkspublic LinkCollection getLinkCollection(Issue issue, com.atlassian.crowd.embedded.api.User remoteUser)
IssueLinkManager
LinkCollection
for a given issue.getLinkCollection
in interface IssueLinkManager
issue
- the issueremoteUser
- the user performing the searchLinkCollection
with all the issues ingoing and outgoing issue linkspublic LinkCollection getLinkCollection(Issue issue, com.atlassian.crowd.embedded.api.User remoteUser, boolean excludeSystemLinks)
getLinkCollection
in interface IssueLinkManager
issue
- the issueremoteUser
- the user performing the searchexcludeSystemLinks
- whether or not to exclude system linksLinkCollection
with all the issues ingoing and outgoing issue linksIssueLinkManager.getLinkCollection(com.atlassian.jira.issue.Issue, com.atlassian.crowd.embedded.api.User)
public LinkCollection getLinkCollectionOverrideSecurity(Issue issue)
IssueLinkManager
LinkCollection
for a given issue, ignoring security.getLinkCollectionOverrideSecurity
in interface IssueLinkManager
issue
- the issueLinkCollection
with all the issues ingoing and outgoing issue linkspublic List<IssueLink> getOutwardLinks(Long sourceId)
IssueLinkManager
getOutwardLinks
in interface IssueLinkManager
sourceId
- Eg. from Issue.getId()
IssueLink
s. This list will be immutable.public List<IssueLink> getInwardLinks(Long destinationId)
IssueLinkManager
getInwardLinks
in interface IssueLinkManager
destinationId
- Eg. from Issue.getId()
IssueLink
s. This list will be immutable.public void moveIssueLink(List<IssueLink> issueLinks, Long currentSequence, Long sequence)
IssueLinkManager
moveIssueLink
in interface IssueLinkManager
issueLinks
- The list of issueLinkscurrentSequence
- The postion of the issuelink about to be movedsequence
- The target position of the issuelinkpublic void resetSequences(List<IssueLink> issueLinks)
IssueLinkManager
resetSequences
in interface IssueLinkManager
issueLinks
- A list of issue links to be recalculatedpublic IssueLink getIssueLink(Long sourceId, Long destinationId, Long issueLinkTypeId)
IssueLinkManager
getIssueLink
in interface IssueLinkManager
sourceId
- the ID of the source issuedestinationId
- the ID of the destination issueissueLinkTypeId
- the issue link typeIssueLink
or null if this link does not existpublic Collection<IssueLink> getIssueLinks(Long issueLinkTypeId)
IssueLinkManager
IssueLink
s for a particular issue link typegetIssueLinks
in interface IssueLinkManager
issueLinkTypeId
- ID of the Issue Link TypeIssueLink
spublic IssueLink getIssueLink(Long issueLinkId)
IssueLinkManager
IssueLink
with the specified id.getIssueLink
in interface IssueLinkManager
issueLinkId
- the issue link id.IssueLink
. Can be NULL, if no issue link found.public void changeIssueLinkType(IssueLink issueLink, IssueLinkType swapLinkType, com.atlassian.crowd.embedded.api.User remoteUser)
IssueLinkManager
changeIssueLinkType
in interface IssueLinkManager
issueLink
- the issue linkswapLinkType
- the new link typeremoteUser
- the user requesting this changepublic boolean isLinkingEnabled()
IssueLinkManager
isLinkingEnabled
in interface IssueLinkManager
public void clearCache()
IssueLinkManager
clearCache
in interface IssueLinkManager
Copyright © 2002-2015 Atlassian. All Rights Reserved.