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

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

Introduction

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

Prototype

long getOffset();

Source Link

Document

Returns the offset to be taken according to the underlying page and page size.

Usage

From source file:io.pivotal.strepsirrhini.chaosloris.docs.DocumentationUtilities.java

static <T> Page<T> page(Pageable pageable, LongFunction<T> function) {
    return new PageImpl<>(LongStream.range(pageable.getOffset(), pageable.getOffset() + pageable.getPageSize())
            .mapToObj(function).collect(Collectors.toList()), pageable, 12);
}

From source file:com.trenako.results.PaginatedLists.java

/**
 * Returns a values page according the provided {@code Pageable}.
 *
 * @param values   the values to be paginated
 * @param paging the paging information// w ww.  java2 s  .c om
 * @return a {@code Page}
 */
public static <T> Page<T> paginate(List<T> values, Pageable paging) {
    Assert.notNull(values, "Values list must be not null");

    int total = values.size();
    int offset = paging.getOffset();

    if (offset > total) {
        return failbackPage();
    }

    int sIndex = start(total, offset);
    int eIndex = end(total, offset, paging.getPageSize());

    List<T> content = values.subList(sIndex, eIndex);
    return new PageImpl<>(content, paging, total);
}

From source file:org.springframework.data.examples.repository.ContactRepositoryImpl.java

@Override
public Page<Contact> findAll(Pageable pageable) {
    long first = pageable.getOffset() + 1;
    long last = pageable.getOffset() + pageable.getPageSize();
    SelectResults<Contact> results = template.find("select * from /Contact where id >= $1 and id <= $2", first,
            last);//from   w w w  .  ja  v a2s  .  com

    List<Contact> contacts = results.asList();

    Collections.sort(contacts, new Comparator<Contact>() {

        @Override
        public int compare(Contact c0, Contact c1) {
            return (int) (c0.getId() - c1.getId());
        }

    });

    return results == null ? null : new PageImpl<Contact>(contacts, pageable, results.size());
}

From source file:net.turnbig.jdbcx.dialect.impl.Db2Dialect.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.*,rownumber() over() as row_id from ({0}) as tmp_page"
            + ") where row_id between {1} and {2} ";
    return MessageFormat.format(pagedSql, sortedSql, startRow, endRow);
}

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

@Override
public String selectAll(TableDescription table, Pageable page) {
    return format("%s LIMIT %d OFFSET %d", selectAll(table, page.getSort()), page.getPageSize(),
            page.getOffset());
}

From source file:com.github.carlomicieli.nerdmovies.services.MongoMovieService.java

public PaginatedResult<Movie> getAllMovies(int page, int pageSize) {
    Pageable p = new PageRequest(page - 1, pageSize);
    final Query query = new Query().skip(p.getOffset()).limit(p.getPageSize());

    //counting the total number of documents in the collection
    long count = mongoTemplate.count(new Query(), Movie.class);

    List<Movie> movies = mongoTemplate.find(query, Movie.class);
    PaginatedResult<Movie> results = new PaginatedResult<Movie>(movies, count, page, pageSize);

    return results;
}

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:org.mmonti.entitygraph.repository.CustomGenericJpaRepository.java

@Override
protected Page<T> readPage(TypedQuery<T> query, Pageable pageable, Specification<T> spec) {
    query.setFirstResult(pageable.getOffset());
    query.setMaxResults(pageable.getPageSize());

    Long total = executeCountQuery(getCountQuery(spec));
    List<T> content = total > pageable.getOffset() ? query.getResultList() : Collections.<T>emptyList();

    return new PageImpl<T>(content, pageable, total);
}

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

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

    return format("%s OFFSET %d ROWS FETCH NEXT %d ROW ONLY", selectAll(table, sort), page.getOffset(),
            page.getPageSize());//from ww  w  . ja  va2 s.com
}

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());
}