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:com.epam.ta.reportportal.database.dao.UserRepositoryCustomImpl.java

@Override
public Page<User> searchForUser(String term, Pageable pageable) {
    final String regex = "(?i).*" + Pattern.quote(term.toLowerCase()) + ".*";
    Criteria email = where(User.EMAIL).regex(regex);
    Criteria login = where(LOGIN).regex(regex);
    Criteria fullName = where(FULLNAME_DB_FIELD).regex(regex);
    Criteria criteria = new Criteria().orOperator(email, login, fullName);
    Query query = query(criteria).with(pageable);
    List<User> users = mongoOperations.find(query, User.class);
    return new PageImpl<>(users, pageable, mongoOperations.count(query, User.class));
}

From source file:org.venice.piazza.common.hibernate.dao.deployment.DeploymentDaoImpl.java

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

From source file:am.ik.categolj3.api.entry.EntryRestControllerDocumentation.java

@Test
public void getEntriesPage1() throws Exception {
    when(this.entryService.findAll(anyObject()))
            .thenReturn(new PageImpl<>(mockEntries, new PageRequest(1, 2), 10L));
    this.mockMvc.perform(get("/api/entries").param("page", "1").param("size", "2")).andExpect(status().isOk())
            .andExpect(jsonPath("$.numberOfElements", is(2))).andExpect(jsonPath("$.number", is(1)))
            .andExpect(jsonPath("$.totalElements", is(10)))
            .andExpect(jsonPath("$.content[0].content", is(notNullValue())))
            .andExpect(jsonPath("$.content[0].entryId", is(2)))
            .andExpect(jsonPath("$.content[1].content", is(notNullValue())))
            .andExpect(jsonPath("$.content[1].entryId", is(1))).andDo(document("get-entries-page1"));
}

From source file:org.wallride.repository.PostRepositoryImpl.java

@Override
public Page<Post> search(PostSearchRequest request, Pageable pageable) {
    FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(entityManager);
    QueryBuilder qb = fullTextEntityManager.getSearchFactory().buildQueryBuilder().forEntity(Post.class).get();

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

    junction.must(qb.keyword().onField("drafted").ignoreAnalyzer().matching("_null_").createQuery());

    if (StringUtils.hasText(request.getKeyword())) {
        Analyzer analyzer = fullTextEntityManager.getSearchFactory().getAnalyzer("synonyms");
        String[] fields = new String[] { "title", "body", "tags.name", };
        MultiFieldQueryParser parser = new MultiFieldQueryParser(fields, analyzer);
        parser.setDefaultOperator(QueryParser.Operator.AND);
        Query query = null;/* w  w w. ja  v  a  2s.  co m*/
        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 (request.getStatus() != null) {
        junction.must(qb.keyword().onField("status").matching(request.getStatus()).createQuery());
    }
    if (StringUtils.hasText(request.getLanguage())) {
        junction.must(qb.keyword().onField("language").matching(request.getLanguage()).createQuery());
    }

    if (request.getDateFrom() != null) {
        junction.must(qb.range().onField("date").above(request.getDateFrom()).createQuery());
    }
    if (request.getDateTo() != null) {
        junction.must(qb.range().onField("date").below(request.getDateTo()).createQuery());
    }

    if (!CollectionUtils.isEmpty(request.getTagNames())) {
        BooleanJunction<BooleanJunction> subJunction = qb.bool();
        for (String tagName : request.getTagNames()) {
            subJunction.should(qb.phrase().onField("tags.name").sentence(tagName).createQuery());
        }
        junction.must(subJunction.createQuery());
    }

    if (!CollectionUtils.isEmpty(request.getPostIds())) {
        BooleanJunction<BooleanJunction> bool = qb.bool();
        for (long postId : request.getPostIds()) {
            bool.should(qb.keyword().onField("id").matching(postId).createQuery());
        }
        junction.must(bool.createQuery());
    }

    Query searchQuery = junction.createQuery();

    Session session = (Session) entityManager.getDelegate();
    Criteria criteria = session.createCriteria(Post.class).setFetchMode("cover", FetchMode.JOIN)
            .setFetchMode("tags", FetchMode.JOIN).setFetchMode("categories", FetchMode.JOIN)
            .setFetchMode("customFieldValues", FetchMode.JOIN)
            .setFetchMode("customFieldValues.customField", FetchMode.JOIN)
            .setFetchMode("author", FetchMode.JOIN);

    Sort sort = new Sort(new SortField("sortDate", SortField.Type.STRING, true),
            new SortField("sortId", SortField.Type.LONG, true));

    FullTextQuery persistenceQuery = fullTextEntityManager.createFullTextQuery(searchQuery, Post.class)
            .setCriteriaQuery(criteria).setSort(sort);
    persistenceQuery.setFirstResult(pageable.getOffset());
    persistenceQuery.setMaxResults(pageable.getPageSize());

    int resultSize = persistenceQuery.getResultSize();

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

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

private Page<WeekActivityOverviewDto> getWeekActivityOverviews(UUID userAnonymizedId, Pageable pageable,
        Set<IntervalInactivityDto> missingInactivities) {
    UserAnonymizedDto userAnonymized = userAnonymizedService.getUserAnonymized(userAnonymizedId);
    Interval interval = getInterval(getCurrentWeekDate(userAnonymized), pageable, ChronoUnit.WEEKS);

    List<WeekActivityOverviewDto> weekActivityOverviews = getWeekActivityOverviews(userAnonymizedId,
            missingInactivities, userAnonymized, interval);
    return new PageImpl<>(weekActivityOverviews, pageable,
            getTotalPageableItems(userAnonymized, ChronoUnit.WEEKS));
}

From source file:org.oncoblocks.centromere.sql.GenericJdbcRepository.java

/**
 * {@link RepositoryOperations#findAll}//w  w w.  ja  va 2  s  . co m
 */
public Page<T> findAll(Pageable pageable) {
    SqlBuilder sqlBuilder = getSqlBuilder();
    if (pageable.getSort() != null) {
        sqlBuilder.orderBy(pageable.getSort());
    }
    sqlBuilder.limit(pageable);
    List<T> objects = jdbcTemplate.query(sqlBuilder.toSql(), rowMapper);
    Long rowCount = count();
    return new PageImpl<>(objects, pageable, rowCount);
}

From source file:de.hska.ld.oidc.listeners.LDToSSSEventListener.java

private void checkIfDocumentsHaveAnAttachedEpisode(DocumentReadListEvent event) {
    Page<Document> documentPage = (Page<Document>) event.getSource();
    List<DocumentListItemDto> documentListItemDtoList = new ArrayList<>();

    documentPage.forEach(doc -> {//  www  . ja  va2  s  .  c  o  m
        Long documentId = doc.getId();
        DocumentSSSInfo documentSSSInfo = documentSSSInfoService.getDocumentSSSInfoById(documentId);
        DocumentListItemDto documentListItemDto = new DocumentListItemDto(doc);
        if (documentSSSInfo != null) {
            documentListItemDto.setHasConnectedEpisode(true);
        }
        documentListItemDtoList.add(documentListItemDto);
    });

    try {
        Field pageableField = PageImpl.class.getSuperclass().getDeclaredField("pageable");
        pageableField.setAccessible(true);
        Pageable pageable = (Pageable) pageableField.get(documentPage);
        Page<DocumentListItemDto> documentListItemDtoPage = new PageImpl<DocumentListItemDto>(
                documentListItemDtoList, pageable, documentPage.getTotalElements());
        event.setResultDocument(documentListItemDtoPage);
    } catch (NoSuchFieldException e) {
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        e.printStackTrace();
    }
}

From source file:com.sample.ecommerce.util.ElasticSearchUtil.java

public Page<List> pageOf(String type, String template, Map<String, Object> queryValuesMap, Pageable pageable) {
    Page<List> page = null;
    queryValuesMap.put("size", pageable.getPageSize());
    queryValuesMap.put("from", (pageable.getPageNumber() * pageable.getPageSize()));
    Map<String, Object> searchResponse = searchResponse(type, template, queryValuesMap);
    List<Map<String, Object>> list = resultsOf(searchResponse);
    if (list != null) {
        Integer noOfRecords = (Integer) ((Map<String, Object>) searchResponse.get("hits")).get("total");
        page = new PageImpl(list, pageable, noOfRecords);
    }//from  w ww  .j av  a2  s. c  o m
    return page;
}

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

public Page<DataResourceEntity> getDataResourceListByKeyword(String keyword, Pagination pagination) {
    // Query//from w  ww.  ja v  a2s.co m
    String queryString = String.format(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, pagination.getSortBy());
    query.setParameter(4, pagination.getPerPage());
    query.setParameter(5, pagination.getPage() * pagination.getPerPage());
    List<DataResourceEntity> results = query.getResultList();
    // Count
    query = entityManager.createNativeQuery(KEYWORD_DATARESOURCE_QUERY_COUNT);
    query.setParameter(1, String.format(WILDCARD_STRING_QUERY, keyword));
    query.setParameter(2, String.format(WILDCARD_STRING_QUERY, keyword));
    long count = ((BigInteger) query.getSingleResult()).longValue();
    return new PageImpl<DataResourceEntity>(results, null, count);
}