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.
 Collection<Issue> findUserHistory(User remoteUser, Collection<String> usernames, Collection<Project> projects, int maxResults)
          Find a list of issues that the given users have acted on with the option to limit the projects included in the search.
 Collection<Issue> findUserHistory(User remoteUser, Collection<String> usernames, int maxResults)
          Find a list of issues that the given users have acted on.
 List<ChangeHistory> getChangeHistoriesForUser(Issue issue, User remoteUser)
          Returns a List of GenericValue ChangeGroup entities for the given issue.
 List<ChangeItemBean> 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<String> 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<String> 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<ChangeHistory> 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 ChangeHistory entries.

getChangeItemsForField

List<ChangeItemBean> 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<String> 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<String> 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.

findUserHistory

Collection<Issue> findUserHistory(User remoteUser,
                                  Collection<String> usernames,
                                  int maxResults)
Find a list of issues that the given users have acted on.

Parameters:
remoteUser - The user executing this request.
usernames - The users to find the history for
maxResults - The maxmimum number of issues to return
Returns:
A Collection of issue objects sorted by creation date in descending order

findUserHistory

Collection<Issue> findUserHistory(User remoteUser,
                                  Collection<String> usernames,
                                  Collection<Project> projects,
                                  int maxResults)
Find a list of issues that the given users have acted on with the option to limit the projects included in the search.

Parameters:
remoteUser - The user executing this request.
usernames - The users to find the history for
projects - The projects to include issues from
maxResults - The maxmimum number of issues to return
Returns:
A CloseableIterator of Issue objects sorted by creation date in descending order


Copyright © 2002-2009 Atlassian. All Rights Reserved.