com.atlassian.jira.issue.managers
Class CachingIssueManager

java.lang.Object
  extended by com.atlassian.jira.issue.managers.CachingIssueManager
All Implemented Interfaces:
IssueManager, JiraManager

public class CachingIssueManager
extends Object
implements IssueManager


Constructor Summary
CachingIssueManager(IssueManager decoratedIssueManager)
           
 
Method Summary
 org.ofbiz.core.entity.GenericValue createIssue(String remoteUserName, Map fields)
          Creates an issue.
 org.ofbiz.core.entity.GenericValue createIssue(User remoteUser, Issue issue)
          Persists a new issue.
 org.ofbiz.core.entity.GenericValue createIssue(User remoteUser, Map fields)
          Creates an issue.
 List execute(SearchRequest searchRequest, User searcher)
          Takes a search request object and returns a list of issues that match the search request
 List getEntitiesByIssue(String relationName, org.ofbiz.core.entity.GenericValue issue)
          Get a list of entities (versions, components etc) related to this issue.
 List getEntitiesByIssueObject(String relationName, Issue issue)
          Get a list of entities (versions, components etc) related to this issue.
 org.ofbiz.core.entity.GenericValue getIssue(Long id)
          Retrieves an issue by its id.
 org.ofbiz.core.entity.GenericValue getIssue(String key)
          Retrieves the issue as a GenericValue with the given key.
 org.ofbiz.core.entity.GenericValue getIssueByWorkflow(Long wfid)
          Retrieves an issue GenericValue given a workflow ID.
 long getIssueCountForProject(Long projectId)
          Returns the number of issues that exist for the provided project id.
 Collection getIssueIdsForProject(Long projectId)
          Returns all issue ids for a particular project.
 MutableIssue getIssueObject(Long id)
          Retrieves an issue by id.
 MutableIssue getIssueObject(String key)
          Retrieves the Issue that has the given key, or null if no such Issue exists.
 List getIssues(Collection ids)
          Get a list of issue generic values by Ids.
 List getIssuesByEntity(String relationName, org.ofbiz.core.entity.GenericValue entity)
          Get a list of issues related to an entity (version, component etc).
 List getIssueWatchers(org.ofbiz.core.entity.GenericValue issue)
          Return a list of watchers for a particular issue.
 List getIssueWatchers(Issue issue)
          Return a list of watchers for a particular issue.
 List getProjectIssues(org.ofbiz.core.entity.GenericValue project)
          Get all the issues for a given project.
 List getVotedIssues(User user)
          Get a list of issues that the user has voted on.
 List getWatchedIssues(User user)
          Get a list of issues that the user is watching
 boolean isEditable(Issue issue)
          Returns true if the issue can be edited.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CachingIssueManager

public CachingIssueManager(IssueManager decoratedIssueManager)
Method Detail

getIssue

public org.ofbiz.core.entity.GenericValue getIssue(Long id)
                                            throws DataAccessException
Description copied from interface: IssueManager
Retrieves an issue by its id.

Specified by:
getIssue in interface IssueManager
Parameters:
id - Issue ID.
Returns:
An issue GenericValue.
Throws:
DataAccessException - if there is an error in the Data Access Layer.

getIssue

public org.ofbiz.core.entity.GenericValue getIssue(String key)
                                            throws org.ofbiz.core.entity.GenericEntityException
Description copied from interface: IssueManager
Retrieves the issue as a GenericValue with the given key.

Specified by:
getIssue in interface IssueManager
Parameters:
key - the issue key.
Returns:
the issue as a GenericValue.
Throws:
org.ofbiz.core.entity.GenericEntityException - if there is a problem getting the data

getIssues

public List getIssues(Collection ids)
Get a list of issue generic values by Ids. Currently no caching is performed on this call

Specified by:
getIssues in interface IssueManager
Parameters:
ids - Issue IDs.
Returns:
A collection of issue GenericValues

getIssueByWorkflow

public org.ofbiz.core.entity.GenericValue getIssueByWorkflow(Long wfid)
Description copied from interface: IssueManager
Retrieves an issue GenericValue given a workflow ID. This is used when transitioning through the various steps of a workflow.

Specified by:
getIssueByWorkflow in interface IssueManager
Parameters:
wfid - workflow ID.
Returns:
An issue GenericValue.

getIssueObject

public MutableIssue getIssueObject(Long id)
                            throws DataAccessException
Description copied from interface: IssueManager
Retrieves an issue by id. This method will always return a new instance of an issue.

Specified by:
getIssueObject in interface IssueManager
Parameters:
id - the id
Returns:
A MutableIssue
Throws:
DataAccessException - if there is an error in the Data Access Layer.

getIssueObject

public MutableIssue getIssueObject(String key)
                            throws DataAccessException
Description copied from interface: IssueManager
Retrieves the Issue that has the given key, or null if no such Issue exists.

This method will always return a new instance of an issue object if the issue exists.

Specified by:
getIssueObject in interface IssueManager
Parameters:
key - The Issue key.
Returns:
a MutableIssue with the given key, or null if no such Issue exists.
Throws:
DataAccessException - if there is an error in the Data Access Layer.

getEntitiesByIssue

public List getEntitiesByIssue(String relationName,
                               org.ofbiz.core.entity.GenericValue issue)
                        throws org.ofbiz.core.entity.GenericEntityException
Description copied from interface: IssueManager
Get a list of entities (versions, components etc) related to this issue.

Specified by:
getEntitiesByIssue in interface IssueManager
Parameters:
relationName - A IssueRelationConstants string indicating some issue relation
issue - Issue to consider
Returns:
A list of entity GenericValues associated with the issue.
Throws:
org.ofbiz.core.entity.GenericEntityException - An exception in the ofbiz Entity Engine.

getEntitiesByIssueObject

public List getEntitiesByIssueObject(String relationName,
                                     Issue issue)
                              throws org.ofbiz.core.entity.GenericEntityException
Description copied from interface: IssueManager
Get a list of entities (versions, components etc) related to this issue.

Specified by:
getEntitiesByIssueObject in interface IssueManager
Parameters:
relationName - A IssueRelationConstants string indicating some issue relation
issue - Issue to consider
Returns:
A list of entity GenericValues associated with the issue.
Throws:
org.ofbiz.core.entity.GenericEntityException - An exception in the ofbiz Entity Engine.

getIssuesByEntity

public List getIssuesByEntity(String relationName,
                              org.ofbiz.core.entity.GenericValue entity)
                       throws org.ofbiz.core.entity.GenericEntityException
Description copied from interface: IssueManager
Get a list of issues related to an entity (version, component etc).

Specified by:
getIssuesByEntity in interface IssueManager
Parameters:
relationName - A IssueRelationConstants string indicating some relation of entity
entity - The entity related to the issues we're after
Returns:
A list of issue GenericValues associated with an entity.
Throws:
org.ofbiz.core.entity.GenericEntityException - An exception in the ofbiz Entity Engine.

createIssue

public org.ofbiz.core.entity.GenericValue createIssue(String remoteUserName,
                                                      Map fields)
                                               throws CreateException
Description copied from interface: IssueManager
Creates an issue.

Specified by:
createIssue in interface IssueManager
Parameters:
remoteUserName - Issue creator
fields - A map of the issue's immediate field values. See the Issue definition in entitymodel.xml for values.
Returns:
GenericValue representing the new issue.
Throws:
CreateException

createIssue

public org.ofbiz.core.entity.GenericValue createIssue(User remoteUser,
                                                      Map fields)
                                               throws CreateException
Description copied from interface: IssueManager
Creates an issue.

Specified by:
createIssue in interface IssueManager
Parameters:
remoteUser - Issue creator
fields - A map of the issue's immediate field values. See the Issue definition in entitymodel.xml for values.
Returns:
GenericValue representing the new issue.
Throws:
CreateException

createIssue

public org.ofbiz.core.entity.GenericValue createIssue(User remoteUser,
                                                      Issue issue)
                                               throws CreateException
Description copied from interface: IssueManager
Persists a new issue.

Specified by:
createIssue in interface IssueManager
Parameters:
remoteUser - Issue creator
issue - The new issue.
Returns:
GenericValue representing the new issue.
Throws:
CreateException

getProjectIssues

public List getProjectIssues(org.ofbiz.core.entity.GenericValue project)
                      throws org.ofbiz.core.entity.GenericEntityException
Description copied from interface: IssueManager
Get all the issues for a given project.

Specified by:
getProjectIssues in interface IssueManager
Parameters:
project - the Project
Returns:
a List of GenericValue objects
Throws:
org.ofbiz.core.entity.GenericEntityException

isEditable

public boolean isEditable(Issue issue)
Description copied from interface: IssueManager
Returns true if the issue can be edited. This is determined by looking at the workflow step the issue is in.

Specified by:
isEditable in interface IssueManager
Parameters:
issue - the Issue.
Returns:
true if the issue can be edited. This is determined by looking at the workflow step the issue is in.

getIssueIdsForProject

public Collection getIssueIdsForProject(Long projectId)
                                 throws org.ofbiz.core.entity.GenericEntityException
Description copied from interface: IssueManager
Returns all issue ids for a particular project. This uses constant memory (i.e. doesn't load all issues into memory.

Specified by:
getIssueIdsForProject in interface IssueManager
Parameters:
projectId - Project ID.
Returns:
A collection of issue ID strings
Throws:
org.ofbiz.core.entity.GenericEntityException - An exception in the ofbiz Entity Engine.

getIssueCountForProject

public long getIssueCountForProject(Long projectId)
Description copied from interface: IssueManager
Returns the number of issues that exist for the provided project id.

Specified by:
getIssueCountForProject in interface IssueManager
Parameters:
projectId - identifies the project which the issues are associated with
Returns:
a count of how many issues exist in the project

getVotedIssues

public List getVotedIssues(User user)
                    throws org.ofbiz.core.entity.GenericEntityException,
                           EntityNotFoundException
Description copied from interface: IssueManager
Get a list of issues that the user has voted on.

Specified by:
getVotedIssues in interface IssueManager
Parameters:
user - The user.
Returns:
A list of Issue objects
Throws:
org.ofbiz.core.entity.GenericEntityException - An exception in the ofbiz Entity Engine.
EntityNotFoundException - Looks like this is not actually thrown TODO: EntityNotFoundException does not seem to be needed.

getIssueWatchers

public List getIssueWatchers(org.ofbiz.core.entity.GenericValue issue)
                      throws org.ofbiz.core.entity.GenericEntityException,
                             EntityNotFoundException
Description copied from interface: IssueManager
Return a list of watchers for a particular issue.

Specified by:
getIssueWatchers in interface IssueManager
Parameters:
issue - the Issue.
Returns:
A list of Users.
Throws:
org.ofbiz.core.entity.GenericEntityException - An exception in the ofbiz Entity Engine.
EntityNotFoundException - Thrown when User/Group is looked up by name that does not exist.

getIssueWatchers

public List getIssueWatchers(Issue issue)
                      throws org.ofbiz.core.entity.GenericEntityException,
                             EntityNotFoundException
Description copied from interface: IssueManager
Return a list of watchers for a particular issue.

Specified by:
getIssueWatchers in interface IssueManager
Parameters:
issue - the Issue
Returns:
A list of Users.
Throws:
org.ofbiz.core.entity.GenericEntityException - An exception in the ofbiz Entity Engine.
EntityNotFoundException - Thrown when User/Group is looked up by name that does not exist.

getWatchedIssues

public List getWatchedIssues(User user)
                      throws org.ofbiz.core.entity.GenericEntityException,
                             EntityNotFoundException
Description copied from interface: IssueManager
Get a list of issues that the user is watching

Specified by:
getWatchedIssues in interface IssueManager
Parameters:
user - the User.
Returns:
A list of Issue objects
Throws:
org.ofbiz.core.entity.GenericEntityException - An exception in the ofbiz Entity Engine.
EntityNotFoundException - Thrown when User/Group is looked up by name that does not exist.

execute

public List execute(SearchRequest searchRequest,
                    User searcher)
             throws SearchException
Takes a search request object and returns a list of issues that match the search request

Specified by:
execute in interface IssueManager
Parameters:
searchRequest - object to be used to search for
searcher - User who is running the search. Make sure this user has permissions to see the issues you want!
Returns:
A List of Issues that match the search request
Throws:
SearchException


Copyright © 2002-2009 Atlassian. All Rights Reserved.