nextLinkQuery.sort().on(DATE_LAST_UPDATED, Order.DESCENDING);
private List<PersistedEntry> enhancedGetFeedPage(final String feedName, final PersistedEntry markerEntry, final PageDirection direction, final CategoryCriteriaGenerator criteriaGenerator, final int pageSize) { final LinkedList<PersistedEntry> feedPage = new LinkedList<PersistedEntry>(); final Query query = new Query(Criteria.where(FEED).is(feedName)).limit(pageSize); criteriaGenerator.enhanceCriteria(query); switch (direction) { case FORWARD: query.addCriteria(Criteria.where(DATE_LAST_UPDATED).gt(markerEntry.getCreationDate())); query.sort().on(DATE_LAST_UPDATED, Order.ASCENDING); feedPage.addAll(mongoTemplate.find(query, PersistedEntry.class, formatCollectionName(feedName))); Collections.reverse(feedPage); break; case BACKWARD: query.addCriteria(Criteria.where(DATE_LAST_UPDATED).lte(markerEntry.getCreationDate())); query.sort().on(DATE_LAST_UPDATED, Order.DESCENDING); feedPage.addAll(mongoTemplate.find(query, PersistedEntry.class, formatCollectionName(feedName))); break; } return feedPage; }
final String searchString = getFeedRequest.getSearchQuery() != null ? getFeedRequest.getSearchQuery() : ""; Query queryForFeedHead = new Query(Criteria.where(FEED).is(getFeedRequest.getFeedName())).limit(pageSize); queryForFeedHead.sort().on(DATE_LAST_UPDATED, Order.DESCENDING); lastLinkQuery.sort().on(DATE_LAST_UPDATED, Order.ASCENDING); final List<PersistedEntry> lastPersistedEntries = mongoTemplate.find(lastLinkQuery, PersistedEntry.class, formatCollectionName(getFeedRequest.getFeedName()));
q.sort().on(entry.getPropertyId(), entry.getDirection() == Sorter.Direction.Ascending ? Order.ASCENDING : Order.DESCENDING);