Example usage for org.springframework.data.domain PageImpl PageImpl

List of usage examples for org.springframework.data.domain PageImpl PageImpl

Introduction

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

Prototype

public PageImpl(List<T> content, Pageable pageable, long total) 

Source Link

Document

Constructor of PageImpl .

Usage

From source file:br.com.joaops.smt.service.SystemDatabaseServiceImpl.java

@Override
public Page<SystemDatabaseDto> searchAllSystemDatabase(Pageable p) {
    List<SystemDatabaseDto> list = new ArrayList<>();
    Page<SystemDatabase> systemDatabases = systemDatabaseRepository.findAll(p);
    for (SystemDatabase systemDatabase : systemDatabases) {
        SystemDatabaseDto systemDatabaseDto = new SystemDatabaseDto();
        mapper.map(systemDatabase, systemDatabaseDto);
        list.add(systemDatabaseDto);//from   w ww .  ja v a 2 s  .  c om
    }
    Page<SystemDatabaseDto> page = null;
    if (!list.isEmpty()) {
        page = new PageImpl<>(list, p, list.size());
    }
    return page;
}

From source file:org.jblogcms.core.post.service.PostServiceImpl.java

@Override
@Transactional(readOnly = true)/* w w w . j ava  2  s. co  m*/
public Page<Post> findBlogPosts(Long blogId, Pageable pageable, Long currentAccountId) {
    Page<Post> posts = postRepository.findBlogPosts(blogId, pageable);

    if (!posts.getContent().isEmpty()) {
        List<Long> postIds = new ArrayList<>(posts.getContent().size());
        for (Post post : posts) {
            postIds.add(post.getId());
        }
        List<Post> postList = postRepository.findPostsByPostIds(postIds);
        posts = new PageImpl<Post>(postList, pageable, postList.size());

        posts = postToolService.addItemRatesToItemPage(posts, currentAccountId);
        posts = postToolService.addItemRelationsToItemPage(posts, currentAccountId);
    }
    return posts;
}

From source file:it.f2informatica.core.gateway.mongodb.ConsultantRepositoryGatewayMongoDB.java

@Override
public Page<ConsultantModel> paginateConsultants(final ConsultantSearchCriteria searchCriteria,
        Pageable pageable) {//from  w w w . j  av a  2 s .  c o  m
    MongoQueryPredicate<Consultant> queryPredicate = new MongoQueryPredicate<Consultant>(Consultant.class) {
        @Override
        public Query queryPredicate() {
            final Query query = new Query();
            if (StringUtils.hasText(searchCriteria.getName())) {
                query.addCriteria(where("firstName").regex(searchCriteria.getName(), "i"));
            }
            if (StringUtils.hasText(searchCriteria.getLastName())) {
                query.addCriteria(where("lastName").regex(searchCriteria.getLastName(), "i"));
            }
            if (StringUtils.hasText(searchCriteria.getSkills())) {
                query.addCriteria(where("skills").in(searchCriteria.getSkills().split(",")));
            }
            return query;
        }
    };
    Page<Consultant> consultantPage = consultantRepository.findAll(queryPredicate, pageable);
    return new PageImpl<>(consultantToModelConverter.convertList(consultantPage.getContent()), pageable,
            consultantPage.getTotalElements());
}

From source file:org.venice.piazza.common.hibernate.dao.dataresource.DataResourceDaoImpl.java

public Page<DataResourceEntity> getDataResourceForUserAndKeyword(String keyword, String userName,
        Pagination pagination) {/*  www.j a v a2s. co m*/
    // Query
    String queryString = String.format(USERNAME_AND_KEYWORD_DATARESOURCE_QUERY,
            Direction.fromString(pagination.getOrder()));
    Query query = entityManager.createNativeQuery(queryString, DataResourceEntity.class);
    query.setParameter(1, String.format(WILDCARD_STRING_QUERY, keyword));
    query.setParameter(2, String.format(WILDCARD_STRING_QUERY, keyword));
    query.setParameter(3, String.format(WILDCARD_STRING_QUERY, userName));
    query.setParameter(4, pagination.getSortBy());
    query.setParameter(5, pagination.getPerPage());
    query.setParameter(6, pagination.getPage() * pagination.getPerPage());
    List<DataResourceEntity> results = query.getResultList();
    // Count
    query = entityManager.createNativeQuery(USERNAME_AND_KEYWORD_DATARESOURCE_QUERY_COUNT);
    query.setParameter(1, String.format(WILDCARD_STRING_QUERY, keyword));
    query.setParameter(2, String.format(WILDCARD_STRING_QUERY, keyword));
    query.setParameter(3, String.format(WILDCARD_STRING_QUERY, userName));
    long count = ((BigInteger) query.getSingleResult()).longValue();
    return new PageImpl<DataResourceEntity>(results, null, count);
}

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

Page<Entry> search(QueryBuilder query, Pageable pageable, SearchOptions options) {
    try {//from   w w w. j a v a 2 s .  c  o  m
        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:org.wallride.repository.CategoryRepositoryImpl.java

@Override
public Page<Category> search(CategorySearchRequest request, Pageable pageable) {
    FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(entityManager);
    QueryBuilder qb = fullTextEntityManager.getSearchFactory().buildQueryBuilder().forEntity(Category.class)
            .get();/*w w w.  jav a2 s. com*/

    @SuppressWarnings("rawtypes")
    BooleanJunction<BooleanJunction> junction = qb.bool();
    junction.must(qb.all().createQuery());

    if (StringUtils.hasText(request.getKeyword())) {
        Analyzer analyzer = fullTextEntityManager.getSearchFactory().getAnalyzer("synonyms");
        String[] fields = new String[] { "name" };
        MultiFieldQueryParser parser = new MultiFieldQueryParser(fields, analyzer);
        parser.setDefaultOperator(QueryParser.Operator.AND);
        Query query = null;
        try {
            query = parser.parse(request.getKeyword());
        } catch (ParseException e1) {
            try {
                query = parser.parse(QueryParser.escape(request.getKeyword()));
            } catch (ParseException e2) {
                throw new RuntimeException(e2);
            }
        }
        junction.must(query);
    }

    if (StringUtils.hasText(request.getLanguage())) {
        junction.must(qb.keyword().onField("language").matching(request.getLanguage()).createQuery());
    }

    Query searchQuery = junction.createQuery();

    Session session = (Session) entityManager.getDelegate();
    Criteria criteria = session.createCriteria(Category.class);

    Sort sort = new Sort(new SortField("sortName", SortField.Type.STRING));

    FullTextQuery persistenceQuery = fullTextEntityManager.createFullTextQuery(searchQuery, Category.class)
            .setCriteriaQuery(criteria).setSort(sort);
    if (pageable != null) {
        persistenceQuery.setFirstResult(pageable.getOffset());
        persistenceQuery.setMaxResults(pageable.getPageSize());
    }

    int resultSize = persistenceQuery.getResultSize();

    @SuppressWarnings("unchecked")
    List<Category> results = persistenceQuery.getResultList();
    return new PageImpl<>(results, pageable, resultSize);
}

From source file:edu.zipcloud.cloudstreetmarket.core.services.CommunityServiceImpl.java

@Override
public Page<UserActivityDTO> getPublicActivity(Pageable pageable) {
    Page<Action> actions = actionRepository.findAll(pageable);
    List<UserActivityDTO> result = transform(actions);
    return new PageImpl<>(result, pageable, actions.getTotalElements());
}

From source file:it.f2informatica.pagination.services.PaginationServiceImpl.java

@Override
public Page<Tuple> getPaginatedResult(QueryParameters parameters, JPAQuery jpaQuery, Expression<?>... args) {
    Optional<OrderSpecifier> orderSpecifier = getOrderSpecifier(parameters, args);
    if (orderSpecifier.isPresent()) {
        jpaQuery.orderBy(orderSpecifier.get());
    }/*from www .  ja v a  2 s  .com*/
    List<Tuple> result = jpaQuery.offset(parameters.getDisplayStart()).limit(parameters.getSize()).list(args);
    return new PageImpl<>(result, pageableFactory.getPageable(parameters), jpaQuery.count());
}

From source file:org.venice.piazza.common.hibernate.dao.job.JobDaoImpl.java

public Page<JobEntity> getJobListByUser(String userName, Pagination pagination) {
    // Query/*  w w  w.ja  va 2 s .c  om*/
    String queryString = String.format(USERNAME_JOB_QUERY, Direction.fromString(pagination.getOrder()));
    Query query = entityManager.createNativeQuery(queryString, JobEntity.class);
    query.setParameter(1, userName);
    query.setParameter(2, pagination.getSortBy());
    query.setParameter(3, pagination.getPerPage());
    query.setParameter(4, pagination.getPage() * pagination.getPerPage());
    List<JobEntity> results = query.getResultList();
    // Count
    query = entityManager.createNativeQuery(USERNAME_JOB_QUERY_COUNT);
    query.setParameter(1, userName);
    long count = ((BigInteger) query.getSingleResult()).longValue();
    return new PageImpl<JobEntity>(results, null, count);
}

From source file:org.venice.piazza.common.hibernate.dao.service.ServiceDaoImpl.java

public Page<ServiceEntity> getServiceList(Pagination pagination) {
    // Query/* w  ww  .  j av a  2 s.  co  m*/
    String queryString = String.format(SERVICE_QUERY, Direction.fromString(pagination.getOrder()));
    Query query = entityManager.createNativeQuery(queryString, ServiceEntity.class);
    query.setParameter(1, pagination.getSortBy());
    query.setParameter(2, pagination.getPerPage());
    query.setParameter(3, pagination.getPage() * pagination.getPerPage());
    List<ServiceEntity> results = query.getResultList();
    // Count
    query = entityManager.createNativeQuery(SERVICE_QUERY_COUNT);
    long count = ((BigInteger) query.getSingleResult()).longValue();
    return new PageImpl<ServiceEntity>(results, null, count);
}