Browse Source

DATACMNS-1526 - Adapt to API changes in Spring HATEOAS.

pull/395/head
Oliver Drotbohm 7 years ago
parent
commit
e31c7aed51
No known key found for this signature in database
GPG Key ID: 6E42B5787543F690
  1. 4
      src/main/java/org/springframework/data/web/PagedResourcesAssembler.java
  2. 17
      src/main/java/org/springframework/data/web/PagedResourcesAssemblerArgumentResolver.java

4
src/main/java/org/springframework/data/web/PagedResourcesAssembler.java

@ -257,7 +257,7 @@ public class PagedResourcesAssembler<T> implements RepresentationModelAssembler< @@ -257,7 +257,7 @@ public class PagedResourcesAssembler<T> implements RepresentationModelAssembler<
* @return
*/
private UriTemplate getUriTemplate(Optional<Link> baseLink) {
return new UriTemplate(baseLink.map(Link::getHref).orElseGet(this::baseUriOrCurrentRequest));
return UriTemplate.of(baseLink.map(Link::getHref).orElseGet(this::baseUriOrCurrentRequest));
}
/**
@ -274,7 +274,7 @@ public class PagedResourcesAssembler<T> implements RepresentationModelAssembler< @@ -274,7 +274,7 @@ public class PagedResourcesAssembler<T> implements RepresentationModelAssembler<
UriComponentsBuilder builder = fromUri(base.expand());
pageableResolver.enhance(builder, getMethodParameter(), pageable);
return new Link(new UriTemplate(builder.build().toString()), relation);
return new Link(UriTemplate.of(builder.build().toString()), relation);
}
/**

17
src/main/java/org/springframework/data/web/PagedResourcesAssemblerArgumentResolver.java

@ -15,6 +15,7 @@ @@ -15,6 +15,7 @@
*/
package org.springframework.data.web;
import java.lang.reflect.Method;
import java.util.List;
import javax.annotation.Nonnull;
@ -106,8 +107,14 @@ public class PagedResourcesAssemblerArgumentResolver implements HandlerMethodArg @@ -106,8 +107,14 @@ public class PagedResourcesAssemblerArgumentResolver implements HandlerMethodArg
@Nullable
private UriComponents resolveBaseUri(MethodParameter parameter) {
Method method = parameter.getMethod();
if (method == null) {
throw new IllegalArgumentException(String.format("Could not obtain method from parameter %s!", parameter));
}
try {
Link linkToMethod = linkBuilderFactory.linkTo(parameter.getDeclaringClass(), parameter.getMethod()).withSelfRel();
Link linkToMethod = linkBuilderFactory.linkTo(parameter.getDeclaringClass(), method).withSelfRel();
return UriComponentsBuilder.fromUriString(linkToMethod.getHref()).build();
} catch (IllegalArgumentException o_O) {
return null;
@ -124,7 +131,13 @@ public class PagedResourcesAssemblerArgumentResolver implements HandlerMethodArg @@ -124,7 +131,13 @@ public class PagedResourcesAssemblerArgumentResolver implements HandlerMethodArg
@Nullable
private static MethodParameter findMatchingPageableParameter(MethodParameter parameter) {
MethodParameters parameters = new MethodParameters(parameter.getMethod());
Method method = parameter.getMethod();
if (method == null) {
throw new IllegalArgumentException(String.format("Could not obtain method from parameter %s!", parameter));
}
MethodParameters parameters = MethodParameters.of(method);
List<MethodParameter> pageableParameters = parameters.getParametersOfType(Pageable.class);
Qualifier assemblerQualifier = parameter.getParameterAnnotation(Qualifier.class);

Loading…
Cancel
Save