DATACMNS-822 - Polishing.

Replaced optional dependencies with Optional and explicit null checks with calls to ifPresent. Used Lambda style instead of anonymous classes where applicable. Converted Hamcrest matchers to AssertJ. 
Minor improvements to formatting.

Original pull request: #208.
This commit is contained in:
Jens Schauder
2017-03-23 11:25:43 +01:00
committed by Oliver Gierke
parent c1036b2204
commit 364ed9ab2e
4 changed files with 36 additions and 42 deletions

View File

@@ -57,7 +57,8 @@ public class HateoasAwareSpringDataWebConfiguration extends SpringDataWebConfigu
@Bean
@Override
public HateoasPageableHandlerMethodArgumentResolver pageableResolver() {
HateoasPageableHandlerMethodArgumentResolver pageableResolver =
HateoasPageableHandlerMethodArgumentResolver pageableResolver = //
new HateoasPageableHandlerMethodArgumentResolver(sortResolver());
customizePageableResolver(pageableResolver);
return pageableResolver;
@@ -70,6 +71,7 @@ public class HateoasAwareSpringDataWebConfiguration extends SpringDataWebConfigu
@Bean
@Override
public HateoasSortHandlerMethodArgumentResolver sortResolver() {
HateoasSortHandlerMethodArgumentResolver sortResolver = new HateoasSortHandlerMethodArgumentResolver();
customizeSortResolver(sortResolver);
return sortResolver;

View File

@@ -16,8 +16,10 @@
package org.springframework.data.web.config;
import java.util.List;
import java.util.Optional;
import org.springframework.beans.factory.ObjectFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
@@ -55,26 +57,26 @@ public class SpringDataWebConfiguration extends WebMvcConfigurerAdapter {
private final ApplicationContext context;
private final ObjectFactory<ConversionService> conversionService;
public SpringDataWebConfiguration(ApplicationContext context,
@Qualifier("mvcConversionService") ObjectFactory<ConversionService> conversionService) {
@Autowired private Optional<PageableHandlerMethodArgumentResolverCustomizer> pageableResolverCustomizer;
@Autowired private Optional<SortHandlerMethodArgumentResolverCustomizer> sortResolverCustomizer;
public SpringDataWebConfiguration( //
ApplicationContext context, //
@Qualifier("mvcConversionService") ObjectFactory<ConversionService> conversionService //
) {
this.context = context;
this.conversionService = conversionService;
}
@Autowired(required = false)
private PageableHandlerMethodArgumentResolverCustomizer pageableResolverCustomizer;
@Autowired(required = false)
private SortHandlerMethodArgumentResolverCustomizer sortResolverCustomizer;
/*
* (non-Javadoc)
* @see org.springframework.data.web.config.SpringDataWebConfiguration#pageableResolver()
*/
@Bean
public PageableHandlerMethodArgumentResolver pageableResolver() {
PageableHandlerMethodArgumentResolver pageableResolver =
PageableHandlerMethodArgumentResolver pageableResolver = //
new PageableHandlerMethodArgumentResolver(sortResolver());
customizePageableResolver(pageableResolver);
return pageableResolver;
@@ -86,6 +88,7 @@ public class SpringDataWebConfiguration extends WebMvcConfigurerAdapter {
*/
@Bean
public SortHandlerMethodArgumentResolver sortResolver() {
SortHandlerMethodArgumentResolver sortResolver = new SortHandlerMethodArgumentResolver();
customizeSortResolver(sortResolver);
return sortResolver;
@@ -107,8 +110,7 @@ public class SpringDataWebConfiguration extends WebMvcConfigurerAdapter {
FormattingConversionService conversionService = (FormattingConversionService) registry;
DomainClassConverter<FormattingConversionService> converter = new DomainClassConverter<>(
conversionService);
DomainClassConverter<FormattingConversionService> converter = new DomainClassConverter<>(conversionService);
converter.setApplicationContext(context);
}
@@ -153,15 +155,11 @@ public class SpringDataWebConfiguration extends WebMvcConfigurerAdapter {
}
protected void customizePageableResolver(PageableHandlerMethodArgumentResolver pageableResolver) {
if (this.pageableResolverCustomizer != null) {
this.pageableResolverCustomizer.customize(pageableResolver);
}
pageableResolverCustomizer.ifPresent(c -> c.customize(pageableResolver));
}
protected void customizeSortResolver(SortHandlerMethodArgumentResolver sortResolver) {
if (this.sortResolverCustomizer != null) {
this.sortResolverCustomizer.customize(sortResolver);
}
sortResolverCustomizer.ifPresent(c -> c.customize(sortResolver));
}
}