List of usage examples for org.springframework.data.domain PageImpl PageImpl
public PageImpl(List<T> content, Pageable pageable, long total)
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); }