Class SearchSortUtilImpl
java.lang.Object
com.atlassian.jira.issue.search.util.SearchSortUtilImpl
- All Implemented Interfaces:
SearchSortUtil
-
Field Summary
Fields inherited from interface com.atlassian.jira.issue.search.util.SearchSortUtil
SORTER_FIELD, SORTER_ORDER -
Constructor Summary
ConstructorsConstructorDescriptionSearchSortUtilImpl(SearchHandlerManager searchHandlerManager, FieldManager fieldManager) -
Method Summary
Modifier and TypeMethodDescriptionconcatSearchSorts(Collection<SearchSort> newSorts, Collection<SearchSort> oldSorts, int maxLength) Concatenate the new search sorts and the old search sorts returning a list of sorts that is only of size maxLength.getOrderByClause(Map parameterMap) This method is used to convert incoming, request-style, parameters into SearchSort objects.getSearchSortDescriptions(SearchRequest searchRequest, I18nHelper i18nHelper, ApplicationUser searcher) Returns a list of the descriptions of each sorter defined in the search request.getSearchSorts(Query query) mergeSearchSorts(ApplicationUser user, Collection<SearchSort> newSorts, Collection<SearchSort> oldSorts, int maxLength) Combine the new search sorts and the old search sorts returning a list of sorts that is only of size maxLength.
-
Constructor Details
-
SearchSortUtilImpl
-
-
Method Details
-
concatSearchSorts
public List<SearchSort> concatSearchSorts(Collection<SearchSort> newSorts, Collection<SearchSort> oldSorts, int maxLength) Description copied from interface:SearchSortUtilConcatenate the new search sorts and the old search sorts returning a list of sorts that is only of size maxLength. Old sorts will fall off the end of the list first.- Specified by:
concatSearchSortsin interfaceSearchSortUtil- Parameters:
newSorts- the new sorts that should go in the front of the sort list; must not be nulloldSorts- the old sorts that should be in the end of the sort list; may be nullmaxLength- the max size of the produced list- Returns:
- a list of search sorts that contains the newest and oldest sorts respecting the max length.
-
mergeSearchSorts
public List<SearchSort> mergeSearchSorts(ApplicationUser user, Collection<SearchSort> newSorts, Collection<SearchSort> oldSorts, int maxLength) Description copied from interface:SearchSortUtilCombine the new search sorts and the old search sorts returning a list of sorts that is only of size maxLength. Old sorts will fall off the end of the list first. If there are any sorts that are duplicated (the field is mentioned again, sort order not taken into account), then the old sort reference will not be mentioned and will be replaced with the new sort in the correct position in the list.- Specified by:
mergeSearchSortsin interfaceSearchSortUtil- Parameters:
user- performing the searchnewSorts- the new sorts that should go in the front of the sort list; must not be nulloldSorts- the old sorts that should be in the end of the sort list; may be nullmaxLength- the max size of the produced list- Returns:
- a list of search sorts that contains the newest and oldest sorts respecting the max length.
-
getSearchSorts
- Specified by:
getSearchSortsin interfaceSearchSortUtil
-
getOrderByClause
Description copied from interface:SearchSortUtilThis method is used to convert incoming, request-style, parameters into SearchSort objects.- Specified by:
getOrderByClausein interfaceSearchSortUtil- Parameters:
parameterMap- contains 0 or many "sorter/order" and "sorter/field" parameters that will be converted into a search sort. The field is the System/Custom field name and will be converted by this method into the JQL Primary clause name. The reason for this is that we need to support "old (pre 4.0)" URL parameters and these contain the field id, not the clause name. Since the UI is the only thing producing these parameters we decided to leave it generating the field id. When sorts are specified in JQL they will be in clause names.- Returns:
- an OrderBy that can be used to populate a
Querywhich contains alist of SearchSort's that relate to the passed in parameters. Will be an order by with empty sorts if there are no search sorts in the parameters.
-
getSearchSortDescriptions
public List<String> getSearchSortDescriptions(SearchRequest searchRequest, I18nHelper i18nHelper, ApplicationUser searcher) Description copied from interface:SearchSortUtilReturns a list of the descriptions of each sorter defined in the search request.If one of the sorters references a field which does not exist, it will be skipped.
- Specified by:
getSearchSortDescriptionsin interfaceSearchSortUtil- Parameters:
searchRequest- the search request containing the sorts; must not be null.i18nHelper- i18n helpersearcher- the user making the request- Returns:
- a list of strings describing the sorters; never null.
-