com.atlassian.greenhopper.service.rapid
Class PoolServiceImpl
java.lang.Object
com.atlassian.greenhopper.global.AbstractLoggable
com.atlassian.greenhopper.service.rapid.PoolServiceImpl
- All Implemented Interfaces:
- PoolService
@Service
public class PoolServiceImpl
- extends AbstractLoggable
- implements PoolService
Provides calculation of swimlane contents functionality
|
Method Summary |
ServiceOutcome<IssueSubtasksResolved> |
areIssueSubtasksInFinalColumn(com.atlassian.crowd.embedded.api.User user,
RapidView rapidView,
java.lang.Long issueId)
|
ServiceOutcome<PoolService.CollectIssuesResult> |
collectIssuesInOrder(com.atlassian.crowd.embedded.api.User user,
RapidView rapidView,
java.util.Set<java.lang.Long> activeQuickFilters)
Get the issues and the order in one go |
ServiceOutcome<java.util.Map<Column,java.lang.Double>> |
getColumnStatistics(com.atlassian.crowd.embedded.api.User user,
RapidView rapidView)
Calculate the statistics per column of the specified RapidView, for transport to the pool. |
ServiceOutcome<java.util.List<PoolService.SwimlaneIssuesResult>> |
getCustomSwimlanes(com.atlassian.crowd.embedded.api.User user,
RapidView rapidView,
java.util.Set<java.lang.Long> activeQuickFilters,
java.util.Set<java.lang.Long> validIssues)
In order to allocate the issues to the swimlanes, we're running HitCollectors queries first for the swimlanes to find out which issues they'd
handle, and then we fetch the full issue list once and sieve it through the ordered swimlanes, top to bottom. |
ServiceOutcome<java.util.List<RapidIssueEntry>> |
getMissingParents(com.atlassian.crowd.embedded.api.User user,
RapidView rapidView,
java.util.List<RapidIssueEntry> issues)
Loads all missing parents for a given list of issues. |
ServiceOutcome<PoolService.ParentSwimlanesData> |
getParentSwimlanesData(com.atlassian.crowd.embedded.api.User user,
RapidView rapidView,
java.util.List<RapidIssueEntry> issues,
java.util.List<RapidIssueEntry> missingParents)
Gathers the ParentSwimlanesData for a given rapid view. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
performanceLogger
protected org.slf4j.Logger performanceLogger
PoolServiceImpl
public PoolServiceImpl()
getCustomSwimlanes
@NotNull
public ServiceOutcome<java.util.List<PoolService.SwimlaneIssuesResult>> getCustomSwimlanes(com.atlassian.crowd.embedded.api.User user,
RapidView rapidView,
java.util.Set<java.lang.Long> activeQuickFilters,
java.util.Set<java.lang.Long> validIssues)
- In order to allocate the issues to the swimlanes, we're running HitCollectors queries first for the swimlanes to find out which issues they'd
handle, and then we fetch the full issue list once and sieve it through the ordered swimlanes, top to bottom.
We can't use separate JQL queries fetching issues for swimlanes directly, since queries can't be cleanly negated. We also can't use
HitCollectors directly to fetch the issues we're interested in, since they aren't called in the query order.
Rather than storing full
Issue objects in the SwimlaneContents instances, we simply store issue ids.
- Specified by:
getCustomSwimlanes in interface PoolService
collectIssuesInOrder
public ServiceOutcome<PoolService.CollectIssuesResult> collectIssuesInOrder(com.atlassian.crowd.embedded.api.User user,
RapidView rapidView,
java.util.Set<java.lang.Long> activeQuickFilters)
- Get the issues and the order in one go
- Specified by:
collectIssuesInOrder in interface PoolService
getColumnStatistics
@NotNull
public ServiceOutcome<java.util.Map<Column,java.lang.Double>> getColumnStatistics(com.atlassian.crowd.embedded.api.User user,
RapidView rapidView)
- Description copied from interface:
PoolService
- Calculate the statistics per column of the specified
RapidView, for transport to the pool. Uses the Rapid
View's StatisticsFieldConfig to calculate this.
Note that the totals for each column are specified as Double, since this is how NumberCFType
fields store their values in the index.
- Specified by:
getColumnStatistics in interface PoolService
- Parameters:
user - the user doing the requestrapidView - the rapid view
- Returns:
- a mapping of column to statistic total
areIssueSubtasksInFinalColumn
public ServiceOutcome<IssueSubtasksResolved> areIssueSubtasksInFinalColumn(com.atlassian.crowd.embedded.api.User user,
RapidView rapidView,
java.lang.Long issueId)
- Specified by:
areIssueSubtasksInFinalColumn in interface PoolService
getMissingParents
@NotNull
public ServiceOutcome<java.util.List<RapidIssueEntry>> getMissingParents(com.atlassian.crowd.embedded.api.User user,
RapidView rapidView,
java.util.List<RapidIssueEntry> issues)
- Description copied from interface:
PoolService
- Loads all missing parents for a given list of issues.
Note that the parents are in no particular order and currently don't contain days in column information
- Specified by:
getMissingParents in interface PoolService
getParentSwimlanesData
@NotNull
public ServiceOutcome<PoolService.ParentSwimlanesData> getParentSwimlanesData(com.atlassian.crowd.embedded.api.User user,
RapidView rapidView,
java.util.List<RapidIssueEntry> issues,
java.util.List<RapidIssueEntry> missingParents)
- Description copied from interface:
PoolService
- Gathers the ParentSwimlanesData for a given rapid view.
The result contains all parent issue ids as well as issues that are mis-aligned to their subtasks (in terms of their status)
- Specified by:
getParentSwimlanesData in interface PoolService
Copyright © 2007-2012 Atlassian. All Rights Reserved.