/** * Returns the sorting parameters for the {@link Page}. */ public Sort getSort() { return data.getSort(); } }
@JsonIgnore @Override public Sort getSort() { return delegate.getSort(); }
/** * Initializes link feed. * * @param page Spring Data paged data. */ public PageLinksProvider(Page<?> page) { this.page = page; this.sort = this.buildSort(page.getSort()); }
private Page<Violation> mapBackendToFrontendViolations(final Page<ViolationEntity> backendViolations) { final PageRequest currentPageRequest = new PageRequest( backendViolations.getNumber(), backendViolations.getSize(), backendViolations.getSort()); return new PageImpl<>( backendViolations.getContent().stream().map(entityToDto::convert).collect(toList()), currentPageRequest, backendViolations.getTotalElements()); } }
/** * Creates an url to sort data by fieldName * * @param context execution context * @param fieldName field name to sort * @return sort URL */ public static String createSortUrl(final ITemplateContext context, final String fieldName) { // Params can be prefixed to manage multiple pagination on the same page final String prefix = getParamPrefix(context); final Collection<String> excludedParams = Arrays .asList(new String[] { prefix.concat(SORT), prefix.concat(PAGE) }); final String baseUrl = buildBaseUrl(context, excludedParams); final StringBuilder sortParam = new StringBuilder(); final Page<?> page = findPage(context); final Sort sort = page.getSort(); final boolean hasPreviousOrder = sort != null && sort.getOrderFor(fieldName) != null; if (hasPreviousOrder) { // Sort parameters exists for this field, modify direction Order previousOrder = sort.getOrderFor(fieldName); Direction dir = previousOrder.isAscending() ? Direction.DESC : Direction.ASC; sortParam.append(fieldName).append(COMMA).append(dir.toString().toLowerCase()); } else { sortParam.append(fieldName); } return buildUrl(baseUrl, context).append(SORT).append(EQ).append(sortParam).toString(); }
public static <S, T> Page<T> mapPage(Page<S> source, Class<T> targetClass) { List<S> sourceList = source.getContent(); List<T> list = new ArrayList<>(); for (int i = 0; i < sourceList.size(); i++) { T target = INSTANCE.map(sourceList.get(i), targetClass); list.add(target); } return new PageImpl<>(list, new PageRequest(source.getNumber(), source.getSize(), source.getSort()), source.getTotalElements()); } }
/** * Creates an url to sort data by fieldName * * @param context execution context * @param fieldName field name to sort * @param forcedDir optional, if specified then only this sort direction will be allowed * @return sort URL */ public static String createSortUrl(final ITemplateContext context, final String fieldName, final Direction forcedDir) { // Params can be prefixed to manage multiple pagination on the same page final String prefix = getParamPrefix(context); final Collection<String> excludedParams = Arrays .asList(new String[] { prefix.concat(SORT), prefix.concat(PAGE) }); final String baseUrl = buildBaseUrl(context, excludedParams); final StringBuilder sortParam = new StringBuilder(); final Page<?> page = findPage(context); final Sort sort = page.getSort(); final boolean hasPreviousOrder = sort != null && sort.getOrderFor(fieldName) != null; if (forcedDir != null) { sortParam.append(fieldName).append(COMMA).append(forcedDir.toString().toLowerCase()); } else if (hasPreviousOrder) { // Sort parameters exists for this field, modify direction Order previousOrder = sort.getOrderFor(fieldName); Direction dir = previousOrder.isAscending() ? Direction.DESC : Direction.ASC; sortParam.append(fieldName).append(COMMA).append(dir.toString().toLowerCase()); } else { sortParam.append(fieldName); } return buildUrl(baseUrl, context).append(SORT).append(EQ).append(sortParam).toString(); }
public final Page<Target> convertToPage(Page<Source> sourcePage, Map<String, Object> parameters) { List<Target> targets = new ArrayList(sourcePage.getContent().size()); for (Source source : sourcePage) { targets.add(convert(source, parameters)); } Pageable pageable = new PageRequest(sourcePage.getNumber(), sourcePage.getSize(), sourcePage.getSort()); Page<Target> targetPage = new PageImpl(targets, pageable, sourcePage.getTotalElements()); return targetPage; }
/** * Returns paginationURL after setting specified page number and display count to it * @param pageIndex index of page number (page index is start with 0). * @return String Pagination URL with URL page number and display count set to it */ public String getPageUrl(int pageIndex) { Map<String, Object> attr = createAttributeMap(pageIndex, page.getSize(), page.getSort()); StringBuilder pageUriBuilder = new StringBuilder(pageUri.expand(attr) .encode().toUriString()); if (StringUtils.hasLength(criteriaQuery)) { if (pageUri.getQueryParams().isEmpty()) { pageUriBuilder.append("?"); } else { pageUriBuilder.append("&"); } pageUriBuilder.append(criteriaQuery); } return pageUriBuilder.toString(); }
@Override protected void doProcess(ITemplateContext context, IProcessableElementTag tag, AttributeName attributeName, String attributeValue, IElementTagStructureHandler structureHandler) { String attrValue = String.valueOf(Expressions.evaluate(context, attributeValue)).trim(); Page<?> page = PageUtils.findPage(context); String url = PageUtils.createSortUrl(context, attrValue); // Append class to the element if sorted by this field Sort sort = page.getSort(); boolean isSorted = sort != null && sort.getOrderFor(attributeValue) != null; String clas = isSorted ? SORTED_PREFIX.concat(sort.getOrderFor(attributeValue).getDirection().toString().toLowerCase()) : EMPTY; structureHandler.setAttribute(HREF, url); String currentClass = tag.getAttributeValue(CLASS); structureHandler.setAttribute(CLASS, Strings.concat(currentClass, BLANK, clas)); }
@Override protected void doProcess(ITemplateContext context, IProcessableElementTag tag, AttributeName attributeName, String attributeValue, IElementTagStructureHandler structureHandler) { String attrValue = String.valueOf(Expressions.evaluate(context, attributeValue)).trim(); Page<?> page = PageUtils.findPage(context); String url = PageUtils.createSortUrl(context, attrValue, getForcedDirection()); // Append class to the element if sorted by this field Sort sort = page.getSort(); boolean isSorted = sort != null && sort.getOrderFor(attrValue) != null; String clas = isSorted ? SORTED_PREFIX.concat(sort.getOrderFor(attrValue).getDirection().toString().toLowerCase()) : EMPTY; structureHandler.setAttribute(HREF, url); String currentClass = tag.getAttributeValue(CLASS); structureHandler.setAttribute(CLASS, Strings.concat(currentClass, BLANK, clas)); }
public PlatformPageImpl(Page page) { super(page.getContent(), new PageRequest(page.getNumber(), page.getSize(), page.getSort()), page.getTotalElements()); this.number = page.getNumber(); this.size = page.getSize(); this.totalPages = page.getTotalPages(); this.numberOfElements = page.getNumberOfElements(); this.totalElements = page.getTotalElements(); this.first = page.isFirst(); this.last = page.isLast(); this.content = page.getContent(); this.sort = page.getSort(); }
private static PageRequestDto getPageRequest(org.springframework.data.domain.Page<?> springPage) { if (springPage == null) { return null; } if (springPage instanceof SpringPageImpl && ((SpringPageImpl<?>) springPage).getPageable() != null) { return fromSpringPageRequest(((SpringPageImpl<?>) springPage).getPageable()); } PageRequestDto pageRequest = new PageRequestDto(); pageRequest.setComparatorItem(ComparatorSpringUtils.fromSort(springPage.getSort())); pageRequest.setPageNumber(springPage.getNumber()); pageRequest.setPageSize(springPage.getSize()); return pageRequest; }
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; }
public static SearchEntity convertObj(Page page){ SearchEntity searchEntity = new SearchEntity(); searchEntity.setObject(page.getContent()); searchEntity.setPage(page.getNumber()); searchEntity.setSize(page.getSize()); searchEntity.setSort(page.getSort()); searchEntity.setTotalPage(page.getTotalPages()); long totalElements = page.getTotalElements(); searchEntity.setNum(totalElements); return searchEntity; }
public void set(Page pages) { this.setFirst(pages.isFirst()); this.setLast(pages.isLast()); this.setNumber(pages.getNumber()); this.setNumberOfElements(pages.getNumberOfElements()); this.setSize(pages.getSize()); this.setSort(pages.getSort()); this.setTotalElements(pages.getTotalElements()); this.setTotalPages(pages.getTotalPages()); } }
private Page<LifecylceDTO> mapToDto(final Page<LifecycleEntity> lifecycleEntities) { final List<LifecylceDTO> lifecylceDTOList = newArrayList(); for (final LifecycleEntity lifecycleEntity : lifecycleEntities) { final LifecylceDTO lifecylceDTO = new LifecylceDTO(); lifecylceDTO.setApplication(lifecycleEntity.getApplicationEntity().getName()); lifecylceDTO.setCreated(lifecycleEntity.getCreated()); lifecylceDTO.setEventDate(lifecycleEntity.getEventDate()); lifecylceDTO.setEventType(lifecycleEntity.getEventType()); lifecylceDTO.setImageID(lifecycleEntity.getImageId()); lifecylceDTO.setImageName(lifecycleEntity.getImageName()); lifecylceDTO.setInstanceBootTime(lifecycleEntity.getInstanceBootTime()); lifecylceDTO.setInstanceId(lifecycleEntity.getInstanceId()); lifecylceDTO.setRegion(lifecycleEntity.getRegion()); lifecylceDTO.setVersion(lifecycleEntity.getVersionEntity().getName()); lifecylceDTOList.add(lifecylceDTO); } final PageRequest currentPageRequest = new PageRequest( lifecycleEntities.getNumber(), lifecycleEntities.getSize(), lifecycleEntities.getSort()); return new PageImpl<>(lifecylceDTOList, currentPageRequest, lifecycleEntities.getTotalElements()); } }