com.atlassian.jira.web.action.util
Class PopularIssueTypesUtilImpl

java.lang.Object
  extended by com.atlassian.jira.web.action.util.PopularIssueTypesUtilImpl
All Implemented Interfaces:
PopularIssueTypesUtil

public class PopularIssueTypesUtilImpl
extends Object
implements PopularIssueTypesUtil

Default implementation of PopularIssueTypesUtil

Since:
v4.0

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.atlassian.jira.web.action.util.PopularIssueTypesUtil
PopularIssueTypesUtil.PopularIssueTypesHolder
 
Constructor Summary
PopularIssueTypesUtilImpl(IssueTypeSchemeManager issueTypeSchemeManager, IssueConstantFactory factory)
           
 
Method Summary
 List<IssueType> getOtherIssueTypesForProject(Project project, com.atlassian.crowd.embedded.api.User user)
          Returns the set difference between all available issue types for a project, and the popular issue types for a project/user context.
 PopularIssueTypesUtil.PopularIssueTypesHolder getPopularAndOtherIssueTypesForProject(Project project, com.atlassian.crowd.embedded.api.User user)
          Returns a holder that contains both - popular and other issue Types.
 List<IssueType> getPopularIssueTypesForProject(Project project, com.atlassian.crowd.embedded.api.User user)
          Returns the most popular non-subtask issue types used for issue creation in the specified project and by the specified user, within a designated time frame.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PopularIssueTypesUtilImpl

public PopularIssueTypesUtilImpl(IssueTypeSchemeManager issueTypeSchemeManager,
                                 IssueConstantFactory factory)
Method Detail

getPopularIssueTypesForProject

public List<IssueType> getPopularIssueTypesForProject(Project project,
                                                      com.atlassian.crowd.embedded.api.User user)
Description copied from interface: PopularIssueTypesUtil
Returns the most popular non-subtask issue types used for issue creation in the specified project and by the specified user, within a designated time frame. If the user is not specified, or has not created any issues in that time frame, this method returns the most popular issue types for the entire project. The number of issue types returned by this method is hard-coded in the implementation. If the number of popular issue types available is less than that, the remainder of the list will be filled out with any available issue types from the project, in the order of which they are defined in the issue type scheme.

Specified by:
getPopularIssueTypesForProject in interface PopularIssueTypesUtil
Parameters:
project - the project to query
user - the reporter to query; use null if the reporter is not important
Returns:
the list of popular issue types, limited to a hard-coded number; never null.

getOtherIssueTypesForProject

public List<IssueType> getOtherIssueTypesForProject(Project project,
                                                    com.atlassian.crowd.embedded.api.User user)
Description copied from interface: PopularIssueTypesUtil
Returns the set difference between all available issue types for a project, and the popular issue types for a project/user context.

Specified by:
getOtherIssueTypesForProject in interface PopularIssueTypesUtil
Parameters:
project - the project to query
user - the reporter to query; use null if the reporter is not important
Returns:
the rest of the issue types; never null.

getPopularAndOtherIssueTypesForProject

public PopularIssueTypesUtil.PopularIssueTypesHolder getPopularAndOtherIssueTypesForProject(Project project,
                                                                                            com.atlassian.crowd.embedded.api.User user)
Description copied from interface: PopularIssueTypesUtil
Returns a holder that contains both - popular and other issue Types. It is basically the conglomerate result of: PopularIssueTypesUtil.getPopularIssueTypesForProject(com.atlassian.jira.project.Project, User) And PopularIssueTypesUtil.getOtherIssueTypesForProject(com.atlassian.jira.project.Project, User) This is more performant than the two seperate calls.

Specified by:
getPopularAndOtherIssueTypesForProject in interface PopularIssueTypesUtil
Parameters:
project - the project to query
user - the reporter to query; use null if the reporter is not important
Returns:
a list of popular issue types and a list of other issues (with popular removed)


Copyright © 2002-2012 Atlassian. All Rights Reserved.