DATACMNS-867 - Second draft.

This commit is contained in:
Oliver Gierke
2016-06-21 16:52:28 +02:00
parent 57ed50a730
commit d4811e29d9
222 changed files with 2297 additions and 2138 deletions

View File

@@ -52,7 +52,7 @@ public class HateoasPageableHandlerMethodArgumentResolverUnitTests
MethodParameter parameter = new MethodParameter(Sample.class.getMethod("supportedMethod", Pageable.class), 0);
UriComponentsContributor resolver = new HateoasPageableHandlerMethodArgumentResolver();
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl("http://localhost:8080?page=0&size=10");
resolver.enhance(builder, parameter, new PageRequest(1, 20));
resolver.enhance(builder, parameter, PageRequest.of(1, 20));
MultiValueMap<String, String> params = builder.build().getQueryParams();
@@ -67,7 +67,7 @@ public class HateoasPageableHandlerMethodArgumentResolverUnitTests
@Test // DATACMNS-335
public void preventsPageSizeFromExceedingMayValueIfConfiguredOnWrite() throws Exception {
assertUriStringFor(new PageRequest(0, 200), "page=0&size=100");
assertUriStringFor(PageRequest.of(0, 200), "page=0&size=100");
}
@Test // DATACMNS-418
@@ -101,7 +101,7 @@ public class HateoasPageableHandlerMethodArgumentResolverUnitTests
UriComponentsBuilder builder = UriComponentsBuilder.fromPath("/");
resolver.enhance(builder, null, new PageRequest(0, 10));
resolver.enhance(builder, null, PageRequest.of(0, 10));
MultiValueMap<String, String> params = builder.build().getQueryParams();

View File

@@ -15,7 +15,6 @@
*/
package org.springframework.data.web;
import static org.hamcrest.Matchers.*;
import static org.assertj.core.api.Assertions.*;
import lombok.AllArgsConstructor;

View File

@@ -64,7 +64,7 @@ public class MapDataBinderUnitTests {
Map<String, Object> result = bind(values);
List<String> list = new ArrayList<String>();
List<String> list = new ArrayList<>();
list.add("String");
assertThat(result).isEqualTo((Map) singletonMap("foo", singletonMap("bar", singletonMap("fooBar", list))));

View File

@@ -48,10 +48,10 @@ public abstract class PageableDefaultUnitTests {
static final int PAGE_SIZE = 47;
static final int PAGE_NUMBER = 23;
static final AbstractPageRequest REFERENCE_WITHOUT_SORT = new PageRequest(PAGE_NUMBER, PAGE_SIZE);
static final AbstractPageRequest REFERENCE_WITH_SORT = new PageRequest(PAGE_NUMBER, PAGE_SIZE, SORT);
static final AbstractPageRequest REFERENCE_WITH_SORT_FIELDS = new PageRequest(PAGE_NUMBER, PAGE_SIZE, new Sort(
SORT_FIELDS));
static final AbstractPageRequest REFERENCE_WITHOUT_SORT = PageRequest.of(PAGE_NUMBER, PAGE_SIZE);
static final AbstractPageRequest REFERENCE_WITH_SORT = PageRequest.of(PAGE_NUMBER, PAGE_SIZE, SORT);
static final AbstractPageRequest REFERENCE_WITH_SORT_FIELDS = PageRequest.of(PAGE_NUMBER, PAGE_SIZE,
Sort.by(SORT_FIELDS));
@Rule public ExpectedException exception = ExpectedException.none();
@@ -69,8 +69,8 @@ public abstract class PageableDefaultUnitTests {
@Test
public void returnsDefaultIfNoRequestParametersAndNoDefault() throws Exception {
assertSupportedAndResult(getParameterOfMethod("supportedMethod"),
(Pageable) ReflectionTestUtils.getField(getResolver(), "fallbackPageable"));
assertSupportedAndResult(getParameterOfMethod("supportedMethod"), (Pageable) ReflectionTestUtils
.invokeMethod(ReflectionTestUtils.getField(getResolver(), "fallbackPageable"), "get"));
}
@Test

View File

@@ -18,6 +18,8 @@ package org.springframework.data.web;
import static org.assertj.core.api.Assertions.*;
import static org.springframework.data.web.PageableHandlerMethodArgumentResolver.*;
import java.util.Optional;
import org.junit.Before;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Qualifier;
@@ -53,7 +55,7 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
request.addParameter("page", "0");
request.addParameter("size", "200");
assertSupportedAndResult(supportedMethodParameter, new PageRequest(0, 100), request);
assertSupportedAndResult(supportedMethodParameter, PageRequest.of(0, 100), request);
}
@Test(expected = IllegalArgumentException.class)
@@ -85,7 +87,7 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
request.addParameter("foo_page", "2");
request.addParameter("foo_size", "10");
assertSupportedAndResult(parameter, new PageRequest(2, 10), request);
assertSupportedAndResult(parameter, PageRequest.of(2, 10), request);
}
@Test // DATACMNS-377
@@ -141,7 +143,7 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
public void returnsNullIfFallbackIsNullAndNoParametersGiven() throws Exception {
PageableHandlerMethodArgumentResolver resolver = getResolver();
resolver.setFallbackPageable(null);
resolver.setFallbackPageable(Optional.empty());
assertSupportedAndResult(supportedMethodParameter, null, new ServletWebRequest(new MockHttpServletRequest()),
resolver);
@@ -151,7 +153,7 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
public void returnsNullIfFallbackIsNullAndOnlyPageIsGiven() throws Exception {
PageableHandlerMethodArgumentResolver resolver = getResolver();
resolver.setFallbackPageable(null);
resolver.setFallbackPageable(Optional.empty());
MockHttpServletRequest request = new MockHttpServletRequest();
request.addParameter("page", "20");
@@ -163,7 +165,7 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
public void returnsNullIfFallbackIsNullAndOnlySizeIsGiven() throws Exception {
PageableHandlerMethodArgumentResolver resolver = getResolver();
resolver.setFallbackPageable(null);
resolver.setFallbackPageable(Optional.empty());
MockHttpServletRequest request = new MockHttpServletRequest();
request.addParameter("size", "10");
@@ -189,7 +191,7 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
public void usesNullSortIfNoDefaultIsConfiguredAndPageAndSizeAreGiven() {
PageableHandlerMethodArgumentResolver resolver = getResolver();
resolver.setFallbackPageable(null);
resolver.setFallbackPageable(Optional.empty());
MockHttpServletRequest request = new MockHttpServletRequest();
request.addParameter("page", "0");
@@ -199,7 +201,7 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
assertThat(result.getPageNumber()).isEqualTo(0);
assertThat(result.getPageSize()).isEqualTo(10);
assertThat(result.getSort()).isNull();
assertThat(result.getSort().isSorted()).isFalse();
}
@Test // DATACMNS-692
@@ -236,8 +238,8 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
PageableHandlerMethodArgumentResolver resolver = getResolver();
resolver.setFallbackPageable(null);
assertThat(resolver.isFallbackPageable(null), is(false));
assertThat(resolver.isFallbackPageable(new PageRequest(0, 10)), is(false));
assertThat(resolver.isFallbackPageable(null)).isFalse();
assertThat(resolver.isFallbackPageable(PageRequest.of(0, 10))).isTrue();
}
@Override

View File

@@ -49,11 +49,11 @@ import org.springframework.web.util.UriComponentsBuilder;
*/
public class PagedResourcesAssemblerUnitTests {
static final Pageable PAGEABLE = new PageRequest(0, 20);
static final Page<Person> EMPTY_PAGE = new PageImpl<Person>(Collections.<Person> emptyList(), PAGEABLE, 0);
static final Pageable PAGEABLE = PageRequest.of(0, 20);
static final Page<Person> EMPTY_PAGE = new PageImpl<>(Collections.emptyList(), PAGEABLE, 0);
HateoasPageableHandlerMethodArgumentResolver resolver = new HateoasPageableHandlerMethodArgumentResolver();
PagedResourcesAssembler<Person> assembler = new PagedResourcesAssembler<Person>(resolver, null);
PagedResourcesAssembler<Person> assembler = new PagedResourcesAssembler<>(resolver, null);
@Before
public void setUp() {
@@ -95,7 +95,7 @@ public class PagedResourcesAssemblerUnitTests {
UriComponents baseUri = UriComponentsBuilder.fromUriString("http://foo:9090").build();
PagedResourcesAssembler<Person> assembler = new PagedResourcesAssembler<Person>(resolver, baseUri);
PagedResourcesAssembler<Person> assembler = new PagedResourcesAssembler<>(resolver, baseUri);
PagedResources<Resource<Person>> resources = assembler.toResource(createPage(1));
assertThat(resources.getLink(Link.REL_PREVIOUS).getHref()).startsWith(baseUri.toUriString());
@@ -120,8 +120,8 @@ public class PagedResourcesAssemblerUnitTests {
resolver.setOneIndexedParameters(true);
AbstractPageRequest request = new PageRequest(0, 1);
Page<Person> page = new PageImpl<Person>(Collections.<Person> emptyList(), request, 0);
AbstractPageRequest request = PageRequest.of(0, 1);
Page<Person> page = new PageImpl<>(Collections.emptyList(), request, 0);
assembler.toResource(page);
}
@@ -155,7 +155,7 @@ public class PagedResourcesAssemblerUnitTests {
HateoasPageableHandlerMethodArgumentResolver argumentResolver = new HateoasPageableHandlerMethodArgumentResolver();
argumentResolver.setOneIndexedParameters(true);
PagedResourcesAssembler<Person> assembler = new PagedResourcesAssembler<Person>(argumentResolver, null);
PagedResourcesAssembler<Person> assembler = new PagedResourcesAssembler<>(argumentResolver, null);
PagedResources<Resource<Person>> resource = assembler.toResource(createPage(1));
assertThat(resource.hasLink("prev")).isTrue();
@@ -228,7 +228,7 @@ public class PagedResourcesAssemblerUnitTests {
@Test // DATACMNS-701
public void alwaysAddsFirstAndLastLinkIfConfiguredTo() {
PagedResourcesAssembler<Person> assembler = new PagedResourcesAssembler<Person>(resolver, null);
PagedResourcesAssembler<Person> assembler = new PagedResourcesAssembler<>(resolver, null);
assembler.setForceFirstAndLastRels(true);
PagedResources<Resource<Person>> resources = assembler.toResource(EMPTY_PAGE);
@@ -240,7 +240,7 @@ public class PagedResourcesAssemblerUnitTests {
@Test // DATACMNS-802
public void usesCustomPagedResources() {
ResourceAssembler<Page<Person>, PagedResources<Resource<Person>>> assembler = new CustomPagedResourcesAssembler<Person>(
ResourceAssembler<Page<Person>, PagedResources<Resource<Person>>> assembler = new CustomPagedResourcesAssembler<>(
resolver, null);
assertThat(assembler.toResource(EMPTY_PAGE)).isInstanceOf(CustomPagedResources.class);
@@ -248,12 +248,12 @@ public class PagedResourcesAssemblerUnitTests {
private static Page<Person> createPage(int index) {
AbstractPageRequest request = new PageRequest(index, 1);
Pageable request = PageRequest.of(index, 1);
Person person = new Person();
person.name = "Dave";
return new PageImpl<Person>(Arrays.asList(person), request, 3);
return new PageImpl<>(Arrays.asList(person), request, 3);
}
private static Map<String, String> getQueryParameters(Link link) {
@@ -293,7 +293,7 @@ public class PagedResourcesAssemblerUnitTests {
@Override
protected <R extends ResourceSupport, S> PagedResources<R> createPagedResource(List<R> resources,
PageMetadata metadata, Page<S> page) {
return new CustomPagedResources<R>(resources, metadata);
return new CustomPagedResources<>(resources, metadata);
}
}

View File

@@ -15,7 +15,6 @@
*/
package org.springframework.data.web;
import static org.hamcrest.CoreMatchers.*;
import static org.assertj.core.api.Assertions.*;
import java.lang.reflect.Method;

View File

@@ -46,17 +46,16 @@ public abstract class SortDefaultUnitTests {
static final Sort SORT = new Sort(SORT_DIRECTION, SORT_FIELDS);
@Rule
public ExpectedException exception = ExpectedException.none();
@Rule public ExpectedException exception = ExpectedException.none();
@Test
public void parsesSimpleSortStringCorrectly() {
assertSortStringParsedInto(new Sort(new Order("username")), SORT_1);
assertSortStringParsedInto(new Sort(new Order(ASC, "username")), SORT_1);
assertSortStringParsedInto(new Sort(new Order(ASC, "username"), //
assertSortStringParsedInto(Sort.by(new Order("username")), SORT_1);
assertSortStringParsedInto(Sort.by(new Order(ASC, "username")), SORT_1);
assertSortStringParsedInto(Sort.by(new Order(ASC, "username"), //
new Order(DESC, "lastname"), new Order(DESC, "firstname")), SORT_2);
assertSortStringParsedInto(new Sort("firstname", "lastname"), SORT_3);
assertSortStringParsedInto(Sort.by("firstname", "lastname"), SORT_3);
}
private static void assertSortStringParsedInto(Sort expected, String... source) {
@@ -74,12 +73,12 @@ public abstract class SortDefaultUnitTests {
@Test
public void returnsNullForNoDefault() throws Exception {
assertSupportedAndResolvedTo(getParameterOfMethod("supportedMethod"), null);
assertSupportedAndResolvedTo(getParameterOfMethod("supportedMethod"), Sort.unsorted());
}
@Test
public void discoversSimpleDefault() throws Exception {
assertSupportedAndResolvedTo(getParameterOfMethod("simpleDefault"), new Sort(Direction.ASC, SORT_FIELDS));
assertSupportedAndResolvedTo(getParameterOfMethod("simpleDefault"), Sort.by(SORT_FIELDS).ascending());
}
@Test
@@ -114,7 +113,7 @@ public abstract class SortDefaultUnitTests {
public void discoversContaineredDefault() throws Exception {
MethodParameter parameter = getParameterOfMethod("containeredDefault");
Sort reference = new Sort("foo", "bar");
Sort reference = Sort.by("foo", "bar");
assertSupportedAndResolvedTo(parameter, reference);
}

View File

@@ -69,14 +69,14 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
SortHandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver();
Sort sort = resolver.resolveArgument(parameter, null, new ServletWebRequest(new MockHttpServletRequest()), null);
assertThat(sort).isNull();
assertThat(sort.isSorted()).isFalse();
}
@Test
public void discoversSimpleSortFromRequest() {
MethodParameter parameter = getParameterOfMethod("simpleDefault");
Sort reference = new Sort("bar", "foo");
Sort reference = Sort.by("bar", "foo");
NativeWebRequest request = getRequestWithSort(reference);
assertSupportedAndResolvedTo(request, parameter, reference);
@@ -86,7 +86,7 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
public void discoversComplexSortFromRequest() {
MethodParameter parameter = getParameterOfMethod("simpleDefault");
Sort reference = new Sort("bar", "foo").and(new Sort("fizz", "buzz"));
Sort reference = Sort.by("bar", "foo").and(Sort.by("fizz", "buzz"));
assertSupportedAndResolvedTo(getRequestWithSort(reference), parameter, reference);
}
@@ -95,7 +95,7 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
public void discoversQualifiedSortFromRequest() {
MethodParameter parameter = getParameterOfMethod("qualifiedSort");
Sort reference = new Sort("bar", "foo");
Sort reference = Sort.by("bar", "foo");
assertSupportedAndResolvedTo(getRequestWithSort(reference, "qual"), parameter, reference);
}
@@ -110,7 +110,7 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
SortHandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver();
Sort result = resolver.resolveArgument(parameter, null, new ServletWebRequest(request), null);
assertThat(result).isNull();
assertThat(result.isSorted()).isFalse();
}
@Test // DATACMNS-366
@@ -132,7 +132,7 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
MockHttpServletRequest request = new MockHttpServletRequest();
request.addParameter("sort", "");
assertThat(resolveSort(request, PARAMETER)).isNull();
assertThat(resolveSort(request, PARAMETER).isSorted()).isFalse();
}
@Test // DATACMNS-408
@@ -141,7 +141,7 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
MockHttpServletRequest request = new MockHttpServletRequest();
request.addParameter("sort", ",DESC");
assertThat(resolveSort(request, PARAMETER)).isNull();
assertThat(resolveSort(request, PARAMETER).isSorted()).isFalse();
}
@Test // DATACMNS-408
@@ -169,7 +169,7 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
MockHttpServletRequest request = new MockHttpServletRequest();
request.addParameter("sort", ",");
assertThat(resolveSort(request, PARAMETER)).isNull();
assertThat(resolveSort(request, PARAMETER).isSorted()).isFalse();
}
@Test // DATACMNS-753, DATACMNS-408
@@ -178,8 +178,8 @@ public class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitT
MockHttpServletRequest request = new MockHttpServletRequest();
request.addParameter("sort", "");
assertThat(resolveSort(request, getParameterOfMethod("simpleDefault"))).isEqualTo(new Sort("firstname", "lastname"));
assertThat(resolveSort(request, getParameterOfMethod("containeredDefault"))).isEqualTo(new Sort("foo", "bar"));
assertThat(resolveSort(request, getParameterOfMethod("simpleDefault"))).isEqualTo(Sort.by("firstname", "lastname"));
assertThat(resolveSort(request, getParameterOfMethod("containeredDefault"))).isEqualTo(Sort.by("foo", "bar"));
}
private static Sort resolveSort(HttpServletRequest request, MethodParameter parameter) throws Exception {

View File

@@ -15,7 +15,6 @@
*/
package org.springframework.data.web;
import static org.hamcrest.CoreMatchers.*;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;

View File

@@ -68,7 +68,7 @@ public class PageableResourcesAssemblerIntegrationTests {
assertThat(controller.assembler).isNotNull();
PagedResources<Resource<Person>> resources = controller.sample(new PageRequest(1, 1));
PagedResources<Resource<Person>> resources = controller.sample(PageRequest.of(1, 1));
assertThat(resources.getLink(Link.REL_PREVIOUS)).isNotNull();
assertThat(resources.getLink(Link.REL_NEXT)).isNotNull();
@@ -99,7 +99,7 @@ public class PageableResourcesAssemblerIntegrationTests {
@RequestMapping("/persons")
PagedResources<Resource<Person>> sample(Pageable pageable) {
Page<Person> page = new PageImpl<Person>(Arrays.asList(new Person()), pageable,
Page<Person> page = new PageImpl<>(Arrays.asList(new Person()), pageable,
pageable.getOffset() + pageable.getPageSize() + 1);
return assembler.toResource(page);