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

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

Introduction

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

Prototype

int getPageSize();

Source Link

Document

Returns the number of items to be returned.

Usage

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);
    }/*from  w  w w.  j  a  va 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:org.ngrinder.user.controller.UserController.java

/**
 * Search user list on the given keyword.
 *
 * @param pageable page info//  w w  w . ja  v a 2s .co m
 * @param keywords search keyword.
 * @return json message
 */
@RestAPI
@RequestMapping(value = "/api/search", method = RequestMethod.GET)
public HttpEntity<String> search(User user, @PageableDefaults Pageable pageable,
        @RequestParam(required = true) String keywords) {
    pageable = new PageRequest(pageable.getPageNumber(), pageable.getPageSize(),
            defaultIfNull(pageable.getSort(), new Sort(Direction.ASC, "userName")));
    Page<User> pagedUser = userService.getPagedAll(keywords, pageable);
    List<UserSearchResult> result = newArrayList();
    for (User each : pagedUser) {
        result.add(new UserSearchResult(each));
    }

    final String currentUserId = user.getUserId();
    CollectionUtils.filter(result, new Predicate() {
        @Override
        public boolean evaluate(Object object) {
            UserSearchResult each = (UserSearchResult) object;
            return !(each.getId().equals(currentUserId)
                    || each.getId().equals(ControllerConstants.NGRINDER_INITIAL_ADMIN_USERID));
        }
    });

    return toJsonHttpEntity(result);
}

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

@Override
public Page<OpenLRSEntity> findWithFilters(Map<String, String> filters, Pageable pageable) {
    int offset = (pageable == null) ? 0 : pageable.getOffset();
    int pagesize = (pageable == null) ? 100 : pageable.getPageSize();

    String actor = filters.get(StatementUtils.ACTOR_FILTER);
    String activity = filters.get(StatementUtils.ACTIVITY_FILTER);
    String since = filters.get(StatementUtils.SINCE_FILTER);
    String until = filters.get(StatementUtils.UNTIL_FILTER);
    int limit = getLimit(filters.get(StatementUtils.LIMIT_FILTER));

    FilteredQueryBuilder filterQueryBuilder = null;
    SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();

    if (StringUtils.isNotBlank(actor)) {
        String mailbox = String.format("mailto:%s@adlnet.gov", actor);
        filterQueryBuilder = QueryBuilders.filteredQuery(QueryBuilders.matchAllQuery(),
                FilterBuilders.nestedFilter("actor", FilterBuilders.termFilter("actor.mbox", mailbox)));
    }//from   ww w  .j ava2 s . com

    if (StringUtils.isNotBlank(activity)) {
        if (filterQueryBuilder != null) {
            filterQueryBuilder = QueryBuilders.filteredQuery(filterQueryBuilder,
                    FilterBuilders.nestedFilter("object", FilterBuilders.termFilter("object.id", activity)));
        } else {
            filterQueryBuilder = QueryBuilders.filteredQuery(QueryBuilders.matchAllQuery(),
                    FilterBuilders.nestedFilter("object", FilterBuilders.termFilter("object.id", activity)));
        }
    }

    if (StringUtils.isNotBlank(since) || StringUtils.isNotBlank(until)) {
        FilterBuilder rangeFilter = null;
        if (StringUtils.isNotBlank(since) && StringUtils.isNotBlank(until)) {
            rangeFilter = FilterBuilders.rangeFilter("stored").from(since).to(until);
        } else {
            if (StringUtils.isNotBlank(since)) {
                rangeFilter = FilterBuilders.rangeFilter("stored").from(since).to("now");
            }

            if (StringUtils.isNotBlank(until)) {
                try {

                    DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
                    TimeZone tz = TimeZone.getTimeZone("UTC");
                    formatter.setTimeZone(tz);
                    Date date = (Date) formatter.parse(until);
                    Calendar calendar = Calendar.getInstance();
                    calendar.setTime(date);
                    calendar.add(Calendar.YEAR, -1);
                    rangeFilter = FilterBuilders.rangeFilter("stored")
                            .from(formatter.format(calendar.getTime())).to(until);
                } catch (ParseException e) {
                    log.error(e.getMessage(), e);
                    return null;
                }
            }
        }

        if (filterQueryBuilder != null) {
            filterQueryBuilder = QueryBuilders.filteredQuery(filterQueryBuilder, rangeFilter);
        } else {
            filterQueryBuilder = QueryBuilders.filteredQuery(QueryBuilders.matchAllQuery(), rangeFilter);
        }
    }

    if (limit > 0) {
        pagesize = limit;
    }

    searchSourceBuilder.query(filterQueryBuilder).sort("stored", SortOrder.DESC);
    Search search = new Search.Builder(searchSourceBuilder.toString()).addIndex(STATEMENT_INDEX)
            .addType(STATEMENT_TYPE).setParameter("from", offset).setParameter(Parameters.SIZE, pagesize)
            .build();

    try {
        SearchResult result = jestClient.execute(search);
        //TODO remove deprecated.
        Iterable<Statement> statements = result.getSourceAsObjectList(Statement.class);
        return createPage(statements);
    } catch (IOException e) {
        log.error(e.getMessage(), e);
        e.printStackTrace();
    }
    return null;
}

From source file:com.nuevebit.persistence.repository.JPASearchableRepository.java

@Override
public final List<T> search(S searchCriteria, Pageable pageable) {
    CriteriaBuilder cb = getEntityManager().getCriteriaBuilder();
    CriteriaQuery<T> query = cb.createQuery(getEntityClass());

    Root<T> p = createQueryRoot(query, searchCriteria);
    query.select(p);//  w  w w  .  j  a v  a  2s .  com

    Order sortOrder = getSortOrder(cb);
    if (sortOrder != null) {
        query.orderBy(sortOrder);
    }

    TypedQuery<T> typedQuery = getEntityManager().createQuery(query);
    if (pageable != null) {
        typedQuery.setFirstResult(pageable.getOffset()).setMaxResults(pageable.getPageSize());
    }

    return typedQuery.getResultList();
}

From source file:cn.guoyukun.spring.jpa.repository.RepositoryHelper.java

/**
 * <p>?ql?paramsqlpageable? null?<br/>
 * ?{@see cn.guoyukun.spring.jpa.repository.UserRepository2ImplIT#testFindAll()}
 *
 * @param ql//from  w w  w.j ava  2  s  .c o  m
 * @param pageable null?
 * @param params
 * @param <M>
 * @return
 */
public <M> List<M> findAll(final String ql, final Pageable pageable, final Object... params) {

    Query query = getEntityManager()
            .createQuery(ql + prepareOrder(pageable != null ? pageable.getSort() : null));
    applyEnableQueryCache(query);
    setParameters(query, params);
    if (pageable != null) {
        query.setFirstResult(pageable.getOffset());
        query.setMaxResults(pageable.getPageSize());
    }

    return query.getResultList();
}

From source file:com.linkcm.core.dao.BaseJdbcDao.java

/**
 * sql//from  w ww .  ja  v  a 2 s . c o  m
 * 
 * */
public Page<Map<String, Object>> findPageBySql(Pageable pageable, String sql, final Object... values) {
    String countSql = jdbcDialect.getPaginationCountSql(sql);
    long size = getJdbcTemplate().queryForLong(countSql, values);

    String sortSql = getSortSql(pageable.getSort(), sql);

    String querySql = jdbcDialect.getPaginationQuerySql(sortSql,
            pageable.getPageNumber() * pageable.getPageSize(), pageable.getPageSize());

    List<Map<String, Object>> result = getJdbcTemplate().queryForList(querySql, values);
    return new PageImpl<Map<String, Object>>(result, pageable, size);
}

From source file:cn.guoyukun.spring.jpa.web.bind.method.annotation.PageableMethodArgumentResolver.java

private int getPageSize(Map<String, String[]> pageableMap, Pageable defaultPageRequest) {
    int pageSize = 0;
    try {/*from w ww .  jav  a  2s. co  m*/
        String pageSizeStr = pageableMap.get("size")[0];
        if (pageSizeStr != null) {
            pageSize = Integer.valueOf(pageSizeStr);
        } else {
            pageSize = defaultPageRequest.getPageSize();
        }
    } catch (Exception e) {
        pageSize = defaultPageRequest.getPageSize();
    }

    if (pageSize < minPageSize) {
        pageSize = minPageSize;
    }

    if (pageSize > maxPageSize) {
        pageSize = maxPageSize;
    }
    return pageSize;
}

From source file:com.github.markserrano.jsonquery.jpa.service.FilterService.java

@Override
public List<T> read(BooleanBuilder builder, Pageable page, Class<T> clazz, OrderSpecifier order) {
    String variable = clazz.getSimpleName().substring(0, 1).toLowerCase() + clazz.getSimpleName().substring(1);
    PathBuilder<T> entityPath = new PathBuilder<T>(clazz, variable);
    EntityManager em = emf.createEntityManager();
    EntityPath<T> path = entityPath;

    JPQLQuery result = new JPAQuery(em).from(path).where(builder).orderBy(order);

    if (page != null) {
        result.offset(page.getOffset());
        result.limit(page.getPageSize());
    }/*from  w w  w  . j  a  va2  s.co m*/

    return result.list(entityPath);
}

From source file:com.baoqilai.core.dao.BaseJdbcDao.java

/**
 * sql/*from w ww. j a va 2 s  .  c o m*/
 * 
 * */
public Page<Map<String, Object>> findPageBySql(Pageable pageable, String sql, final Object... values) {
    String countSql = jdbcDialect.getPaginationCountSql(sql);
    @SuppressWarnings("deprecation")
    long size = getJdbcTemplate().queryForLong(countSql, values);

    String sortSql = getSortSql(pageable.getSort(), sql);

    String querySql = jdbcDialect.getPaginationQuerySql(sortSql,
            pageable.getPageNumber() * pageable.getPageSize(), pageable.getPageSize());

    List<Map<String, Object>> result = getJdbcTemplate().queryForList(querySql, values);
    return new PageImpl<Map<String, Object>>(result, pageable, size);
}

From source file:com.uni.dao.etc.UniJpaRepository.java

/**
 * Reads the given {@link TypedQuery} into a {@link Page} applying the given {@link Pageable} and
 * {@link Specification}.//from   ww w  .  j  a  v a  2 s  .  c o m
 * 
 * @param query must not be {@literal null}.
 * @param spec can be {@literal null}.
 * @param pageable can be {@literal null}.
 * @return
 */
private Page<T> readPage(TypedQuery<T> query, Pageable pageable, Specification<T> spec) {

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

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

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