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:cz.jirutka.spring.data.jdbc.sql.Oracle9SqlGenerator.java

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

    return format(
            "SELECT t2__.* FROM ( " + "SELECT t1__.*, ROWNUM as rn__ FROM ( %s ) t1__ "
                    + ") t2__ WHERE t2__.rn__ > %d AND ROWNUM <= %d",
            selectAll(table, sort), page.getOffset(), page.getPageSize());
}

From source file:am.ik.categolj3.api.jest.JestSearchEntryOperations.java

Page<Entry> search(QueryBuilder query, Pageable pageable, SearchOptions options) {
    try {/*from www. j av  a  2  s.  com*/
        SearchSourceBuilder sourceBuilder = new SearchSourceBuilder().query(query)
                .sort("updated.date", SortOrder.DESC).sort("entryId", SortOrder.DESC).from(pageable.getOffset())
                .size(pageable.getPageSize());
        if (options.isExcludeContent()) {
            sourceBuilder = sourceBuilder.fetchSource(fieldsExcludeContent, new String[] { "content" });
        }
        long count = jestClient
                .execute(new Count.Builder().query(new SearchSourceBuilder().query(query).toString())
                        .addIndex(Entry.INDEX_NAME).addType(Entry.DOC_TYPE).build())
                .getCount().longValue();
        List<Entry> content = null;
        if (count > 0) {
            content = ((JestResult) jestClient.execute(new Search.Builder(sourceBuilder.toString())
                    .addIndex(Entry.INDEX_NAME).addType(Entry.DOC_TYPE).build()))
                            .getSourceAsObjectList(Entry.class);
        } else {
            content = Collections.emptyList();
        }
        return new PageImpl<>(content, pageable, count);
    } catch (Exception e) {
        throw new IllegalStateException(e);
    }
}

From source file:com.googlecode.spring.appengine.objectify.repository.SimpleOfyRepository.java

@Override
public Page<T> findAll(Pageable pageable) {
    if (pageable == null) {
        return new PageImpl<T>(findAll());
    }/* ww  w. ja va 2  s  . c o m*/
    Query<T> query = query();
    query.offset(pageable.getOffset());
    query.limit(pageable.getPageSize());
    long total = count();
    List<T> content = total > pageable.getOffset() ? query.list() : Collections.<T>emptyList();
    return new PageImpl<T>(content, pageable, total);
}

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   ww w .j a  v  a2  s.co m

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

From source file:com.wiiyaya.framework.provider.repository.revision.BaseRevisionDaoImpl.java

@SuppressWarnings("unchecked")
public Page<Revision<N, T>> findRevisions(ID id, Pageable pageable) {

    Class<T> type = entityInformation.getJavaType();
    AuditReader reader = AuditReaderFactory.get(entityManager);
    List<Number> revisionNumbers = reader.getRevisions(type, id);

    if (pageable.getOffset() > revisionNumbers.size()) {
        return new PageImpl<Revision<N, T>>(Collections.<Revision<N, T>>emptyList(), pageable, 0);
    }/*w  w w  . j a  v  a  2s. co m*/

    int upperBound = pageable.getOffset() + pageable.getPageSize();
    upperBound = upperBound > revisionNumbers.size() ? revisionNumbers.size() : upperBound;

    List<? extends Number> subList = revisionNumbers.subList(pageable.getOffset(), upperBound);
    Revisions<N, T> revisions = getEntitiesForRevisions((List<N>) subList, id, reader);

    return new PageImpl<Revision<N, T>>(revisions.getContent(), pageable, revisionNumbers.size());
}

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

@Override
public final <T extends Query> T setPageRequest(Pageable pageable) {
    Assert.notNull(pageable);/*  w ww . j  ava  2s.co  m*/

    this.offset = pageable.getOffset();
    this.rows = pageable.getPageSize();
    return this.addSort(pageable.getSort());
}

From source file:org.oncoblocks.centromere.sql.sqlbuilder.SqlBuilder.java

public SqlBuilder limit(Pageable pageable) {
    limitClause = String.valueOf(pageable.getOffset()) + "," + String.valueOf(pageable.getPageSize());
    return this;
}

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

/**
 * @param criteria//from   w  ww  . java  2 s  . com
 * @param pageable
 */
public SimpleQuery(Criteria criteria, Pageable pageable) {
    super(criteria);

    if (pageable != null) {
        this.offset = pageable.getOffset();
        this.rows = pageable.getPageSize();
        this.addSort(pageable.getSort());
    }
}

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: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");
    }/*  w  w w . j  a v  a 2s  .c om*/

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

}