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:net.turnbig.jdbcx.dialect.impl.OracleDialect.java

@Override
public String getPageableSql(String sql, Pageable pageable) {
    String sortedSql = SelectSqlUtils.addSort(sql, pageable.getSort());
    int startRow = pageable.getOffset();
    int endRow = pageable.getOffset() + pageable.getPageSize();
    String pagedSql = "select * from ( select tmp_page.*, rownum row_id from ({0}) tmp_page "
            + " where rownum <= {1} ) where row_id > {2}";
    return MessageFormat.format(pagedSql, sortedSql, endRow, startRow);
}

From source file:cn.edu.zjnu.acm.judge.user.UserListController.java

@GetMapping({ "/userlist", "/users" })
@SuppressWarnings("AssignmentToMethodParameter")
public String userlist(HttpServletRequest request, @PageableDefault(50) Pageable pageable) {
    Sort sort = pageable.getSort();
    int pageSize = Math.min(pageable.getPageSize(), 500);

    if (sort == null || !sort.iterator().hasNext()) {
        sort = DEFAULT_SORT;//from   ww  w. j  a  v a 2 s  .  co m
    }

    pageable = new PageRequest(pageable.getPageNumber(), pageSize, sort);

    String query;
    try {
        query = URLBuilder.fromRequest(request).replaceQueryParam("page").toString();
    } catch (IllegalStateException | IllegalArgumentException ex) {
        throw new BadRequestException();
    }

    long totalUsers = userMapper.countByDisabledFalse();
    List<User> users = userMapper.findAll(pageable);
    PageImpl<User> page = new PageImpl<>(users, pageable, totalUsers);
    request.setAttribute("url", query);
    request.setAttribute("page", page);
    return "users/list";
}

From source file:at.plechinger.minigeocode.controller.GeocodeController.java

@RequestMapping("/all")
public List<GeocodeResult> getGeocoding(@RequestParam(value = "q", required = true) String query,
        @PageableDefault(sort = { "street", "housenumber" }) Pageable pageable) {
    return geocodeRepository.findAll(query, pageable.getSort());
}

From source file:org.socialsignin.spring.data.dynamodb.repository.support.SimpleDynamoDBPagingAndSortingRepository.java

@Override
public Page<T> findAll(Pageable pageable) {

    if (pageable.getSort() != null) {
        throw new UnsupportedOperationException("Sorting not supported for find all scan operations");
    }/*  www . ja  v a  2  s  .c o  m*/

    DynamoDBScanExpression scanExpression = new DynamoDBScanExpression();
    // Scan to the end of the page after the requested page
    int scanTo = pageable.getOffset() + (2 * pageable.getPageSize());
    scanExpression.setLimit(scanTo);
    PaginatedScanList<T> paginatedScanList = dynamoDBOperations.scan(domainType, scanExpression);
    Iterator<T> iterator = paginatedScanList.iterator();
    int processedCount = 0;
    if (pageable.getOffset() > 0) {
        processedCount = scanThroughResults(iterator, pageable.getOffset());
        if (processedCount < pageable.getOffset())
            return new PageImpl<T>(new ArrayList<T>());
    }
    // Scan ahead to retrieve the next page count
    List<T> results = readPageOfResults(iterator, pageable.getPageSize());

    assertScanEnabled(enableScanPermissions.isFindAllPaginatedScanEnabled(), "findAll(Pageable pageable)");
    assertScanCountEnabled(enableScanPermissions.isFindAllUnpaginatedScanCountEnabled(),
            "findAll(Pageable pageable)");

    int totalCount = dynamoDBOperations.count(domainType, scanExpression);

    return new PageImpl<T>(results, pageable, totalCount);

}

From source file:cz.jirutka.spring.data.jdbc.sql.DefaultSqlGenerator.java

public String selectAll(TableDescription table, Pageable page) {
    Sort sort = page.getSort() != null ? page.getSort() : sortById(table);

    return format(
            "SELECT t2__.* FROM ( " + "SELECT row_number() OVER (ORDER BY %s) AS rn__, t1__.* FROM ( %s ) t1__ "
                    + ") t2__ WHERE t2__.rn__ BETWEEN %s AND %s",
            orderByExpression(sort), selectAll(table), page.getOffset() + 1,
            page.getOffset() + page.getPageSize());
}

From source file:at.plechinger.minigeocode.repository.GeocodeRepository.java

private String pageableString(Pageable pageable) {
    StringBuilder p = new StringBuilder();

    if (pageable.getSort() != null) {
        p.append(sortString(pageable.getSort()));
    }/*from w w w.  j  a  v a  2s  .  co  m*/

    p.append(" LIMIT ").append(pageable.getPageSize()).append(" OFFSET ").append(pageable.getOffset());
    return p.toString();
}

From source file:at.plechinger.minigeocode.controller.ReverseGeocodeController.java

@RequestMapping(value = "/all")
public List<ReverseGeocodeResult> getGeocoding(@RequestParam(value = "lat", required = true) double latitude,
        @RequestParam(value = "lon", required = true) double longitude,
        @PageableDefault(sort = { "distance", "street", "housenumber" }) Pageable pageable) {

    return geocodeRepository.findReverseAll(longitude, latitude, pageable.getSort());
}

From source file:com.epam.ta.reportportal.ws.resolver.PagingHandlerMethodArgumentResolver.java

@Override
public Pageable resolveArgument(MethodParameter methodParameter, ModelAndViewContainer mavContainer,
        NativeWebRequest webRequest, WebDataBinderFactory binderFactory) {
    Pageable pageable = super.resolveArgument(methodParameter, mavContainer, webRequest, binderFactory);
    if (0 == pageable.getPageSize()) {
        return new PageRequest(pageable.getPageNumber(), DEFAULT_PAGE_SIZE, pageable.getSort());
    } else if (MAX_PAGE_SIZE < pageable.getPageSize()) {
        return new PageRequest(pageable.getPageNumber(), MAX_PAGE_SIZE, pageable.getSort());
    }/* w  w w .j  a v  a 2  s.  co m*/
    return pageable;
}

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

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

    mockMvc().perform(get("/admin/scales").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());//w ww .  j  a va  2s .c om
    assertEquals(25, p.getPageSize());
    assertNotNull("Sort is null", p.getSort().getOrderFor("name"));
    assertEquals(Sort.Direction.DESC, p.getSort().getOrderFor("name").getDirection());
}

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

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

    mockMvc().perform(get("/admin/brands").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());//  w  w w  . jav 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());
}