@JsonIgnore @Override public Pageable nextPageable() { return delegate.nextPageable(); }
/** * {@inheritDoc} */ @Override public String getNext(String baseUrl) { return baseUrl + String.valueOf(this.page.nextPageable().getPageNumber()) + this.sort; }
@Override @Transactional(propagation = Propagation.NOT_SUPPORTED) public void forEachTenant(final Consumer<String> consumer) { Page<String> tenants; Pageable query = new PageRequest(0, MAX_TENANTS_QUERY); do { tenants = findTenants(query); tenants.forEach(tenant -> tenantAware.runAsTenant(tenant, () -> { try { consumer.accept(tenant); } catch (final RuntimeException ex) { LOGGER.error("Exception on forEachTenant execution for tenant {}. Continue with next tenant.", tenant, ex); } return null; })); } while (tenants.hasNext() && (query = tenants.nextPageable()) != null); } }
@Override @Transactional(propagation = Propagation.NOT_SUPPORTED) // Exception squid:S2229 - calling findTenants without transaction is // intended in this case @SuppressWarnings("squid:S2229") public void forEachTenant(final Consumer<String> consumer) { Page<String> tenants; Pageable query = PageRequest.of(0, MAX_TENANTS_QUERY); do { tenants = findTenants(query); tenants.forEach(tenant -> tenantAware.runAsTenant(tenant, () -> { try { consumer.accept(tenant); } catch (final RuntimeException ex) { LOGGER.error("Exception on forEachTenant execution for tenant {}. Continue with next tenant.", tenant, ex); } return null; })); } while (tenants.hasNext() && (query = tenants.nextPageable()) != null); } }
@Override public void indexFull() { this.cleanOrphanIndex(); String newIndexName = this.createIndex(); try { Pageable pageable = PageRequest.of(0, 1000); Page<DTO> pagedDTOs = null; do { pagedDTOs = this.service.getAll(pageable); List<DTO> dtos = pagedDTOs.getContent(); for (DTO dto : dtos) { this.bulkProcessor.add(this.prepareIndexRequest(newIndexName, dto).request()); } pageable = pagedDTOs.nextPageable(); } while (pagedDTOs.hasNext()); this.bulkProcessor.flush(); this.switchIndex(newIndexName); logger.info("Full indexing of {} {} ended.", pagedDTOs.getTotalElements(), this.configuration.getAlias()); } catch (Exception e) { this.client.admin().indices().prepareDelete(newIndexName).get(); logger.error("Can't index {} elements", this.configuration.getAlias(), e); } }
private <R> PagedResources<R> addPaginationLinks(PagedResources<R> resources, Page<?> page, Optional<Link> link) { UriTemplate base = getUriTemplate(link); boolean isNavigable = page.hasPrevious() || page.hasNext(); if (isNavigable || forceFirstAndLastRels) { resources.add(createLink(base, PageRequest.of(0, page.getSize(), page.getSort()), Link.REL_FIRST)); } if (page.hasPrevious()) { resources.add(createLink(base, page.previousPageable(), Link.REL_PREVIOUS)); } Link selfLink = link.map(it -> it.withSelfRel())// .orElseGet(() -> createLink(base, page.getPageable(), Link.REL_SELF)); resources.add(selfLink); if (page.hasNext()) { resources.add(createLink(base, page.nextPageable(), Link.REL_NEXT)); } if (isNavigable || forceFirstAndLastRels) { int lastIndex = page.getTotalPages() == 0 ? 0 : page.getTotalPages() - 1; resources.add(createLink(base, PageRequest.of(lastIndex, page.getSize(), page.getSort()), Link.REL_LAST)); } return resources; }
private void assignTargetTag(final DragAndDropEvent event) { final AbstractSelectTargetDetails dropData = (AbstractSelectTargetDetails) event.getTargetDetails(); final Object distItemId = dropData.getItemIdOver(); final String targetTagName = HawkbitCommonUtil.removePrefix( event.getTransferable().getSourceComponent().getId(), SPUIDefinitions.TARGET_TAG_ID_PREFIXS); // get all the targets assigned to the tag // assign dist to those targets targetTagManagement.getByName(targetTagName).ifPresent(tag -> { Pageable query = PageRequest.of(0, 500); Page<Target> assignedTargets; boolean assigned = false; do { assignedTargets = targetManagement.findByTag(query, tag.getId()); if (assignedTargets.hasContent()) { assignTargetToDs(getItem(distItemId), assignedTargets.getContent()); assigned = true; } } while (assignedTargets.hasNext() && (query = assignedTargets.nextPageable()) != null); if (assigned) { getNotification() .displaySuccess(getI18n().getMessage("message.no.targets.assiged.fortag", targetTagName)); } }); }
private void assignTargetTag(final DragAndDropEvent event) { final AbstractSelectTargetDetails dropData = (AbstractSelectTargetDetails) event.getTargetDetails(); final Object distItemId = dropData.getItemIdOver(); final String targetTagName = HawkbitCommonUtil.removePrefix( event.getTransferable().getSourceComponent().getId(), SPUIDefinitions.TARGET_TAG_ID_PREFIXS); // get all the targets assigned to the tag // assign dist to those targets targetTagManagement.getByName(targetTagName).ifPresent(tag -> { Pageable query = new PageRequest(0, 500); Page<Target> assignedTargets; boolean assigned = false; do { assignedTargets = targetManagement.findByTag(query, tag.getId()); if (assignedTargets.hasContent()) { assignTargetToDs(getItem(distItemId), assignedTargets.getContent()); assigned = true; } } while (assignedTargets.hasNext() && (query = assignedTargets.nextPageable()) != null); if (assigned) { getNotification().displaySuccess( getI18n().getMessage("message.no.targets.assiged.fortag", new Object[] { targetTagName })); } }); }
public static <T> PageDTO<T> build(Page<T> p) { if (p == null){ return null; } else { PageDTO<T> page = new PageDTO<>(); page.setContent(p.getContent()); page.setHasContent(p.hasContent()); page.setNumber(p.getNumber()); page.setNumberOfElements(p.getNumberOfElements()); page.setSize(p.getSize()); page.setTotalElements(p.getTotalElements()); page.setTotalPages(p.getTotalPages()); page.setHasNextPage(p.hasNext()); page.setHasPreviousPage(p.hasPrevious()); page.setFirst(p.isFirst()); page.setLast(p.isLast()); if (p.previousPageable() != null) { page.setPreviousPage(p.previousPageable().getPageNumber()); } if (p.nextPageable() != null) { page.setNextPage(p.nextPageable().getPageNumber()); } return page; } }