DATAREST-1427 - Fixed handling of unpaged Pageable values.
This commit is contained in:
@@ -65,11 +65,12 @@ public class MappingAwarePageableArgumentResolver implements HandlerMethodArgume
|
|||||||
|
|
||||||
Pageable pageable = delegate.resolveArgument(methodParameter, mavContainer, webRequest, binderFactory);
|
Pageable pageable = delegate.resolveArgument(methodParameter, mavContainer, webRequest, binderFactory);
|
||||||
|
|
||||||
if (pageable == null || pageable.getSort() == null) {
|
if (pageable.isUnpaged() || pageable.getSort().isUnsorted()) {
|
||||||
return pageable;
|
return pageable;
|
||||||
}
|
}
|
||||||
|
|
||||||
Sort translated = translator.translateSort(pageable.getSort(), methodParameter, webRequest);
|
Sort translated = translator.translateSort(pageable.getSort(), methodParameter, webRequest);
|
||||||
|
|
||||||
return PageRequest.of(pageable.getPageNumber(), pageable.getPageSize(), translated);
|
return PageRequest.of(pageable.getPageNumber(), pageable.getPageSize(), translated);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2016-2018 original author or authors.
|
* Copyright 2016-2019 original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -37,6 +37,7 @@ import org.springframework.web.method.support.ModelAndViewContainer;
|
|||||||
* Unit tests for {@link MappingAwarePageableArgumentResolver}.
|
* Unit tests for {@link MappingAwarePageableArgumentResolver}.
|
||||||
*
|
*
|
||||||
* @author Mark Paluch
|
* @author Mark Paluch
|
||||||
|
* @author Oliver Drotbohm
|
||||||
*/
|
*/
|
||||||
@RunWith(MockitoJUnitRunner.class)
|
@RunWith(MockitoJUnitRunner.class)
|
||||||
public class MappingAwarePageableArgumentResolverUnitTests {
|
public class MappingAwarePageableArgumentResolverUnitTests {
|
||||||
@@ -82,14 +83,17 @@ public class MappingAwarePageableArgumentResolverUnitTests {
|
|||||||
|
|
||||||
assertThat(result.getPageSize()).isEqualTo(1);
|
assertThat(result.getPageSize()).isEqualTo(1);
|
||||||
assertThat(result.getPageNumber()).isEqualTo(0);
|
assertThat(result.getPageNumber()).isEqualTo(0);
|
||||||
assertThat(result.getSort()).isNull();
|
assertThat(result.getSort().isUnsorted()).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test // DATAREST-906
|
@Test // DATAREST-906
|
||||||
public void resolveArgumentShouldReturnNoPageable() throws Exception {
|
public void resolveArgumentShouldReturnUnpagedPageable() throws Exception {
|
||||||
|
|
||||||
|
when(delegate.resolveArgument(parameter, modelAndViewContainer, webRequest, binderFactory))
|
||||||
|
.thenReturn(Pageable.unpaged());
|
||||||
|
|
||||||
Pageable result = resolver.resolveArgument(parameter, modelAndViewContainer, webRequest, binderFactory);
|
Pageable result = resolver.resolveArgument(parameter, modelAndViewContainer, webRequest, binderFactory);
|
||||||
|
|
||||||
assertThat(result).isNull();
|
assertThat(result.isUnpaged()).isTrue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user