Skip to content

Commit

Permalink
JAMES-1894 Let backend care about sorting by default
Browse files Browse the repository at this point in the history
  • Loading branch information
chibenwa committed Jan 9, 2017
1 parent f6bc8be commit 0606d2e
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 10 deletions.
Expand Up @@ -118,7 +118,10 @@ private MultimailboxesSearchQuery convertToSearchQuery(GetMessageListRequest mes
.orElse(new SearchQuery()); .orElse(new SearchQuery());
Set<MailboxId> inMailboxes = buildFilterMailboxesSet(messageListRequest.getFilter(), FilterCondition::getInMailboxes); Set<MailboxId> inMailboxes = buildFilterMailboxesSet(messageListRequest.getFilter(), FilterCondition::getInMailboxes);
Set<MailboxId> notInMailboxes = buildFilterMailboxesSet(messageListRequest.getFilter(), FilterCondition::getNotInMailboxes); Set<MailboxId> notInMailboxes = buildFilterMailboxesSet(messageListRequest.getFilter(), FilterCondition::getNotInMailboxes);
searchQuery.setSorts(SortConverter.convertToSorts(messageListRequest.getSort())); List<SearchQuery.Sort> sorts = SortConverter.convertToSorts(messageListRequest.getSort());
if (!sorts.isEmpty()) {
searchQuery.setSorts(sorts);
}
return MultimailboxesSearchQuery return MultimailboxesSearchQuery
.from(searchQuery) .from(searchQuery)
.inMailboxes(inMailboxes) .inMailboxes(inMailboxes)
Expand Down
Expand Up @@ -38,19 +38,13 @@ public class SortConverter {
private static final Map<String, SearchQuery.Sort.SortClause> SORT_CLAUSE_MAP = ImmutableMap.of( private static final Map<String, SearchQuery.Sort.SortClause> SORT_CLAUSE_MAP = ImmutableMap.of(
"date", SearchQuery.Sort.SortClause.Arrival, "date", SearchQuery.Sort.SortClause.Arrival,
"id", SearchQuery.Sort.SortClause.Id); "id", SearchQuery.Sort.SortClause.Id);
public static final boolean REVERSE = true;
public static final SearchQuery.Sort DEFAULT_SORT = new SearchQuery.Sort(SearchQuery.Sort.SortClause.Arrival, REVERSE);




public static List<SearchQuery.Sort> convertToSorts(List<String> jmapSorts) { public static List<SearchQuery.Sort> convertToSorts(List<String> jmapSorts) {
Preconditions.checkNotNull(jmapSorts); Preconditions.checkNotNull(jmapSorts);
ImmutableList<SearchQuery.Sort> result = jmapSorts.stream() return jmapSorts.stream()
.map(SortConverter::toSort) .map(SortConverter::toSort)
.collect(Guavate.toImmutableList()); .collect(Guavate.toImmutableList());
if (result.isEmpty()) {
return ImmutableList.of(DEFAULT_SORT);
}
return result;
} }


private static SearchQuery.Sort toSort(String jmapSort) { private static SearchQuery.Sort toSort(String jmapSort) {
Expand Down
Expand Up @@ -45,9 +45,9 @@ public void convertToSortsShouldThrowOnNullValue() {
} }


@Test @Test
public void convertToSortsShouldReturnDefaultSortOnEmptyEntry() { public void convertToSortsShouldReturnEmptyOnEmptyEntry() {
assertThat(SortConverter.convertToSorts(ImmutableList.of())) assertThat(SortConverter.convertToSorts(ImmutableList.of()))
.containsOnly(new SearchQuery.Sort(SearchQuery.Sort.SortClause.Arrival, REVERSE)); .isEmpty();
} }


@Test @Test
Expand Down

0 comments on commit 0606d2e

Please sign in to comment.