public class

DefaultUserProjectHistoryManager

extends Object
implements UserProjectHistoryManager
java.lang.Object
   ↳ com.atlassian.jira.user.DefaultUserProjectHistoryManager

Class Overview

Convienience wrapper for the UserHistoryManager that deals directly with Projects.

Summary

Public Constructors
DefaultUserProjectHistoryManager(UserHistoryManager userHistoryManager, ProjectManager projectManager, PermissionManager permissionManager)
Public Methods
void addProjectToHistory(User user, Project project)
Add a Project to the user hsitory list.
Project getCurrentProject(int permission, User user)
Gets the last viewed project that the user visted and still has permission to see.
List<Project> getProjectHistoryWithPermissionChecks(int permission, User user)
Retreive the user's project history queue.
List<Project> getProjectHistoryWithPermissionChecks(ProjectAction projectAction, User user)
Retreive the user's project history queue.
List<UserHistoryItem> getProjectHistoryWithoutPermissionChecks(User user)
Retreive the user's project history queue.
boolean hasProjectHistory(int permission, User user)
Determines whether the user has a current project history.
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.atlassian.jira.user.UserProjectHistoryManager

Public Constructors

public DefaultUserProjectHistoryManager (UserHistoryManager userHistoryManager, ProjectManager projectManager, PermissionManager permissionManager)

Public Methods

public void addProjectToHistory (User user, Project project)

Add a Project to the user hsitory list. A null users history should still be stored, even if only for duration of session

Parameters
user The user to add the history item to
project The project to add to the history list

public Project getCurrentProject (int permission, User user)

Gets the last viewed project that the user visted and still has permission to see. This method also performs permission checks against the project to ensure that user can see it.

Parameters
permission the permission the user must have for the project
user The user to get teh history for.
Returns
  • the last project the use visited.

public List<Project> getProjectHistoryWithPermissionChecks (int permission, User user)

Retreive the user's project history queue. The list is returned ordered by DESC lastViewed date (i.e. newest is first). This method performs permission checks.

Parameters
permission The permission the user must have for the project
user The user to get the history project items for.
Returns
  • a list of projects sort by desc lastViewed date.

public List<Project> getProjectHistoryWithPermissionChecks (ProjectAction projectAction, User user)

Retreive the user's project history queue. The list is returned ordered by DESC lastViewed date (i.e. newest is first). This method performs permission checks.

Parameters
projectAction The projectAction the user must have for the project
user The user to get the history project items for.
Returns
  • a list of projects sort by desc lastViewed date.

public List<UserHistoryItem> getProjectHistoryWithoutPermissionChecks (User user)

Retreive the user's project history queue. The list is returned ordered by DESC lastViewed date (i.e. newest is first). This method performs no permission checks. And is extremely fast.

Parameters
user The user to get the history project items for.
Returns
  • a list of history project items sort by desc lastViewed date.

public boolean hasProjectHistory (int permission, User user)

Determines whether the user has a current project history. This method also performs permission checks against the project to ensure that user can see atleast 1 project.

Parameters
permission the permission to check against
user The user to check for.
Returns
  • true if the user has at least 1 project in their project history queue that they can see, false otherwise