com.atlassian.greenhopper.service.issue
Class IssueDataServiceImpl

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

@Service
public class IssueDataServiceImpl
extends java.lang.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 Summary
protected  LoggerWrapper log
           
protected  LoggerWrapper performanceLogger
           
 
Constructor Summary
IssueDataServiceImpl()
           
 
Method Summary
<T extends IssueDataCallback>
ServiceOutcome<java.lang.Void>
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>
ServiceOutcome<java.lang.Void>
findAndSortOverrideSecurity(com.atlassian.crowd.embedded.api.User user, com.atlassian.query.Query query, T callback)
           
<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 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected final LoggerWrapper log

performanceLogger

protected LoggerWrapper performanceLogger
Constructor Detail

IssueDataServiceImpl

public IssueDataServiceImpl()
Method Detail

find

@NotNull
public <T extends IssueDataCallback> ServiceOutcome<java.lang.Void> 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

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

findAndSortOverrideSecurity

public <T extends IssueDataCallback> ServiceOutcome<java.lang.Void> findAndSortOverrideSecurity(com.atlassian.crowd.embedded.api.User user,
                                                                                                com.atlassian.query.Query query,
                                                                                                T callback)
Specified by:
findAndSortOverrideSecurity 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-2013 Atlassian. All Rights Reserved.