use of org.springframework.data.domain.Sort in project spring-data-mongodb by spring-projects.
the class ReactiveMongoTemplateTests method testFindOneWithSort.
// DATAMONGO-1444
@Test
public void testFindOneWithSort() {
PersonWithAList sven = createPersonWithAList("Sven", 22);
PersonWithAList erik = createPersonWithAList("Erik", 21);
PersonWithAList mark = createPersonWithAList("Mark", 40);
StepVerifier.create(template.insertAll(Arrays.asList(sven, erik, mark))).expectNextCount(3).verifyComplete();
// test query with a sort
Query query = new Query(where("age").gt(10));
query.with(Sort.by(Direction.DESC, "age"));
StepVerifier.create(template.findOne(query, PersonWithAList.class)).consumeNextWith(actual -> {
assertThat(actual.getFirstName(), is("Mark"));
}).verifyComplete();
}
use of org.springframework.data.domain.Sort in project plumdo-work by wengwh.
the class BaseResource method getPageable.
public Pageable getPageable(Map<String, String> requestParams) {
int page = RequestUtil.getInteger(requestParams, "pageNum", 1) - 1;
int size = RequestUtil.getInteger(requestParams, "pageSize", 10);
String[] orders = RequestUtil.getArray(requestParams, "sortOrder");
String[] sorts = RequestUtil.getArray(requestParams, "sortName");
List<Order> sortOrders = new ArrayList<Order>();
for (int i = 0; i < sorts.length; i++) {
String sort = sorts[i];
String order = orders[i];
if (order.equals("asc")) {
sortOrders.add(new Order(Direction.ASC, sort));
} else if (order.equals("desc")) {
sortOrders.add(new Order(Direction.DESC, sort));
} else {
throw new IllegalArgumentException("Value for param 'order' is not valid : '" + order + "', must be 'asc' or 'desc'");
}
}
if (sortOrders.isEmpty()) {
return new PageRequest(page, size);
} else {
return new PageRequest(page, size, new Sort(sortOrders));
}
}
use of org.springframework.data.domain.Sort in project ArachneCentralAPI by OHDSI.
the class BaseStudyServiceImpl method findStudies.
@Override
@Transactional(readOnly = true)
public Page<AbstractUserStudyListItem> findStudies(final SS studySearch) {
Sort sort = getSort(studySearch.getSortBy(), studySearch.getSortAsc());
StudySpecification<SU> studyFilteredListSpecification = new StudySpecification<>(studySearch);
Page<SU> resultPage = baseUserStudyLinkRepository.findAll(studyFilteredListSpecification, new PageRequest(studySearch.getPage() - 1, studySearch.getPagesize(), sort));
return resultPage.map(s -> (AbstractUserStudyListItem) s);
}
use of org.springframework.data.domain.Sort in project ArachneCentralAPI by OHDSI.
the class BaseSubmissionServiceImpl method getSubmissionGroups.
@Override
@PreAuthorize("hasPermission(#submissoinGroupSearch.analysisId, 'Analysis', " + "T(com.odysseusinc.arachne.portal.security.ArachnePermission).ACCESS_STUDY)")
@PostAuthorize("@ArachnePermissionEvaluator.addPermissionsToSubmissions(principal, returnObject )")
public Page<SubmissionGroup> getSubmissionGroups(SubmissionGroupSearch submissoinGroupSearch) {
final SubmissionGroupSpecification submissionGroupSpecification = new SubmissionGroupSpecification(submissoinGroupSearch);
final Integer page = submissoinGroupSearch.getPage();
final PageRequest pageRequest = new PageRequest(page == null ? 0 : page - 1, submissoinGroupSearch.getPageSize(), new Sort(Sort.Direction.DESC, "created"));
final Page<SubmissionGroup> submissionGroups = submissionGroupRepository.findAll(submissionGroupSpecification, pageRequest);
final List<SubmissionGroup> content = submissionGroups.getContent();
final Map<Long, SubmissionGroup> submissionGroupMap = content.stream().collect(Collectors.toMap(SubmissionGroup::getId, sg -> {
sg.setSubmissions(new ArrayList<>());
return sg;
}));
final Set<Long> submissionGroupIds = submissionGroupMap.keySet();
if (!CollectionUtils.isEmpty(submissionGroupIds)) {
final SubmissionSpecification<T> submissionSpecification = SubmissionSpecification.<T>builder(submissionGroupIds).withStatuses(submissoinGroupSearch.getSubmissionStatuses()).withDataSourceIds(submissoinGroupSearch.getDataSourceIds()).hasInsight(submissoinGroupSearch.getHasInsight()).showHidden(submissoinGroupSearch.getShowHidden()).build();
submissionRepository.findAll(submissionSpecification).forEach(s -> submissionGroupMap.get(s.getSubmissionGroup().getId()).getSubmissions().add(s));
}
return submissionGroups;
}
Aggregations