Class PoolServiceImpl
java.lang.Object
com.atlassian.greenhopper.web.rapid.work.PoolServiceImpl
- All Implemented Interfaces:
PoolService
Provides calculation of swimlane contents functionality
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.atlassian.greenhopper.web.rapid.work.PoolService
PoolService.ColumnConstraintsData, PoolService.SwimlaneIssuesData -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionareIssueSubtasksInFinalColumn(com.atlassian.jira.user.ApplicationUser user, RapidView rapidView, Long issueId) Returns whether all subtasks for a given issue have been resolved AND the parent hasn't been resolved yet.getColumnConstraintsData(com.atlassian.jira.user.ApplicationUser user, RapidView rapidView) Calculate the constraints data per column of the specifiedRapidView, for transport to the pool.getCustomSwimlanes(com.atlassian.jira.user.ApplicationUser user, RapidView rapidView, WorkFilters workFilters, Set<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.getParentSwimlanesData(com.atlassian.jira.user.ApplicationUser user, RapidView rapidView, List<RapidIssueEntry> issues, Set<RapidIssueEntry> missingParents) Gathers the ParentSwimlanesData for a given rapid view.
-
Field Details
-
log
-
performanceLogger
-
-
Constructor Details
-
PoolServiceImpl
public PoolServiceImpl()
-
-
Method Details
-
getCustomSwimlanes
@Nonnull public ServiceOutcome<List<PoolService.SwimlaneIssuesData>> getCustomSwimlanes(com.atlassian.jira.user.ApplicationUser user, RapidView rapidView, WorkFilters workFilters, Set<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.- Specified by:
getCustomSwimlanesin interfacePoolService
-
getColumnConstraintsData
@Nonnull public ServiceOutcome<PoolService.ColumnConstraintsData> getColumnConstraintsData(com.atlassian.jira.user.ApplicationUser user, RapidView rapidView) Description copied from interface:PoolServiceCalculate the constraints data per column of the specifiedRapidView, for transport to the pool. Uses the Rapid View'sStatisticsFieldConfigto calculate this. Note that the totals for each column are specified asDouble, since this is howNumberCFTypefields store their values in the index.- Specified by:
getColumnConstraintsDatain interfacePoolService- 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.jira.user.ApplicationUser user, RapidView rapidView, Long issueId) Description copied from interface:PoolServiceReturns whether all subtasks for a given issue have been resolved AND the parent hasn't been resolved yet.- Specified by:
areIssueSubtasksInFinalColumnin interfacePoolService
-
getParentSwimlanesData
@Nonnull public ServiceOutcome<ParentSwimlanesData> getParentSwimlanesData(com.atlassian.jira.user.ApplicationUser user, RapidView rapidView, List<RapidIssueEntry> issues, Set<RapidIssueEntry> missingParents) Description copied from interface:PoolServiceGathers 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:
getParentSwimlanesDatain interfacePoolService
-