com.atlassian.greenhopper.service.issue
Class IssueDataServiceImpl

java.lang.Object
  extended by com.atlassian.greenhopper.global.AbstractLoggable
      extended by com.atlassian.greenhopper.service.issue.IssueDataServiceImpl
All Implemented Interfaces:
IssueDataService

@Service
public class IssueDataServiceImpl
extends AbstractLoggable
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 Summary
protected  org.slf4j.Logger performanceLogger
           
 
Fields inherited from class com.atlassian.greenhopper.global.AbstractLoggable
logger
 
Constructor Summary
IssueDataServiceImpl()
           
 
Method Summary
<T extends IssueDataCallback>
ErrorCollection
find(com.atlassian.crowd.embedded.api.User user, com.atlassian.query.Query query, T callback)
          Execute the query, and for each issue in the result, extract the data as specified by the fields in the callback and send them over to the callback collector.
<T extends IssueDataCallback>
ServiceOutcome<java.lang.Void>
find(com.atlassian.crowd.embedded.api.User user, com.atlassian.query.Query query, T callback, org.apache.lucene.search.Query andQuery)
          Allows specifying an "and" lucene query in addition to a callback
<T extends IssueDataCallback>
ServiceOutcome<java.lang.Void>
findAndSort(com.atlassian.crowd.embedded.api.User user, com.atlassian.query.Query query, T callback)
          Performs a search taking sorting into account
<T extends IssueDataCallback>
ErrorCollection
findAndSort(com.atlassian.crowd.embedded.api.User user, com.atlassian.query.Query query, T callback, com.atlassian.jira.web.bean.PagerFilter<?> pager)
           
<T extends IssueDataCallback>
ServiceOutcome<java.lang.Void>
findAndSortWithServiceOutcome(com.atlassian.crowd.embedded.api.User user, com.atlassian.query.Query query, T callback, com.atlassian.jira.web.bean.PagerFilter<?> pager)
           
<T extends IssueDataCallback>
ServiceOutcome<java.lang.Void>
findOverrideSecurity(com.atlassian.crowd.embedded.api.User user, com.atlassian.query.Query query, T callback)
          Executes a find, but overwrites security.
<T extends IssueDataCallback>
ServiceOutcome<java.lang.Void>
findWithServiceOutcome(com.atlassian.crowd.embedded.api.User user, com.atlassian.query.Query query, T callback)
           
 
Methods inherited from class com.atlassian.greenhopper.global.AbstractLoggable
logDebug, logError, logException, logInfo, logTrace, logWarn
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

performanceLogger

protected org.slf4j.Logger performanceLogger
Constructor Detail

IssueDataServiceImpl

public IssueDataServiceImpl()
Method Detail

find

@NotNull
public <T extends IssueDataCallback> ErrorCollection find(com.atlassian.crowd.embedded.api.User user,
                                                                  com.atlassian.query.Query query,
                                                                  T callback)
Description copied from interface: IssueDataService
Execute the query, and for each issue in the result, extract the data as specified by the fields in the callback and send them over to the callback collector. For optimal memory usage, try streaming the data directly into the receiving data structure (like a REST template) instead of gathering it internally.

Specified by:
find in interface IssueDataService
callback - : This collects the field values of the issues matching the query
Returns:
any errors that happened during the search

findWithServiceOutcome

public <T extends IssueDataCallback> ServiceOutcome<java.lang.Void> findWithServiceOutcome(com.atlassian.crowd.embedded.api.User user,
                                                                                           com.atlassian.query.Query query,
                                                                                           T callback)
Specified by:
findWithServiceOutcome in interface IssueDataService

find

public <T extends IssueDataCallback> ServiceOutcome<java.lang.Void> find(com.atlassian.crowd.embedded.api.User user,
                                                                         com.atlassian.query.Query query,
                                                                         T callback,
                                                                         org.apache.lucene.search.Query andQuery)
Description copied from interface: IssueDataService
Allows specifying an "and" lucene query in addition to a callback

Specified by:
find in interface IssueDataService

findAndSort

@NotNull
public <T extends IssueDataCallback> ErrorCollection findAndSort(com.atlassian.crowd.embedded.api.User user,
                                                                         com.atlassian.query.Query query,
                                                                         T callback,
                                                                         com.atlassian.jira.web.bean.PagerFilter<?> pager)
Specified by:
findAndSort in interface IssueDataService

findAndSortWithServiceOutcome

@NotNull
public <T extends IssueDataCallback> ServiceOutcome<java.lang.Void> findAndSortWithServiceOutcome(com.atlassian.crowd.embedded.api.User user,
                                                                                                          com.atlassian.query.Query query,
                                                                                                          T callback,
                                                                                                          com.atlassian.jira.web.bean.PagerFilter<?> pager)
Specified by:
findAndSortWithServiceOutcome in interface IssueDataService

findOverrideSecurity

@NotNull
public <T extends IssueDataCallback> ServiceOutcome<java.lang.Void> findOverrideSecurity(com.atlassian.crowd.embedded.api.User user,
                                                                                                 com.atlassian.query.Query query,
                                                                                                 T callback)
Description copied from interface: IssueDataService
Executes a find, but overwrites security.

Specified by:
findOverrideSecurity in interface IssueDataService

findAndSort

@NotNull
public <T extends IssueDataCallback> ServiceOutcome<java.lang.Void> findAndSort(com.atlassian.crowd.embedded.api.User user,
                                                                                        com.atlassian.query.Query query,
                                                                                        T callback)
Description copied from interface: IssueDataService
Performs a search taking sorting into account

Specified by:
findAndSort in interface IssueDataService


Copyright © 2007-2012 Atlassian. All Rights Reserved.