Browse Source

DATACMNS-822 - Polishing.

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

Original pull request: #208.
pull/173/merge
Oliver Gierke 9 years ago
parent
commit
2eb830d68f
  1. 4
      src/main/java/org/springframework/data/web/config/HateoasAwareSpringDataWebConfiguration.java
  2. 9
      src/main/java/org/springframework/data/web/config/PageableHandlerMethodArgumentResolverCustomizer.java
  3. 4
      src/main/java/org/springframework/data/web/config/QuerydslWebConfiguration.java
  4. 7
      src/main/java/org/springframework/data/web/config/SortHandlerMethodArgumentResolverCustomizer.java
  5. 19
      src/main/java/org/springframework/data/web/config/SpringDataWebConfiguration.java

4
src/main/java/org/springframework/data/web/config/HateoasAwareSpringDataWebConfiguration.java

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

9
src/main/java/org/springframework/data/web/config/PageableHandlerMethodArgumentResolverCustomizer.java

@ -22,14 +22,17 @@ import org.springframework.data.web.PageableHandlerMethodArgumentResolver;
* {@link PageableHandlerMethodArgumentResolver} configuration. * {@link PageableHandlerMethodArgumentResolver} configuration.
* *
* @author Vedran Pavic * @author Vedran Pavic
* @author Oliver Gierke
* @since 2.0
*/ */
@FunctionalInterface
public interface PageableHandlerMethodArgumentResolverCustomizer { 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); void customize(PageableHandlerMethodArgumentResolver pageableResolver);
} }

4
src/main/java/org/springframework/data/web/config/QuerydslWebConfiguration.java

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

7
src/main/java/org/springframework/data/web/config/SortHandlerMethodArgumentResolverCustomizer.java

@ -22,14 +22,15 @@ import org.springframework.data.web.SortHandlerMethodArgumentResolver;
* {@link SortHandlerMethodArgumentResolver} configuration. * {@link SortHandlerMethodArgumentResolver} configuration.
* *
* @author Vedran Pavic * @author Vedran Pavic
* @author Oliver Gierke
* @since 2.0
*/ */
public interface SortHandlerMethodArgumentResolverCustomizer { 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); void customize(SortHandlerMethodArgumentResolver sortResolver);
} }

19
src/main/java/org/springframework/data/web/config/SpringDataWebConfiguration.java

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

Loading…
Cancel
Save