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<String,Object> 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<String,Object> fields)
          Creates an issue.
 void deleteIssue(User user, MutableIssue issue, EventDispatchOption eventDispatchOption, boolean sendMail)
          This method will delete an issue from JIRA.
 List<org.ofbiz.core.entity.GenericValue> getEntitiesByIssue(String relationName, org.ofbiz.core.entity.GenericValue issue)
          Get a list of entities (versions, components etc) related to this issue.
 List<org.ofbiz.core.entity.GenericValue> 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<Long> 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.
 MutableIssue getIssueObjectByWorkflow(Long workflowId)
          Retrieves an issue given a workflow ID.
 List<org.ofbiz.core.entity.GenericValue> getIssues(Collection<Long> ids)
          Get a list of issue generic values by Ids.
 List<org.ofbiz.core.entity.GenericValue> getIssuesByEntity(String relationName, org.ofbiz.core.entity.GenericValue entity)
          Get a list of issues related to an entity (version, component etc).
 List<User> getIssueWatchers(org.ofbiz.core.entity.GenericValue issue)
          Return a list of watchers for a particular issue.
 List<User> getIssueWatchers(Issue issue)
          Return a list of watchers for a particular issue.
 List<org.ofbiz.core.entity.GenericValue> getProjectIssues(org.ofbiz.core.entity.GenericValue project)
          Get all the issues for a given project.
 List<Issue> getVotedIssues(User user)
          Get a list of issues that the user has voted on and can see.
 List<Issue> getVotedIssuesOverrideSecurity(User user)
          Get a list of issues that the user has voted on.
 List<Issue> getWatchedIssues(User user)
          Get a list of issues that the user is watching and can see.
 List<Issue> getWatchedIssuesOverrideSecurity(User user)
          Get a list of issues that the user is watching
 boolean isEditable(Issue issue)
          Returns true if the issue can be edited.
 Issue updateIssue(User user, MutableIssue issue, EventDispatchOption eventDispatchOption, boolean sendMail)
          This method will store the provided issue to the JIRA datastore.
 
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<org.ofbiz.core.entity.GenericValue> getIssues(Collection<Long> 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.
See Also:
IssueManager.getIssueObjectByWorkflow(Long)

getIssueObjectByWorkflow

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

Specified by:
getIssueObjectByWorkflow in interface IssueManager
Parameters:
workflowId - workflow ID.
Returns:
The Issue
Throws:
org.ofbiz.core.entity.GenericEntityException - An exception in the ofbiz Entity Engine.

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<org.ofbiz.core.entity.GenericValue> 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<org.ofbiz.core.entity.GenericValue> 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<org.ofbiz.core.entity.GenericValue> 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<String,Object> 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 - If JIRA is unable to create the issue.

createIssue

public org.ofbiz.core.entity.GenericValue createIssue(User remoteUser,
                                                      Map<String,Object> 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 - If JIRA is unable to create the issue.

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 - If JIRA is unable to create the issue.

updateIssue

public Issue updateIssue(User user,
                         MutableIssue issue,
                         EventDispatchOption eventDispatchOption,
                         boolean sendMail)
                  throws UpdateException
Description copied from interface: IssueManager
This method will store the provided issue to the JIRA datastore. The issue will be saved and re-indexed. This method performs no permission checks.

This method should be used if you want to exert more control over what happens when JIRA updates an issue. This method will allow you to specify if an event is dispatched and if so which event is dispatched, see EventDispatchOption. This method also allows you to specify if email notifications should be send to notify users of the update.

Specified by:
updateIssue in interface IssueManager
Parameters:
user - who is performing the operation
issue - the issue to update
eventDispatchOption - specifies if an event should be sent and if so which should be sent.
sendMail - if true mail notifications will be sent, otherwise mail notifications will be suppressed.
Returns:
the updated issue.
Throws:
UpdateException - thrown if something goes horribly wrong when updating the issue.

deleteIssue

public void deleteIssue(User user,
                        MutableIssue issue,
                        EventDispatchOption eventDispatchOption,
                        boolean sendMail)
                 throws RemoveException
Description copied from interface: IssueManager
This method will delete an issue from JIRA. This will clean up all issue associations in JIRA and will de-index the issue.

This method should be used if you want to exert more control over what happens when JIRA deletes an issue. This method will allow you to specify if an event is dispatched and if so which event is dispatched, see EventDispatchOption. This method also allows you to specify if email notifications should be send to notify users of the deletion.

Specified by:
deleteIssue in interface IssueManager
Parameters:
user - who is performing the operation
issue - the issue to delete.
eventDispatchOption - specifies if an event should be sent and if so which should be sent.
sendMail - if true mail notifications will be sent, otherwise mail notifications will be suppressed.
Throws:
RemoveException - throw if something goes horribly wrong when deleting the issue.

getProjectIssues

public List<org.ofbiz.core.entity.GenericValue> 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 - If there are errors in the persistence layer.

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<Long> 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 IDs
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<Issue> getVotedIssues(User user)
                           throws org.ofbiz.core.entity.GenericEntityException
Description copied from interface: IssueManager
Get a list of issues that the user has voted on and can see.

Specified by:
getVotedIssues in interface IssueManager
Parameters:
user - The user.
Returns:
A list of Issue objects the user has voted on.
Throws:
org.ofbiz.core.entity.GenericEntityException - An exception in the ofbiz Entity Engine.

getVotedIssuesOverrideSecurity

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

Specified by:
getVotedIssuesOverrideSecurity in interface IssueManager
Parameters:
user - The user.
Returns:
A list of Issue objects the user has voted on.
Throws:
org.ofbiz.core.entity.GenericEntityException - An exception in the ofbiz Entity Engine.

getIssueWatchers

public List<User> 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<User> 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<Issue> 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 and can see.

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.

getWatchedIssuesOverrideSecurity

public List<Issue> getWatchedIssuesOverrideSecurity(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:
getWatchedIssuesOverrideSecurity 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.


Copyright © 2002-2010 Atlassian. All Rights Reserved.