Class PoolServiceImpl

java.lang.Object
com.atlassian.greenhopper.web.rapid.work.PoolServiceImpl
All Implemented Interfaces:
PoolService

@Service public class PoolServiceImpl extends Object implements PoolService
Provides calculation of swimlane contents functionality
  • Field Details

  • 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:
      getCustomSwimlanes in interface PoolService
    • getColumnConstraintsData

      @Nonnull public ServiceOutcome<PoolService.ColumnConstraintsData> getColumnConstraintsData(com.atlassian.jira.user.ApplicationUser user, RapidView rapidView)
      Description copied from interface: PoolService
      Calculate the constraints data 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:
      getColumnConstraintsData in interface PoolService
      Parameters:
      user - the user doing the request
      rapidView - 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: PoolService
      Returns whether all subtasks for a given issue have been resolved AND the parent hasn't been resolved yet.
      Specified by:
      areIssueSubtasksInFinalColumn in interface PoolService
    • getParentSwimlanesData

      @Nonnull public ServiceOutcome<ParentSwimlanesData> getParentSwimlanesData(com.atlassian.jira.user.ApplicationUser user, RapidView rapidView, List<RapidIssueEntry> issues, Set<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