Example usage for org.springframework.data.domain Pageable getSort

List of usage examples for org.springframework.data.domain Pageable getSort

Introduction

In this page you can find the example usage for org.springframework.data.domain Pageable getSort.

Prototype

Sort getSort();

Source Link

Document

Returns the sorting parameters.

Usage

From source file:com.trenako.web.controllers.admin.AdminRailwaysControllerMappingTests.java

@Test
public void shouldProcessRailwaysPagingParameters() throws Exception {
    ArgumentCaptor<Pageable> arg = ArgumentCaptor.forClass(Pageable.class);

    mockMvc().perform(get("/admin/railways").param("page.page", "2").param("page.size", "25")
            .param("page.sort", "name").param("page.sort.dir", "desc")).andExpect(status().isOk());

    verify(mockService, times(1)).findAll(arg.capture());

    Pageable p = arg.getValue();
    assertEquals(1, p.getPageNumber());/*from   w  w w  . j  av  a2s. c  o m*/
    assertEquals(25, p.getPageSize());
    assertNotNull("Sort is null", p.getSort().getOrderFor("name"));
    assertEquals(Sort.Direction.DESC, p.getSort().getOrderFor("name").getDirection());
}

From source file:org.lightadmin.core.web.RepositoryScopedSearchController.java

private Page findBySpecificationAndPredicate(DynamicRepositoryInvoker invoker,
        final Specification specification, Predicate predicate, final Pageable pageable) {
    final List<?> items = findItemsBySpecification(invoker, specification, pageable.getSort());

    return selectPage(newArrayList(filter(items, predicate)), pageable);
}

From source file:egov.data.hibernate.repository.support.SimpleHibernateRepository.java

protected Criteria getCriteria(Sort sortParam, Pageable pageable) {
    Criteria criteria = getSession().createCriteria(getDomainClass());

    Sort sort = pageable == null ? sortParam : pageable.getSort();

    if (sort != null) {
        for (Sort.Order order : sort) {
            if (order.getDirection().equals(Sort.Direction.ASC)) {
                criteria.addOrder(Order.asc(order.getProperty()));
            } else if (order.getDirection().equals(Sort.Direction.DESC)) {
                criteria.addOrder(Order.desc(order.getProperty()));
            }//  w  w  w.j  a  va 2s . c om
        }
    }

    if (pageable != null) {
        criteria.setFirstResult(pageable.getOffset());
        criteria.setMaxResults(pageable.getPageSize());
    }

    return criteria;
}

From source file:com.github.vineey.rql.querydsl.spring.SpringUtilTest.java

@Test
public void convertToPageable() {
    String rqlFilter = "(employee.number=='1' and employee.names =size= 1) or (employee.number=='2'  and employee.names =size= 2)";
    String limit = "limit(0, 10)";
    String sort = "sort(+employee.number)";
    RqlInput rqlInput = new RqlInput().setFilter(rqlFilter).setLimit(limit).setSort(sort);

    Map<String, Path> pathMapping = ImmutableMap.<String, Path>builder()
            .put("employee.number", QEmployee.employee.employeeNumber)
            .put("employee.names", QEmployee.employee.names).build();

    QuerydslMappingResult querydslMappingResult = querydslRqlParser.parse(rqlInput,
            new QuerydslMappingParam().setRootPath(QEmployee.employee).setPathMapping(pathMapping));

    Pageable pageable = SpringUtil.toPageable(querydslMappingResult.getOrderSpecifiers(),
            querydslMappingResult.getPage());
    Assert.assertEquals(0, pageable.getOffset());
    Assert.assertEquals(10, pageable.getPageSize());
    Sort pageableSort = pageable.getSort();
    Assert.assertEquals(Sort.Direction.ASC, pageableSort.getOrderFor("employeeNumber").getDirection());
}

From source file:org.openlmis.fulfillment.repository.custom.impl.OrderRepositoryImpl.java

private <T> CriteriaQuery<T> addSortProperties(CriteriaQuery<T> query, Root root, Pageable pageable) {
    CriteriaBuilder builder = entityManager.getCriteriaBuilder();
    List<javax.persistence.criteria.Order> orders = new ArrayList<>();
    Iterator<Sort.Order> iterator = pageable.getSort().iterator();
    Sort.Order order;/*  w  w  w . ja v a  2s  .c  om*/

    while (iterator.hasNext()) {
        order = iterator.next();
        String property = order.getProperty();

        Path path = root.get(property);
        if (order.isAscending()) {
            orders.add(builder.asc(path));
        } else {
            orders.add(builder.desc(path));
        }
    }
    return query.orderBy(orders);
}

From source file:de.appsolve.padelcampus.db.dao.generic.BaseEntityDAO.java

private void addOrderBy(Criteria criteria, Pageable pageable) {
    Sort sort = pageable.getSort();
    if (sort != null) {
        Iterator<Sort.Order> iterator = sort.iterator();
        while (iterator.hasNext()) {
            Sort.Order order = iterator.next();
            Order hibernateOrder;/*from w  ww .  j a va 2s  .  c  om*/
            switch (order.getDirection()) {
            case ASC:
                hibernateOrder = Order.asc(order.getProperty());
                break;
            default:
                hibernateOrder = Order.desc(order.getProperty());
                break;
            }
            criteria.addOrder(hibernateOrder);
        }
    }
}

From source file:cn.edu.zjnu.acm.judge.problem.ProblemStatusController.java

@GetMapping("/problemstatus")
@SuppressWarnings("AssignmentToMethodParameter")
public String status(HttpServletRequest request, @RequestParam("problem_id") long id,
        @PageableDefault(size = 20, sort = { "time", "memory", "code_length" }) Pageable pageable,
        Authentication authentication) {
    log.debug("{}", pageable);
    if (pageable.getPageSize() > 500) {
        pageable = new PageRequest(pageable.getPageNumber(), 500, pageable.getSort());
    }//from w  w w  .  j  a  v a  2  s.co  m
    Problem problem = problemMapper.findOneNoI18n(id);
    if (problem == null) {
        throw new MessageException("No such problem", HttpStatus.NOT_FOUND);
    }
    final Long contestId = problem.getContest();
    request.setAttribute("contestId", contestId);
    List<ScoreCount> list = problemMapper.groupByScore(id);
    ArrayList<String> scores = new ArrayList<>(list.size());
    ArrayList<Long> counts = new ArrayList<>(list.size());
    ArrayList<String> urls = new ArrayList<>(list.size());
    for (ScoreCount scoreCount : list) {
        int score = scoreCount.getScore();
        scores.add(ResultType.getShowsourceString(score));
        counts.add(scoreCount.getCount());
        urls.add(request.getContextPath() + "/status?problem_id=" + id + "&score=" + score);
    }
    List<Submission> bestSubmissions = submissionMapper.bestSubmission(id, pageable);
    long total = pageable.getOffset() + bestSubmissions.size()
            + (pageable.getPageSize() == bestSubmissions.size() ? 1 : 0);
    PageImpl<Submission> page = new PageImpl<>(bestSubmissions, pageable, total);
    boolean isAdmin = UserDetailService.isAdminLoginned(request);
    boolean isSourceBrowser = UserDetailService.isSourceBrowser(request);
    boolean canView = isAdmin || isSourceBrowser;

    request.setAttribute("page", page);
    request.setAttribute("sa", Arrays.asList(counts, scores, urls));
    request.setAttribute("problem", problem);
    request.setAttribute("url", URLBuilder.fromRequest(request).replaceQueryParam("page").toString());
    request.setAttribute("contestId", contestId);
    request.setAttribute("canView", canView);
    request.setAttribute("authentication", authentication);

    return "problems/status";
}

From source file:org.yukung.daguerreo.domain.repository.BasicJooqRepository.java

private SelectQuery<R> getQuery(Pageable pageable) {
    SelectQuery<R> query = getQuery(pageable.getSort());
    query.addLimit(pageable.getOffset(), pageable.getPageSize());
    return query;
}

From source file:com.frank.search.solr.core.query.SolrPageRequest.java

@Override
public boolean equals(Object obj) {

    if (this == obj) {
        return true;
    }/*w  w  w . j av  a  2s. c  om*/
    if (obj == null || !(obj instanceof Pageable)) {
        return false;
    }

    Pageable other = (Pageable) obj;
    if (page != other.getPageNumber()) {
        return false;
    }
    if (size != other.getPageSize()) {
        return false;
    }
    if (sort == null) {
        if (other.getSort() != null) {
            return false;
        }
    } else if (!sort.equals(other.getSort())) {
        return false;
    }
    return true;
}

From source file:org.ngrinder.common.controller.BaseController.java

protected void putPageIntoModelMap(ModelMap model, Pageable pageable) {
    model.addAttribute("page", pageable);
    final Iterator<Sort.Order> iterator = pageable.getSort().iterator();
    if (iterator.hasNext()) {
        Sort.Order sortProp = iterator.next();
        model.addAttribute("sortColumn", sortProp.getProperty());
        model.addAttribute("sortDirection", sortProp.getDirection());
    }/*from   w w  w  .  j ava 2 s . c o  m*/
}