Class IssueDataServiceImpl
java.lang.Object
com.atlassian.greenhopper.service.issue.IssueDataServiceImpl
- All Implemented Interfaces:
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 Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionIssueDataServiceImpl(com.atlassian.jira.search.issue.IssueDocumentSearchService issueDocumentSearchService, com.atlassian.jira.web.action.issue.IssueSearchLimits issueSearchLimits, com.atlassian.jira.search.issue.IssueQueryFactory issueQueryFactory) -
Method Summary
Modifier and TypeMethodDescriptioncount(com.atlassian.jira.user.ApplicationUser user, com.atlassian.query.Query query) Counts entities matching query.findIssueIds(com.atlassian.jira.user.ApplicationUser user, com.atlassian.query.Query query) Finds issue ids matching query.getIssueCountPerStatus(com.atlassian.jira.user.ApplicationUser user, com.atlassian.query.Query query) Find the count of issues in a given status.<K> ServiceOutcome<Map<K, Set<Long>>> splitIssueIdsBySubQueries(com.atlassian.jira.user.ApplicationUser user, Set<Long> issues, Map<K, com.atlassian.query.Query> subqueries) Splits provided issue ids by subqueries, each subset is associated with a key from the subqueries map.
-
Field Details
-
LOG
-
ISSUE_COUNT_IN_STATUS_AGG
- See Also:
-
-
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:IssueDataServiceCounts entities matching query.- Specified by:
countin interfaceIssueDataService- Parameters:
user- userquery- 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:IssueDataServiceFinds issue ids matching query.- Specified by:
findIssueIdsin interfaceIssueDataService- Parameters:
user- user whose permissions are used to filter the issuesquery- query to find issues- Returns:
- issue ids
-
splitIssueIdsBySubQueries
@Nonnull public <K> ServiceOutcome<Map<K,Set<Long>>> splitIssueIdsBySubQueries(com.atlassian.jira.user.ApplicationUser user, Set<Long> issues, Map<K, com.atlassian.query.Query> subqueries) Description copied from interface:IssueDataServiceSplits provided issue ids by subqueries, each subset is associated with a key from the subqueries map. The number of issues returned will be limited by the max result window specified for the used search platform. There's no permission check made in this method, as all issues passed should already be validated. For empty queries (no where clause), all provided issues will be assigned to that query's key, which handles the JIRA_EMPTY_JQL_RETURNS_NO_DATA_ENABLED configuration properly.- Specified by:
splitIssueIdsBySubQueriesin interfaceIssueDataService- Parameters:
user- user used for query purposes (e.g. resolving currentUser())issues- that will be split between swimlanessubqueries- 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:IssueDataServiceFind the count of issues in a given status.- Specified by:
getIssueCountPerStatusin interfaceIssueDataService- Parameters:
user- user performing the operationquery- 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
-