Class IssueDataServiceImpl

java.lang.Object
com.atlassian.greenhopper.service.issue.IssueDataServiceImpl
All Implemented Interfaces:
IssueDataService

public class IssueDataServiceImpl extends Object implements IssueDataService
Abstraction for a common usage pattern of querying a handful of issue fields from Lucene. Besides being convenient, this serves the purpose of keeping Lucene dependencies out of the code as much as possible.
Author:
ahennecke
  • Field Details

  • Constructor Details

    • IssueDataServiceImpl

      public IssueDataServiceImpl(com.atlassian.jira.search.issue.IssueDocumentSearchService issueDocumentSearchService, com.atlassian.jira.web.action.issue.IssueSearchLimits issueSearchLimits, com.atlassian.jira.search.issue.IssueQueryFactory issueQueryFactory)
  • Method Details

    • count

      @Nonnull public ServiceOutcome<Long> count(com.atlassian.jira.user.ApplicationUser user, com.atlassian.query.Query query)
      Description copied from interface: IssueDataService
      Counts entities matching query.
      Specified by:
      count in interface IssueDataService
      Parameters:
      user - user
      query - query
      Returns:
      count entities matching query
    • findIssueIds

      @Nonnull public ServiceOutcome<Set<Long>> findIssueIds(com.atlassian.jira.user.ApplicationUser user, com.atlassian.query.Query query)
      Description copied from interface: IssueDataService
      Finds issue ids matching query.
      Specified by:
      findIssueIds in interface IssueDataService
      Parameters:
      user - user whose permissions are used to filter the issues
      query - query to find issues
      Returns:
      issue ids
    • findIssueIdsAndSplitBySubQueries

      @Nonnull public <K> ServiceOutcome<Map<K,Set<Long>>> findIssueIdsAndSplitBySubQueries(com.atlassian.jira.user.ApplicationUser user, com.atlassian.query.Query where, Map<K,com.atlassian.query.Query> subqueries)
      Description copied from interface: IssueDataService
      Finds issue ids matching query and splits them by subqueries, each subset is associated with a key from the subqueries map.
      Specified by:
      findIssueIdsAndSplitBySubQueries in interface IssueDataService
      Parameters:
      user - user whose permissions are used to filter the issues
      where - query to find issues
      subqueries - map of queries to split the issues by
      Returns:
      issue ids split by keys associated with subqueries
    • getIssueCountPerStatus

      @Nonnull public ServiceOutcome<Map<String,Long>> getIssueCountPerStatus(com.atlassian.jira.user.ApplicationUser user, com.atlassian.query.Query query)
      Description copied from interface: IssueDataService
      Find the count of issues in a given status.
      Specified by:
      getIssueCountPerStatus in interface IssueDataService
      Parameters:
      user - user performing the operation
      query - query to find issues
      Returns:
      a map where the key is the status ID and the value is the count of issues in a given status