com.atlassian.jira.issue.statistics
Class UserStatisticsMapper

java.lang.Object
  extended by com.atlassian.jira.issue.statistics.UserStatisticsMapper
All Implemented Interfaces:
LuceneFieldSorter<com.atlassian.crowd.embedded.api.User>, StatisticsMapper<com.atlassian.crowd.embedded.api.User>
Direct Known Subclasses:
AssigneeStatisticsMapper, CustomFieldUserStatisticsMapper, ReporterStatisticsMapper

public class UserStatisticsMapper
extends Object
implements StatisticsMapper<com.atlassian.crowd.embedded.api.User>


Field Summary
protected  JiraAuthenticationContext jiraAuthenticationContext
           
 
Constructor Summary
UserStatisticsMapper(String clauseName, String emptyIndexValue, String indexedField, UserManager userManager, JiraAuthenticationContext jiraAuthenticationContext)
           
UserStatisticsMapper(UserFieldSearchConstantsWithEmpty searchConstants, UserManager userManager, JiraAuthenticationContext jiraAuthenticationContext)
           
 
Method Summary
 boolean equals(Object o)
          As this object is used as a key in a cache, this method must be provided and respect all internal state.
protected  String getClauseName()
           
 Comparator<com.atlassian.crowd.embedded.api.User> getComparator()
          A comparator that can be used to order objects returned by LuceneFieldSorter.getValueFromLuceneField(String).
 String getDocumentConstant()
          Get the constant that this field is indexed with.
 SearchRequest getSearchUrlSuffix(com.atlassian.crowd.embedded.api.User value, SearchRequest searchRequest)
          Get a suffix for the issue navigator, which allows for filtering on this value.
 com.atlassian.crowd.embedded.api.User getValueFromLuceneField(String documentValue)
          Convert the lucene document field back to the object that you wish to use to display it.
 int hashCode()
          As this object is used as a key in a cache, this method must be provided and respect all internal state.
 boolean isFieldAlwaysPartOfAnIssue()
          Check if the field is always part of an issues data.
 boolean isValidValue(com.atlassian.crowd.embedded.api.User value)
          Check whether this value is valid for this particular search.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

jiraAuthenticationContext

protected final JiraAuthenticationContext jiraAuthenticationContext
Constructor Detail

UserStatisticsMapper

public UserStatisticsMapper(UserFieldSearchConstantsWithEmpty searchConstants,
                            UserManager userManager,
                            JiraAuthenticationContext jiraAuthenticationContext)

UserStatisticsMapper

public UserStatisticsMapper(String clauseName,
                            String emptyIndexValue,
                            String indexedField,
                            UserManager userManager,
                            JiraAuthenticationContext jiraAuthenticationContext)
Method Detail

getComparator

public Comparator<com.atlassian.crowd.embedded.api.User> getComparator()
Description copied from interface: LuceneFieldSorter
A comparator that can be used to order objects returned by LuceneFieldSorter.getValueFromLuceneField(String).

The Comparator must be reentrant as it could be used by Lucene from multiple threads at once.

Specified by:
getComparator in interface LuceneFieldSorter<com.atlassian.crowd.embedded.api.User>

isValidValue

public boolean isValidValue(com.atlassian.crowd.embedded.api.User value)
Description copied from interface: StatisticsMapper
Check whether this value is valid for this particular search. This is useful if you do not wish to display all the values that are indexed (eg - only show released versions)

Specified by:
isValidValue in interface StatisticsMapper<com.atlassian.crowd.embedded.api.User>
Parameters:
value - This is the same value that will be returned from LuceneFieldSorter.getValueFromLuceneField(String)
Returns:
true if this value is valid for this particular search

getValueFromLuceneField

public com.atlassian.crowd.embedded.api.User getValueFromLuceneField(String documentValue)
Description copied from interface: LuceneFieldSorter
Convert the lucene document field back to the object that you wish to use to display it.

eg. '1000' -> Version 1.

This does the reverse of what IssueDocument does.

For custom fields, the return value will be passed to CustomFieldSearcherModuleDescriptor.getStatHtml(com.atlassian.jira.issue.fields.CustomField, Object, String)

Specified by:
getValueFromLuceneField in interface LuceneFieldSorter<com.atlassian.crowd.embedded.api.User>
Parameters:
documentValue - The value of the field in the lucene index
Returns:
The value that will be passed to the display

isFieldAlwaysPartOfAnIssue

public boolean isFieldAlwaysPartOfAnIssue()
Description copied from interface: StatisticsMapper
Check if the field is always part of an issues data. This should only return false in the case of a custom field where the value does not have to be set for each issue.

Specified by:
isFieldAlwaysPartOfAnIssue in interface StatisticsMapper<com.atlassian.crowd.embedded.api.User>
Returns:
true if this mapper will always be part of an issues data

getSearchUrlSuffix

public SearchRequest getSearchUrlSuffix(com.atlassian.crowd.embedded.api.User value,
                                        SearchRequest searchRequest)
Description copied from interface: StatisticsMapper
Get a suffix for the issue navigator, which allows for filtering on this value.

eg. a project field would return a SearchRequest object who's getQueryString method will produce pid=10240

Note that values returned from implementations should return values that are URLEncoded.

Specified by:
getSearchUrlSuffix in interface StatisticsMapper<com.atlassian.crowd.embedded.api.User>
Parameters:
value - This is the same value that will be returned from LuceneFieldSorter.getValueFromLuceneField(String)
searchRequest - is the search request that should be used as the base of the newly generated SearchRequest object. If this parameter is null then the return type will also be null.
Returns:
a SearchRequest object that will generate the correct issue navigator url to search the correct statistics set, null otherwise.
See Also:
URLEncoder.encode(String)

getClauseName

protected String getClauseName()

getDocumentConstant

public String getDocumentConstant()
Description copied from interface: LuceneFieldSorter
Get the constant that this field is indexed with.

Specified by:
getDocumentConstant in interface LuceneFieldSorter<com.atlassian.crowd.embedded.api.User>
See Also:
IssueDocument, CustomFieldSearcher

equals

public boolean equals(Object o)
Description copied from interface: LuceneFieldSorter
As this object is used as a key in a cache, this method must be provided and respect all internal state.

See the class javadoc entry for more details.

Specified by:
equals in interface LuceneFieldSorter<com.atlassian.crowd.embedded.api.User>
Overrides:
equals in class Object

hashCode

public int hashCode()
Description copied from interface: LuceneFieldSorter
As this object is used as a key in a cache, this method must be provided and respect all internal state.

See the class javadoc entry for more details.

Specified by:
hashCode in interface LuceneFieldSorter<com.atlassian.crowd.embedded.api.User>
Overrides:
hashCode in class Object


Copyright © 2002-2013 Atlassian. All Rights Reserved.