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:com.ethlo.geodata.GeodataServiceImpl.java

@Override
public Page<Country> findCountries(Pageable pageable) {
    final List<Country> content = geoNamesRepository.getCountries().values().stream().skip(pageable.getOffset())
            .limit(pageable.getPageSize()).collect(Collectors.toList());
    return new PageImpl<>(content, pageable, geoNamesRepository.getCountries().size());
}

From source file:org.apereo.openlrs.storage.aws.elasticsearch.XApiOnlyAwsElasticsearchTierTwoStorage.java

@Override
public Page<OpenLRSEntity> findAll(Pageable pageable) {
    SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
    searchSourceBuilder.query(QueryBuilders.matchAllQuery());
    Search search = new Search.Builder(searchSourceBuilder.toString()).addIndex(STATEMENT_INDEX)
            .addType(STATEMENT_TYPE).setParameter("from", pageable.getOffset())
            .setParameter(Parameters.SIZE, pageable.getPageSize()).build();

    try {//from  www .j a va 2s.co  m
        SearchResult result = jestClient.execute(search);
        //TODO remove deprecated.
        Iterable<Statement> iterableStatements = result.getSourceAsObjectList(Statement.class);
        return createPage(iterableStatements);
    } catch (IOException e) {
        log.error(e.getMessage(), e);
        e.printStackTrace();
    }
    return null;
}

From source file:org.apereo.openlrs.storage.aws.elasticsearch.XApiOnlyAwsElasticsearchTierTwoStorage.java

private Iterable<Statement> queryMetadataForIdThenGetAllDocsWithIds(SearchSourceBuilder searchSourceBuilder,
        Pageable pageable) {//from ww  w  .  jav  a2 s.c om
    try {
        //First query the metadata
        if (log.isDebugEnabled()) {
            log.debug(searchSourceBuilder.toString());
        }
        Search search = new Search.Builder(searchSourceBuilder.toString()).addIndex(METADATA_INDEX)
                .setParameter("from", pageable.getOffset())
                .setParameter(Parameters.SIZE, pageable.getPageSize()).build();
        SearchResult result = jestClient.execute(search);
        List<StatementMetadata> metadata = result.getSourceAsObjectList(StatementMetadata.class);

        //Second get Doc with IDs
        List<Doc> docs = new ArrayList<Doc>();
        for (StatementMetadata d : metadata) {
            docs.add(new Doc(STATEMENT_INDEX, STATEMENT_TYPE, d.getStatementId()));
        }

        MultiGet multiget = new MultiGet.Builder.ByDoc(docs).build();
        JestResult results = jestClient.execute(multiget);
        Iterable<Statement> statements = results.getSourceAsObjectList(Statement.class);
        return statements;
    } catch (IOException e) {
        log.error(e.getMessage(), e);
        e.printStackTrace();
    }
    return null;
}

From source file:com.ethlo.geodata.GeodataServiceImpl.java

@Override
public Page<GeoLocation> findChildren(long locationId, Pageable pageable) {
    final Node node = nodes.get(locationId);
    final long total = node.getChildren().size();
    final List<Long> ids = node.getChildren().stream().skip(pageable.getOffset()).limit(pageable.getPageSize())
            .map(Node::getId).collect(Collectors.toList());
    final List<GeoLocation> content = findByIds(ids).stream().filter(Objects::nonNull)
            .collect(Collectors.toList());

    content.sort((a, b) -> a.getName().compareTo(b.getName()));
    return new PageImpl<>(content, pageable, total);
}

From source file:nu.yona.server.analysis.service.ActivityService.java

private Interval getInterval(LocalDate currentUnitDate, Pageable pageable, ChronoUnit timeUnit) {
    LocalDate startDate = currentUnitDate.minus(pageable.getOffset() + pageable.getPageSize() - 1L, timeUnit);
    LocalDate endDate = currentUnitDate.minus(pageable.getOffset() - 1L, timeUnit);
    return Interval.createInterval(startDate, endDate);
}

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()));
            }/*from w  ww. ja  va  2  s.com*/
        }
    }

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

    return criteria;
}

From source file:org.terasoluna.tourreservation.domain.repository.tourinfo.TourInfoRepositoryImpl.java

protected List<TourInfo> findTourInfo(TourInfoSearchCriteria criteria, Pageable pageable) {

    String q = buildJpql(criteria.getTourDays(), criteria.getBasePrice());
    TypedQuery<TourInfo> query = entityManager.createQuery(q, TourInfo.class);

    query.setParameter("adultCount", criteria.getAdultCount());
    query.setParameter("childCount", criteria.getChildCount());
    query.setParameter("depDay", criteria.getDepDate());
    query.setParameter("depCode", criteria.getDepCode());
    query.setParameter("arrCode", criteria.getArrCode());
    if (criteria.getTourDays() != 0) {
        query.setParameter("tourDays", criteria.getTourDays());
    }//from w  ww  . j a  v a 2 s  . c  o m
    if (criteria.getBasePrice() != 0) {
        query.setParameter("basePrice", criteria.getBasePrice());
    }

    query.setFirstResult(pageable.getOffset());
    query.setMaxResults(pageable.getPageSize());

    List<TourInfo> tourInfoList = query.getResultList();
    return tourInfoList;
}

From source file:com.frank.search.solr.repository.query.AbstractSolrQuery.java

protected Pageable getLimitingPageable(final Pageable source, final int limit) {

    if (source == null) {
        return new SolrPageRequest(0, limit);
    }/*from  ww w. j av  a2 s  .  co m*/

    return new PageRequest(source.getPageNumber(), source.getPageSize(), source.getSort()) {

        private static final long serialVersionUID = 8100166028148948968L;

        @Override
        public int getOffset() {
            return source.getOffset();
        }

        @Override
        public int getPageSize() {
            return limit;
        }

    };
}

From source file:cn.edu.zjnu.acm.judge.mapper.BestSubmissionsBuilder.java

public static String bestSubmissions(@Param("problemId") long problemId, @Param("pageable") Pageable pageable) {
    Set<String> dejaVu = new TreeSet<>(String.CASE_INSENSITIVE_ORDER);
    Sort sort = Optional.ofNullable(pageable.getSort()).map(s -> s.and(DEFAULT_SORT)).orElse(DEFAULT_SORT);
    Sort.Order[] orders = StreamSupport.stream(sort.spliterator(), false)
            .filter(order -> ALLOW_COLUMNS.contains(order.getProperty()) && dejaVu.add(order.getProperty()))
            .toArray(Sort.Order[]::new);
    final int length = orders.length;
    log.debug("{}", Arrays.asList(orders));

    StringBuilder sb = new StringBuilder(
            "select " + SubmissionMapper.LIST_COLUMNS + " from solution s where problem_id=").append(problemId)
                    .append(" and score=100 ");
    for (int i = length - 1; i >= 0; --i) {
        sb.append("and(user_id");
        for (int j = 0; j <= i; ++j) {
            sb.append(',').append(orders[j].getProperty());
        }//  www  . j ava 2 s .  c om
        sb.append(")in(select user_id");
        for (int j = 0; j < i; ++j) {
            sb.append(',').append(orders[j].getProperty());
        }
        sb.append(',').append(orders[i].isAscending() ? "min" : "max").append("(")
                .append(orders[i].getProperty()).append(")").append(orders[i].getProperty())
                .append(" from solution where problem_id=").append(problemId).append(" and score=100 ");
    }
    for (int i = 0; i < length; ++i) {
        sb.append("group by user_id)");
    }
    if (length > 0) {
        sb.append(" order by ");
        for (int i = 0; i < length; ++i) {
            if (i > 0) {
                sb.append(",");
            }
            sb.append(orders[i].getProperty());
            if (!orders[i].isAscending()) {
                sb.append(" desc");
            }
        }
    }
    return sb.append(" limit ").append(pageable.getOffset()).append(",").append(pageable.getPageSize())
            .toString();
}