@Override @JsonProperty("page") @JsonInclude(Include.NON_EMPTY) public PageMetadata getMetadata() { return super.getMetadata(); } }
@ResponseBody @SuppressWarnings({ "unchecked" }) @RequestMapping(value = BASE_MAPPING, method = RequestMethod.GET, produces = { "application/x-spring-data-compact+json", "text/uri-list" }) public Resources<?> getCollectionResourceCompact(@QuerydslPredicate RootResourceInformation resourceinformation, DefaultedPageable pageable, Sort sort, PersistentEntityResourceAssembler assembler) throws ResourceNotFoundException, HttpRequestMethodNotSupportedException { Resources<?> resources = getCollectionResource(resourceinformation, pageable, sort, assembler); List<Link> links = new ArrayList<Link>(resources.getLinks()); for (Resource<?> resource : ((Resources<Resource<?>>) resources).getContent()) { PersistentEntityResource persistentEntityResource = (PersistentEntityResource) resource; links.add(resourceLink(resourceinformation, persistentEntityResource)); } if (resources instanceof PagedResources) { return new PagedResources<Object>(Collections.emptyList(), ((PagedResources<?>) resources).getMetadata(), links); } else { return new Resources<Object>(Collections.emptyList(), links); } }
static List<UberData> extractLinksAndContent(PagedResources<?> resources) { List<UberData> collectionOfResources = extractLinksAndContent((Resources<?>) resources); if (resources.getMetadata() != null ) { collectionOfResources.add(new UberData() .withName("page") .withData(Arrays.asList( new UberData() .withName("number") .withValue(resources.getMetadata().getNumber()), new UberData() .withName("size") .withValue(resources.getMetadata().getSize()), new UberData() .withName("totalElements") .withValue(resources.getMetadata().getTotalElements()), new UberData() .withName("totalPages") .withValue(resources.getMetadata().getTotalPages())))); } return collectionOfResources; }
@Override @JsonIgnore // used by PagedResourcesSerializer instead public PageMetadata getMetadata() { return super.getMetadata(); } }
@Override public void serialize(Resources<?> value, JsonGenerator gen, SerializerProvider provider) throws IOException { Map<String, Object> embeddeds = embeddedMapper.map(value); HalFormsDocument<?> doc; if (value instanceof PagedResources) { doc = HalFormsDocument.empty() // .withEmbedded(embeddeds) // .withPageMetadata(((PagedResources<?>) value).getMetadata()) // .withLinks(value.getLinks()) // .withTemplates(findTemplates(value)); } else { doc = HalFormsDocument.empty() // .withEmbedded(embeddeds) // .withLinks(value.getLinks()) // .withTemplates(findTemplates(value)); } provider .findValueSerializer(HalFormsDocument.class, property) .serialize(doc, gen, provider); }
/** * Provides the paging meta data for this paged resource which include the total number of elements an pages * among others. * * @throws RestClientException when an error occurred while communicating with the service */ public final PagedResources.PageMetadata getMetadata() throws RestClientException { loadIfNecessary(); return responseEntity.getBody().getMetadata(); }
public <T> AlfrescoPageContentListWrapper<T> toAlfrescoContentListWrapper(PagedResources<Resource<T>> pagedResources) { Collection<Resource<T>> pagedResourceContent = pagedResources.getContent(); List<AlfrescoContentEntry<T>> baseContent = pagedResourceContent.stream() .map( resource -> new AlfrescoContentEntry<>(resource.getContent()) ).collect(Collectors.toList()); AlfrescoPageMetadata pagination = pageMetadataConverter.toAlfrescoPageMetadata(pagedResources.getMetadata(), baseContent.size()); return AlfrescoPageContentListWrapper.wrap(baseContent, pagination); } }
public WorkspacePagedResources(PagedResources<T> pagedResources) { this(pagedResources.getContent(), null, pagedResources.getMetadata(), pagedResources.getLinks()); }
/** * Converts HATEOAS resources into Spring Data page. * * @param resources Paged resources. * @param request Pagination specification. * @param <ResourceType> Collection element type. * @return Paged result. */ public static <ResourceType> Page<ResourceType> buildPageFromResources( PagedResources<? extends ResourceType> resources, Pageable request ) { return new PageImpl<>( new ArrayList<>(resources.getContent()), request, resources.getMetadata().getTotalElements() ); } }
@ResponseBody @SuppressWarnings({ "unchecked" }) @RequestMapping(value = BASE_MAPPING, method = RequestMethod.GET, produces = { "application/x-spring-data-compact+json", "text/uri-list" }) public Resources<?> getCollectionResourceCompact(@QuerydslPredicate RootResourceInformation resourceinformation, DefaultedPageable pageable, Sort sort, PersistentEntityResourceAssembler assembler) throws ResourceNotFoundException, HttpRequestMethodNotSupportedException { Resources<?> resources = getCollectionResource(resourceinformation, pageable, sort, assembler); List<Link> links = new ArrayList<Link>(resources.getLinks()); for (Resource<?> resource : ((Resources<Resource<?>>) resources).getContent()) { PersistentEntityResource persistentEntityResource = (PersistentEntityResource) resource; links.add(resourceLink(resourceinformation, persistentEntityResource)); } if (resources instanceof PagedResources) { return new PagedResources<Object>(Collections.emptyList(), ((PagedResources<?>) resources).getMetadata(), links); } else { return new Resources<Object>(Collections.emptyList(), links); } }
return "Error when registering applications from " + uri + ": " + e.getMessage(); long numRegistered = registered.getMetadata().getTotalElements(); return (applications.keySet().size() == numRegistered) ? String.format("Successfully registered applications: %s", applications.keySet()) PagedResources<AppRegistrationResource> registered = appRegistryOperations().importFromResource(uri, force); return String.format("Successfully registered %d applications from '%s'", registered.getMetadata().getTotalElements(), uri);
return "Error when registering applications from " + uri + ": " + e.getMessage(); long numRegistered = registered.getMetadata().getTotalElements(); return (applications.keySet().size() == numRegistered) ? String.format("Successfully registered applications: %s", applications.keySet()) PagedResources<AppRegistrationResource> registered = appRegistryOperations().importFromResource(uri, force); return String.format("Successfully registered %d applications from '%s'", registered.getMetadata().getTotalElements(), uri);
aggregateCounts.add(deepAssembler.toResource(aggregateCount)); return new PagedResources<>(aggregateCounts, resources.getMetadata());
final int currentPage = (int) resources.getMetadata().getNumber(); final int totalPages = (int) resources.getMetadata().getTotalPages();
EmbeddedWrapper wrapper = wrappers.emptyCollectionOf(Person.class); List<EmbeddedWrapper> embedded = Collections.singletonList(wrapper); adminPagedResources = new PagedResources(embedded, adminPagedResources.getMetadata(), adminPagedResources.getLinks());
PagedResources toRender = new PagedResources(pagedResources.getContent(), pagedResources.getMetadata(), filteredLinks); .serialize(toRender, jgen, serializerProvider); PagedResources.PageMetadata metadata = pagedResources.getMetadata(); jgen.writeNumberField("hydra:totalItems", metadata.getTotalElements());
public <R extends ResourceSupport> PagedResources<R> toResource(Pageable pageable, Page<T> page, ResourceAssembler<T, R> assembler) { PagedResources<R> pagedResources = toResource(page, assembler); ExtendedPageMetadata extendedPageMetadata = extendedPageMetadataConverter.toExtendedPageMetadata(pageable.getOffset(), pagedResources.getMetadata()); pagedResources = new PagedResources<>(pagedResources.getContent(), extendedPageMetadata, pagedResources.getLinks()); return pagedResources; } }