DATACMNS-1114 - Introduced usage of nullable annotations for API validation.
Marked all packages with Spring Frameworks @NonNullApi. Added Spring's @Nullable to methods, parameters and fields that take or produce null values. Adapted using code to make sure the IDE can evaluate the null flow properly. Fixed Javadoc in places where an invalid null handling policy was advertised. Strengthened null requirements for types that expose null-instances. Removed null handling from converters for JodaTime and ThreeTenBP. Introduced factory methods Page.empty() and Page.empty(Pageable). Introduced default methods getRequiredGetter(), …Setter() and …Field() on PersistentProperty to allow non-nullable lookups of members. The same for TypeInformation.getrequiredActualType(), …SuperTypeInformation(). Tweaked PersistentPropertyCreator.addPropertiesForRemainingDescriptors() to filter unsuitable PropertyDescriptors before actually trying to create a Property instance from them as the new stronger nullability requirements would cause exceptions downstream. Lazy.get() now expects a non-null return value. Clients being able to cope with null need to call ….orElse(…). Original pull request: #232.
This commit is contained in:
@@ -143,12 +143,12 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
|
||||
PageableHandlerMethodArgumentResolver resolver = getResolver();
|
||||
resolver.setFallbackPageable(Pageable.unpaged());
|
||||
|
||||
assertSupportedAndResult(supportedMethodParameter, null, new ServletWebRequest(new MockHttpServletRequest()),
|
||||
resolver);
|
||||
assertSupportedAndResult(supportedMethodParameter, Pageable.unpaged(),
|
||||
new ServletWebRequest(new MockHttpServletRequest()), resolver);
|
||||
}
|
||||
|
||||
@Test // DATACMNS-477
|
||||
public void returnsNullIfFallbackIsUnpagedAndOnlyPageIsGiven() throws Exception {
|
||||
public void returnsFallbackIfOnlyPageIsGiven() throws Exception {
|
||||
|
||||
PageableHandlerMethodArgumentResolver resolver = getResolver();
|
||||
resolver.setFallbackPageable(Pageable.unpaged());
|
||||
@@ -156,11 +156,12 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.addParameter("page", "20");
|
||||
|
||||
assertThat(resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null)).isNull();
|
||||
assertThat(resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null))
|
||||
.isEqualTo(Pageable.unpaged());
|
||||
}
|
||||
|
||||
@Test // DATACMNS-477
|
||||
public void returnsNullIfFallbackIsUnpagedAndOnlySizeIsGiven() throws Exception {
|
||||
public void returnsFallbackIfFallbackIsUnpagedAndOnlySizeIsGiven() throws Exception {
|
||||
|
||||
PageableHandlerMethodArgumentResolver resolver = getResolver();
|
||||
resolver.setFallbackPageable(Pageable.unpaged());
|
||||
@@ -168,7 +169,8 @@ public class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefa
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.addParameter("size", "10");
|
||||
|
||||
assertThat(resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null)).isNull();
|
||||
assertThat(resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null))
|
||||
.isEqualTo(Pageable.unpaged());
|
||||
}
|
||||
|
||||
@Test // DATACMNS-563
|
||||
|
||||
Reference in New Issue
Block a user