From dcf21c04cf510cfd5314dcf91474d9fd7d201db6 Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Thu, 29 Nov 2018 15:25:48 +0100 Subject: [PATCH 1/3] [Task 57718] added the leftItem and rightItem links to the relationship endpoint return --- .../relation/RelationshipHalLinkFactory.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 dspace-spring-rest/src/main/java/org/dspace/app/rest/link/relation/RelationshipHalLinkFactory.java diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/link/relation/RelationshipHalLinkFactory.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/link/relation/RelationshipHalLinkFactory.java new file mode 100644 index 0000000000..d2729027a9 --- /dev/null +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/link/relation/RelationshipHalLinkFactory.java @@ -0,0 +1,33 @@ +package org.dspace.app.rest.link.relation; + +import java.util.LinkedList; + +import org.atteo.evo.inflector.English; +import org.dspace.app.rest.RestResourceController; +import org.dspace.app.rest.link.HalLinkFactory; +import org.dspace.app.rest.model.ItemRest; +import org.dspace.app.rest.model.hateoas.RelationshipResource; +import org.springframework.data.domain.Pageable; +import org.springframework.hateoas.Link; +import org.springframework.stereotype.Component; + +@Component +public class RelationshipHalLinkFactory extends HalLinkFactory { + protected void addLinks(RelationshipResource halResource, Pageable pageable, LinkedList list) + throws Exception { + + list.add(buildLink("leftItem", getMethodOn() + .findOne(ItemRest.CATEGORY, English.plural(ItemRest.NAME), halResource.getContent().getLeftId(), null))); + + list.add(buildLink("rightItem", getMethodOn() + .findOne(ItemRest.CATEGORY, English.plural(ItemRest.NAME), halResource.getContent().getRightId(), null))); + } + + protected Class getControllerClass() { + return RestResourceController.class; + } + + protected Class getResourceClass() { + return RelationshipResource.class; + } +} From 4c1fdfc49cbdc7a7a1652c3f964a4779d792c781 Mon Sep 17 00:00:00 2001 From: Raf Ponsaerts Date: Thu, 29 Nov 2018 15:45:32 +0100 Subject: [PATCH 2/3] Added a license header --- .../app/rest/link/relation/RelationshipHalLinkFactory.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/link/relation/RelationshipHalLinkFactory.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/link/relation/RelationshipHalLinkFactory.java index d2729027a9..ff0fb5b386 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/link/relation/RelationshipHalLinkFactory.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/link/relation/RelationshipHalLinkFactory.java @@ -1,3 +1,10 @@ +/** + * The contents of this file are subject to the license and copyright + * detailed in the LICENSE and NOTICE files at the root of the source + * tree and available online at + * + * http://www.dspace.org/license/ + */ package org.dspace.app.rest.link.relation; import java.util.LinkedList; From 0d678aca58b9778a91f3fe97bd6d9697e27895ab Mon Sep 17 00:00:00 2001 From: Ben Bosman Date: Tue, 18 Dec 2018 10:35:30 +0100 Subject: [PATCH 3/3] JavaDoc --- .../app/rest/link/relation/RelationshipHalLinkFactory.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/link/relation/RelationshipHalLinkFactory.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/link/relation/RelationshipHalLinkFactory.java index ff0fb5b386..9da50be395 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/link/relation/RelationshipHalLinkFactory.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/link/relation/RelationshipHalLinkFactory.java @@ -18,8 +18,13 @@ import org.springframework.data.domain.Pageable; import org.springframework.hateoas.Link; import org.springframework.stereotype.Component; +/** + * This class adds links to {@link org.dspace.app.rest.model.hateoas.RelationshipResource}s + * This builds a link to both items included in the relationship + */ @Component public class RelationshipHalLinkFactory extends HalLinkFactory { + @Override protected void addLinks(RelationshipResource halResource, Pageable pageable, LinkedList list) throws Exception { @@ -30,10 +35,12 @@ public class RelationshipHalLinkFactory extends HalLinkFactory getControllerClass() { return RestResourceController.class; } + @Override protected Class getResourceClass() { return RelationshipResource.class; }