List of usage examples for org.springframework.data.domain PageImpl PageImpl
public PageImpl(List<T> content, Pageable pageable, long total)
From source file:lodsve.mongodb.core.GenericMongoRepository.java
public Page<T> findAll(final Pageable pageable) { Long count = count();//from ww w .java 2s . c om List<T> list = findAll(new Query().with(pageable)); return new PageImpl<>(list, pageable, count); }
From source file:uk.ac.ebi.ep.data.repositories.EnzymePortalSummaryRepositoryImpl.java
@Override public Page<EnzymePortalSummary> findEnzymeSummariesByAccessions(List<String> accessions, Pageable pageable) { EntityGraph eGraph = entityManager.getEntityGraph("summary.graph"); eGraph.addAttributeNodes("uniprotAccession"); eGraph.addSubgraph("uniprotAccession").addAttributeNodes("enzymePortalPathwaysSet", "enzymePortalReactionSet", "enzymePortalSummarySet", "enzymePortalDiseaseSet", "enzymePortalCompoundSet", "uniprotXrefSet", "enzymePortalEcNumbersSet"); JPAQuery query = new JPAQuery(entityManager); query.setHint("javax.persistence.fetchgraph", eGraph); BooleanBuilder builder = new BooleanBuilder(); accessions.stream().forEach((accession) -> { builder.or($.uniprotAccession.accession.equalsIgnoreCase(accession)); });// w w w . ja v a2 s. c om query.from($).where(builder); List<EnzymePortalSummary> result = query.distinct().list($).parallelStream().distinct() .collect(Collectors.toList()); return new PageImpl(result, pageable, result.size()); }
From source file:org.wallride.repository.CommentRepositoryImpl.java
@Override public Page<Comment> search(CommentSearchRequest request, Pageable pageable) { FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(entityManager); QueryBuilder qb = fullTextEntityManager.getSearchFactory().buildQueryBuilder().forEntity(Comment.class) .get();// ww w . j a v a 2 s.c o m @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[] { "authorName", "content" }; 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("post.language").matching(request.getLanguage()).createQuery()); } if (request.getPostId() != null) { junction.must(qb.keyword().onField("post.id").matching(request.getPostId()).createQuery()); } if (request.getApproved() != null) { junction.must(qb.keyword().onField("approved").matching(request.getApproved()).createQuery()); } Query searchQuery = junction.createQuery(); Session session = (Session) entityManager.getDelegate(); Criteria criteria = session.createCriteria(Comment.class).setFetchMode("post", FetchMode.JOIN) .setFetchMode("author", FetchMode.JOIN); Sort sort = null; if (pageable.getSort() != null) { if (pageable.getSort().getOrderFor("date") != null) { Order order = pageable.getSort().getOrderFor("date"); sort = new Sort( new SortField("sortDate", SortField.Type.STRING, order.getDirection().equals(Direction.DESC)), new SortField("sortId", SortField.Type.LONG, order.getDirection().equals(Direction.DESC))); } } if (sort == null) { sort = new Sort(new SortField("sortDate", SortField.Type.STRING), new SortField("sortId", SortField.Type.LONG)); } FullTextQuery persistenceQuery = fullTextEntityManager.createFullTextQuery(searchQuery, Comment.class) .setCriteriaQuery(criteria).setSort(sort); persistenceQuery.setFirstResult(pageable.getOffset()); persistenceQuery.setMaxResults(pageable.getPageSize()); int resultSize = persistenceQuery.getResultSize(); @SuppressWarnings("unchecked") List<Comment> results = persistenceQuery.getResultList(); return new PageImpl<>(results, pageable, resultSize); }
From source file:org.openlmis.fulfillment.repository.custom.impl.OrderRepositoryImpl.java
private Page<Order> search(OrderSearchParams params, Set<UUID> processingPeriodIds, Pageable pageable, Set<UUID> availableSupplyingFacilities, Set<UUID> availableRequestingFacilities) { CriteriaBuilder builder = entityManager.getCriteriaBuilder(); CriteriaQuery<Order> query = builder.createQuery(Order.class); query = prepareQuery(query, params, processingPeriodIds, pageable, false, availableSupplyingFacilities, availableRequestingFacilities); CriteriaQuery<Long> countQuery = builder.createQuery(Long.class); countQuery = prepareQuery(countQuery, params, processingPeriodIds, pageable, true, availableSupplyingFacilities, availableRequestingFacilities); Pageable page = null != pageable ? pageable : new PageRequest(0, Integer.MAX_VALUE); Long count = entityManager.createQuery(countQuery).getSingleResult(); List<Order> result = entityManager.createQuery(query).setMaxResults(page.getPageSize()) .setFirstResult(page.getPageSize() * page.getPageNumber()).getResultList(); return new PageImpl<>(result, page, count); }
From source file:org.venice.piazza.common.hibernate.dao.deployment.DeploymentDaoImpl.java
public Page<DeploymentEntity> getDeploymentListByCapabilitiesUrl(String keyword, Pagination pagination) { // Query//w w w . jav a 2 s. com String queryString = String.format(KEYWORD_CAPABILITIES_URL_QUERY, Direction.fromString(pagination.getOrder())); Query query = entityManager.createNativeQuery(queryString, DeploymentEntity.class); query.setParameter(1, String.format(WILDCARD_STRING_QUERY, keyword)); query.setParameter(2, pagination.getSortBy()); query.setParameter(3, pagination.getPerPage()); query.setParameter(4, pagination.getPage() * pagination.getPerPage()); List<DeploymentEntity> results = query.getResultList(); // Count query = entityManager.createNativeQuery(KEYWORD_CAPABILITIES_URL_QUERY_COUNT); query.setParameter(1, String.format(WILDCARD_STRING_QUERY, keyword)); long count = ((BigInteger) query.getSingleResult()).longValue(); return new PageImpl<DeploymentEntity>(results, null, count); }
From source file:org.oncoblocks.centromere.mongodb.GenericMongoRepository.java
/** * {@link RepositoryOperations#findAll}// w w w . ja va 2 s .c o m */ public Page<T> find(Iterable<QueryCriteria> queryCriterias, Pageable pageable) { Criteria criteria = MongoQueryUtils.getQueryFromQueryCriteria(queryCriterias); Query query = new Query(); if (criteria != null) { query.addCriteria(criteria); } List<T> entities = mongoOperations.find(query.with(pageable), model); long count = count(queryCriterias); return new PageImpl<T>(entities, pageable, count); }
From source file:org.terasoluna.gfw.functionaltest.app.el.ElController.java
@RequestMapping(value = "search", method = RequestMethod.GET) public String search(CustomerSearchCriteria criteria, @PageableDefault Pageable pageable, Model model) { // Create Dummy Data List<String> customerList = new ArrayList<String>(); for (int i = 1; i <= 10; i++) { customerList.add("Customer"); }/*from www . jav a2s . c o m*/ Page<String> customer = new PageImpl<String>(customerList, pageable, 100); model.addAttribute("page", customer); return "el/beanQueryOutput"; }
From source file:ru.portal.services.TableServiceImpl.java
@Override public Page<HashMap<String, String>> findAll(String tableOrViewName, Pageable pageable) { List<HashMap<String, String>> result = new ArrayList<>(); EntityType<?> type = null;/*from w w w. j a v a2s. c o m*/ Set<EntityType<?>> set = em.getEntityManagerFactory().getMetamodel().getEntities(); for (EntityType<?> entityType : set) { if (entityType.getBindableJavaType().getAnnotation(PortalTable.class) != null) { if (entityType.getBindableJavaType().getName().equals(tableOrViewName)) { type = entityType; break; } } } Long totalRows = 0L; if (type != null) { Class<?> bindableJavaType = type.getBindableJavaType(); //count CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder(); CriteriaQuery<Long> countQuery = criteriaBuilder.createQuery(Long.class); countQuery.select(criteriaBuilder.count(countQuery.from(bindableJavaType))); totalRows = em.createQuery(countQuery).getSingleResult(); //select CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery<?> cq = cb.createQuery(bindableJavaType); Root<?> root = cq.from(bindableJavaType); // cq.select(root); if (pageable == null) { pageable = new PageRequest(0, 50); } TypedQuery<?> query = em.createQuery(cq); query.setFirstResult(pageable.getPageNumber() * pageable.getPageSize()); query.setMaxResults(pageable.getPageSize()); List<?> all = query.getResultList(); List<String> columns = getTableOrViewMetaData(tableOrViewName); for (Object object : all) { HashMap<String, String> res = new HashMap<>(columns.size()); Class<? extends Object> clazz = object.getClass(); for (String fieldName : columns) { try { Field field = clazz.getDeclaredField(fieldName); field.setAccessible(true); Object fieldValue = field.get(object); res.put(fieldName, fieldValue.toString()); //TODO cast data integer long etc } catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException ex) { Logger.getLogger(TableServiceImpl.class.getName()).log(Level.SEVERE, null, ex); } } result.add(res); } } PageImpl<HashMap<String, String>> list = new PageImpl<>(result, pageable, totalRows); return list; }
From source file:org.venice.piazza.common.hibernate.dao.dataresource.DataResourceDaoImpl.java
public Page<DataResourceEntity> getDataResourceListByUser(String userName, Pagination pagination) { // Query/*from w ww. j a va2 s .c om*/ String queryString = String.format(USERNAME_DATARESOURCE_QUERY, Direction.fromString(pagination.getOrder())); Query query = entityManager.createNativeQuery(queryString, DataResourceEntity.class); query.setParameter(1, String.format(WILDCARD_STRING_QUERY, userName)); query.setParameter(2, pagination.getSortBy()); query.setParameter(3, pagination.getPerPage()); query.setParameter(4, pagination.getPage() * pagination.getPerPage()); List<DataResourceEntity> results = query.getResultList(); // Count query = entityManager.createNativeQuery(USERNAME_DATARESOURCE_QUERY_COUNT); query.setParameter(1, String.format(WILDCARD_STRING_QUERY, userName)); long count = ((BigInteger) query.getSingleResult()).longValue(); return new PageImpl<DataResourceEntity>(results, null, count); }
From source file:org.meruvian.yama.webapi.service.RestUserService.java
@Override public Page<Role> findRoleByUser(String username, Pageable pageable) { User u = getUserByUsernameOrId(username); Page<UserRole> userRoles = userRoleRepository.findByUserId(u.getId(), pageable); List<Role> roles = new ArrayList<Role>(); for (UserRole ur : userRoles) { roles.add(ur.getRole());//from w w w . j a v a 2 s.c o m } return new PageImpl<Role>(roles, pageable, userRoles.getTotalElements()); }