com.atlassian.jira.issue.changehistory
Interface ChangeHistoryManager

All Known Implementing Classes:
DefaultChangeHistoryManager

public interface ChangeHistoryManager

Manages the change history of issues. TODO: expand this interface to include the functionality from ChangeLogUtils


Method Summary
 Issue findMovedIssue(String originalKey)
          Returns an issue that has been moved by searching the change history of the original issue key for an updated issue key.
 List getChangeHistoriesForUser(Issue issue, User remoteUser)
          Returns a List of GenericValue ChangeGroup entities for the given issue.
 List getChangeItemsForField(Issue issue, String changeItemFieldName)
          Returns a List of ChangeItemBean's for the given issue which also are for the provided changeItemFieldName (i.e.
 Collection getPreviousIssueKeys(Long issueId)
          Returns the same as getPreviousIssueKeys(String) but is slightly more efficient since no lookup of the issue id needs to be performed.
 Collection getPreviousIssueKeys(String issueKey)
          Given an issue key, this method returns a list of previous issue keys this issue was moved from.
 

Method Detail

getChangeHistoriesForUser

List getChangeHistoriesForUser(Issue issue,
                               User remoteUser)
Returns a List of GenericValue ChangeGroup entities for the given issue.

Parameters:
issue - the issue.
remoteUser - the user who is asking.
Returns:
a List of GenericValue ChangeGroup entities.

getChangeItemsForField

List getChangeItemsForField(Issue issue,
                            String changeItemFieldName)
Returns a List of ChangeItemBean's for the given issue which also are for the provided changeItemFieldName (i.e. Link, Fix Version/s, etc). The order of the list will from oldest to newest.

Parameters:
issue - the issue the change items are associated with, not null.
changeItemFieldName - the field name the change item is stored under, not null or empty.
Returns:
a List of ChangeItemBean's for the given issue.

findMovedIssue

Issue findMovedIssue(String originalKey)
                     throws org.ofbiz.core.entity.GenericEntityException
Returns an issue that has been moved by searching the change history of the original issue key for an updated issue key.

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
Throws:
org.ofbiz.core.entity.GenericEntityException - if an unexpected error occurs

getPreviousIssueKeys

Collection getPreviousIssueKeys(String issueKey)
Given an issue key, this method returns a list of previous issue keys this issue was moved from. This may be useful for source control plugins for example, where a given changeset should be displayed even after an issue has been moved and it's issue key has changed.

The list of previous issue keys is returned in chronological order, with the most recent issue key first.

Parameters:
issueKey - The current issue key.
Returns:
A collection of previous issue keys or an empty list if none exist.

getPreviousIssueKeys

Collection getPreviousIssueKeys(Long issueId)
Returns the same as getPreviousIssueKeys(String) but is slightly more efficient since no lookup of the issue id needs to be performed. If you have an issue object available with the issue's id use this method.

Parameters:
issueId - The id of the issue being looked up.
Returns:
A collection of previous issue keys or an empty list if none exist.


Copyright © 2002-2009 Atlassian. All Rights Reserved.