DATACMNS-822 - Polishing.

Switched to implement WebMvcConfigurer over extending WebMvcConfigurerAdapter. Formatting, assertions, Javadoc.

Original pull request: #208.
This commit is contained in:
Oliver Gierke
2017-05-12 16:54:00 +02:00
parent 364ed9ab2e
commit 2eb830d68f
5 changed files with 24 additions and 19 deletions

View File

@@ -58,8 +58,8 @@ public class HateoasAwareSpringDataWebConfiguration extends SpringDataWebConfigu
@Override
public HateoasPageableHandlerMethodArgumentResolver pageableResolver() {
HateoasPageableHandlerMethodArgumentResolver pageableResolver = //
new HateoasPageableHandlerMethodArgumentResolver(sortResolver());
HateoasPageableHandlerMethodArgumentResolver pageableResolver = new HateoasPageableHandlerMethodArgumentResolver(
sortResolver());
customizePageableResolver(pageableResolver);
return pageableResolver;
}

View File

@@ -22,14 +22,17 @@ import org.springframework.data.web.PageableHandlerMethodArgumentResolver;
* {@link PageableHandlerMethodArgumentResolver} configuration.
*
* @author Vedran Pavic
* @author Oliver Gierke
* @since 2.0
*/
@FunctionalInterface
public interface PageableHandlerMethodArgumentResolverCustomizer {
/**
* Customize the pageable resolver
* Customize the given {@link PageableHandlerMethodArgumentResolver}.
*
* @param pageableResolver the {@link PageableHandlerMethodArgumentResolver} to customize
* @param pageableResolver the {@link PageableHandlerMethodArgumentResolver} to customize, will never be
* {@literal null}.
*/
void customize(PageableHandlerMethodArgumentResolver pageableResolver);
}

View File

@@ -29,7 +29,7 @@ import org.springframework.data.querydsl.SimpleEntityPathResolver;
import org.springframework.data.querydsl.binding.QuerydslBindingsFactory;
import org.springframework.data.web.querydsl.QuerydslPredicateArgumentResolver;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import com.querydsl.core.types.Predicate;
@@ -42,7 +42,7 @@ import com.querydsl.core.types.Predicate;
* @soundtrack Anika Nilles - Alter Ego
*/
@Configuration
public class QuerydslWebConfiguration extends WebMvcConfigurerAdapter {
public class QuerydslWebConfiguration implements WebMvcConfigurer {
@Autowired @Qualifier("mvcConversionService") ObjectFactory<ConversionService> conversionService;

View File

@@ -22,14 +22,15 @@ import org.springframework.data.web.SortHandlerMethodArgumentResolver;
* {@link SortHandlerMethodArgumentResolver} configuration.
*
* @author Vedran Pavic
* @author Oliver Gierke
* @since 2.0
*/
public interface SortHandlerMethodArgumentResolverCustomizer {
/**
* Customize the sort resolver
* Customize the given {@link SortHandlerMethodArgumentResolver}.
*
* @param sortResolver the {@link SortHandlerMethodArgumentResolver} to customize
* @param sortResolver the {@link SortHandlerMethodArgumentResolver} to customize, will never be {@literal null}.
*/
void customize(SortHandlerMethodArgumentResolver sortResolver);
}

View File

@@ -36,9 +36,10 @@ import org.springframework.data.web.XmlBeamHttpMessageConverter;
import org.springframework.format.FormatterRegistry;
import org.springframework.format.support.FormattingConversionService;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.util.Assert;
import org.springframework.util.ClassUtils;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -52,18 +53,19 @@ import com.fasterxml.jackson.databind.ObjectMapper;
* @author Jens Schauder
*/
@Configuration
public class SpringDataWebConfiguration extends WebMvcConfigurerAdapter {
public class SpringDataWebConfiguration implements WebMvcConfigurer {
private final ApplicationContext context;
private final ObjectFactory<ConversionService> conversionService;
@Autowired private Optional<PageableHandlerMethodArgumentResolverCustomizer> pageableResolverCustomizer;
@Autowired private Optional<SortHandlerMethodArgumentResolverCustomizer> sortResolverCustomizer;
private @Autowired Optional<PageableHandlerMethodArgumentResolverCustomizer> pageableResolverCustomizer;
private @Autowired Optional<SortHandlerMethodArgumentResolverCustomizer> sortResolverCustomizer;
public SpringDataWebConfiguration( //
ApplicationContext context, //
@Qualifier("mvcConversionService") ObjectFactory<ConversionService> conversionService //
) {
public SpringDataWebConfiguration(ApplicationContext context,
@Qualifier("mvcConversionService") ObjectFactory<ConversionService> conversionService) {
Assert.notNull(context, "ApplicationContext must not be null!");
Assert.notNull(conversionService, "ConversionService must not be null!");
this.context = context;
this.conversionService = conversionService;
@@ -161,5 +163,4 @@ public class SpringDataWebConfiguration extends WebMvcConfigurerAdapter {
protected void customizeSortResolver(SortHandlerMethodArgumentResolver sortResolver) {
sortResolverCustomizer.ifPresent(c -> c.customize(sortResolver));
}
}