@Override @JsonIgnore public List<Link> getLinks() { return super.getLinks(); } }
@Override public PagedResources<?> deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { JavaType rootType = JacksonHelper.findRootType(this.contentType); UberDocument doc = p.getCodec().readValue(p, UberDocument.class); Resources<?> resources = extractResources(doc, rootType, this.contentType); PageMetadata pageMetadata = extractPagingMetadata(doc); return new PagedResources<>(resources.getContent(), pageMetadata, resources.getLinks()); }
@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); } }
for (Link l1 : source.getLinks()) { collection.add(loadPropertyValue(prop.propertyType, l1)); for (Link l2 : source.getLinks()) { map.put(l2.getRel(), loadPropertyValue(prop.propertyType, l2)); if (source.getLinks().size() != 1) { throw new IllegalArgumentException( "Must send only 1 link to update a property reference that isn't a List or a Map."); prop.accessor.setProperty(prop.property, loadPropertyValue(prop.propertyType, source.getLinks().get(0)));
@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); }
@Override @JsonIgnore public List<Link> getLinks() { return super.getLinks(); } }
@Override public void serialize(Resources<?> value, JsonGenerator jgen, SerializerProvider provider) throws IOException { CollectionJson<?> collectionJson = new CollectionJson() .withVersion("1.0") .withHref(value.getRequiredLink(IanaLinkRelation.SELF.value()).getHref()) .withLinks(withoutSelfLink(value.getLinks())) .withItems(resourcesToCollectionJsonItems(value)) .withQueries(findQueries(value)) .withTemplate(findTemplate(value)); CollectionJsonDocument<?> doc = new CollectionJsonDocument<>(collectionJson); provider .findValueSerializer(CollectionJsonDocument.class, property) .serialize(doc, jgen, provider); }
@Override @JsonSerialize(using = LinkListSerializer.class) @JsonUnwrapped public List<Link> getLinks() { return super.getLinks(); } }
@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); } }
for (Link l1 : source.getLinks()) { collection.add(loadPropertyValue(prop.propertyType, l1)); for (Link l2 : source.getLinks()) { map.put(l2.getRel(), loadPropertyValue(prop.propertyType, l2)); if (source.getLinks().size() != 1) { throw new IllegalArgumentException( "Must send only 1 link to update a property reference that isn't a List or a Map."); prop.accessor.setProperty(prop.property, loadPropertyValue(prop.propertyType, source.getLinks().get(0)));
} else if (object instanceof Resources) { Resources<?> resources = (Resources<?>) object; if(!visitor.visitLinks(resources.getLinks())) { return;
} else if (object instanceof Resources) { Resources<?> resources = (Resources<?>) object; if(!visitor.visitLinks(resources.getLinks())) { return;
objectNode.addLinks(resources.getLinks());
objectNode.addLinks(resources.getLinks());
Resources<?> resources = (Resources<?>) object; objectNode.setLinks(this.toSirenLinks(getNavigationalLinks(resources.getLinks()))); Collection<?> content = resources.getContent(); toSirenEntity(objectNode, content); objectNode.setActions(this.toSirenActions(getActions(resources.getLinks()))); return; } else if (object instanceof ResourceSupport) {
Resources<?> resources = (Resources<?>) object; objectNode.setLinks(this.toSirenLinks(getNavigationalLinks(resources.getLinks()))); Collection<?> content = resources.getContent(); toSirenEntity(objectNode, content); objectNode.setActions(this.toSirenActions(getActions(resources.getLinks()))); return; } else if (object instanceof ResourceSupport) {
writer.endUnorderedList(); writer.writeLinks(resources.getLinks());
writer.endUnorderedList(); writer.writeLinks(resources.getLinks());