diff --git a/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/support/BaseUriLinkBuilder.java b/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/support/BaseUriLinkBuilder.java deleted file mode 100644 index 10b9a2126..000000000 --- a/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/support/BaseUriLinkBuilder.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.springframework.data.rest.webmvc.support; - -import java.net.URI; - -import org.springframework.hateoas.core.LinkBuilderSupport; -import org.springframework.web.util.UriComponentsBuilder; - -/** - * @author Jon Brisbin - */ -public class BaseUriLinkBuilder extends LinkBuilderSupport { - - public BaseUriLinkBuilder(UriComponentsBuilder builder) { - super(builder); - } - - public static BaseUriLinkBuilder create(URI baseUri) { - return new BaseUriLinkBuilder(UriComponentsBuilder.fromUri(baseUri)); - } - - @Override - protected BaseUriLinkBuilder getThis() { - return this; - } - - @Override - protected BaseUriLinkBuilder createNewInstance(UriComponentsBuilder builder) { - return new BaseUriLinkBuilder(builder); - } - -} diff --git a/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/support/RepositoryLinkBuilder.java b/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/support/RepositoryLinkBuilder.java index 5220df1e4..b59ef9433 100644 --- a/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/support/RepositoryLinkBuilder.java +++ b/spring-data-rest-webmvc/src/main/java/org/springframework/data/rest/webmvc/support/RepositoryLinkBuilder.java @@ -16,10 +16,13 @@ package org.springframework.data.rest.webmvc.support; import java.net.URI; +import java.util.Collections; +import java.util.List; import org.springframework.data.mapping.PersistentProperty; import org.springframework.data.rest.core.mapping.ResourceMetadata; import org.springframework.data.rest.webmvc.BaseUri; +import org.springframework.hateoas.Affordance; import org.springframework.hateoas.Link; import org.springframework.hateoas.LinkBuilder; import org.springframework.hateoas.core.LinkBuilderSupport; @@ -42,7 +45,7 @@ public class RepositoryLinkBuilder extends LinkBuilderSupport affordances) { + + super(builder, affordances); - super(builder); Assert.notNull(metadata, "ResourceMetadata must not be null!"); + this.metadata = metadata; } @@ -66,11 +71,9 @@ public class RepositoryLinkBuilder extends LinkBuilderSupport) object); - } - - return super.slash(object); + return PersistentProperty.class.isInstance(object) // + ? slash((PersistentProperty) object) + : super.slash(object); } public RepositoryLinkBuilder slash(PersistentProperty property) { @@ -83,11 +86,11 @@ public class RepositoryLinkBuilder extends LinkBuilderSupport affordances) { + return new RepositoryLinkBuilder(this.metadata, builder, affordances); } /*