Class IssueStatusHistoryServiceImpl

  extended by
      extended by com.atlassian.greenhopper.service.charts.IssueStatusHistoryServiceImpl
All Implemented Interfaces:

public class IssueStatusHistoryServiceImpl
extends AbstractLoggable
implements IssueStatusHistoryService

Produces status history from the Lucene change history index. The low-level Lucene part of this is a candidate to be pushed to JIRA.


Field Summary
Fields inherited from class
Constructor Summary
Method Summary
 ErrorCollection collectStatusHistory(com.atlassian.crowd.embedded.api.User user, com.atlassian.query.Query query, IssueStatusHistoryCallback callback)
          Read the status history from the Lucene history index.
 java.util.List<IssueStatusHistory> getIssueStatusHistories(com.atlassian.crowd.embedded.api.User user, java.util.Collection<com.atlassian.jira.issue.Issue> issues, java.util.Collection<com.atlassian.jira.issue.status.Status> statuses)
          Legacy implementation.
 IssueStatusHistory getIssueStatusHistory(com.atlassian.crowd.embedded.api.User user, com.atlassian.jira.issue.Issue issue, java.util.Collection<com.atlassian.jira.issue.status.Status> statuses)
          Get the IssueStatus history for a single issue.
Methods inherited from class
logDebug, logError, logException, logInfo, logTrace, logWarn
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public IssueStatusHistoryServiceImpl()
Method Detail


public java.util.List<IssueStatusHistory> getIssueStatusHistories(com.atlassian.crowd.embedded.api.User user,
                                                                  java.util.Collection<com.atlassian.jira.issue.Issue> issues,
                                                                  java.util.Collection<com.atlassian.jira.issue.status.Status> statuses)
Description copied from interface: IssueStatusHistoryService
Legacy implementation. Use collectStatusHistory as this is having bad performance.

Specified by:
getIssueStatusHistories in interface IssueStatusHistoryService


public IssueStatusHistory getIssueStatusHistory(com.atlassian.crowd.embedded.api.User user,
                                                com.atlassian.jira.issue.Issue issue,
                                                java.util.Collection<com.atlassian.jira.issue.status.Status> statuses)
Description copied from interface: IssueStatusHistoryService
Get the IssueStatus history for a single issue.

Specified by:
getIssueStatusHistory in interface IssueStatusHistoryService


public ErrorCollection collectStatusHistory(com.atlassian.crowd.embedded.api.User user,
                                            com.atlassian.query.Query query,
                                            IssueStatusHistoryCallback callback)
Read the status history from the Lucene history index. The index itself is having a very shallow document part: Documents only contain change date, issue ID and issue key. This means we can't query the index directly and read all we want from the documents in one pass, but rather have to use multiple passes for each status to find the matching changes. The results are being fed back into the provided callback implementation.

Specified by:
collectStatusHistory in interface IssueStatusHistoryService
user - : the user executing the query
query - : which issues do we want to look at
callback - : This will be informed of every status change found in the history.

Copyright © 2007-2012 Atlassian. All Rights Reserved.