From 005d2018d4046ffe483b073f51080d9f7b9f54d6 Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Thu, 31 Oct 2019 14:12:34 +0000 Subject: [PATCH] Refine changes for PR Closes gh-23882 --- .../AbstractNamedValueMethodArgumentResolver.java | 10 ++++++++-- .../DestinationVariableMethodArgumentResolver.java | 2 +- .../support/HeaderMethodArgumentResolver.java | 2 +- .../support/HeaderMethodArgumentResolverTests.java | 8 -------- 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/support/AbstractNamedValueMethodArgumentResolver.java b/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/support/AbstractNamedValueMethodArgumentResolver.java index 09c97aff6a..de31ebee24 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/support/AbstractNamedValueMethodArgumentResolver.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/support/AbstractNamedValueMethodArgumentResolver.java @@ -73,10 +73,16 @@ public abstract class AbstractNamedValueMethodArgumentResolver implements Handle * @param beanFactory a bean factory for resolving {@code ${...}} * placeholders and {@code #{...}} SpEL expressions in default values */ - protected AbstractNamedValueMethodArgumentResolver(@Nullable ConversionService conversionService, + protected AbstractNamedValueMethodArgumentResolver(ConversionService conversionService, @Nullable ConfigurableBeanFactory beanFactory) { - this.conversionService = conversionService != null ? conversionService : DefaultConversionService.getSharedInstance(); + // Fallback on shared ConversionService for now for historic reasons. + // Possibly remove after discussion in gh-23882. + + //noinspection ConstantConditions + this.conversionService = conversionService != null ? + conversionService : DefaultConversionService.getSharedInstance(); + this.configurableBeanFactory = beanFactory; this.expressionContext = (beanFactory != null ? new BeanExpressionContext(beanFactory, null) : null); } diff --git a/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/support/DestinationVariableMethodArgumentResolver.java b/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/support/DestinationVariableMethodArgumentResolver.java index e0e4e16e0b..ad80d5922d 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/support/DestinationVariableMethodArgumentResolver.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/support/DestinationVariableMethodArgumentResolver.java @@ -41,7 +41,7 @@ public class DestinationVariableMethodArgumentResolver extends AbstractNamedValu DestinationVariableMethodArgumentResolver.class.getSimpleName() + ".templateVariables"; - public DestinationVariableMethodArgumentResolver(@Nullable ConversionService conversionService) { + public DestinationVariableMethodArgumentResolver(ConversionService conversionService) { super(conversionService, null); } diff --git a/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/support/HeaderMethodArgumentResolver.java b/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/support/HeaderMethodArgumentResolver.java index a3a21d5301..e6b50f0586 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/support/HeaderMethodArgumentResolver.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/handler/annotation/support/HeaderMethodArgumentResolver.java @@ -49,7 +49,7 @@ public class HeaderMethodArgumentResolver extends AbstractNamedValueMethodArgume public HeaderMethodArgumentResolver( - @Nullable ConversionService conversionService, @Nullable ConfigurableBeanFactory beanFactory) { + ConversionService conversionService, @Nullable ConfigurableBeanFactory beanFactory) { super(conversionService, beanFactory); } diff --git a/spring-messaging/src/test/java/org/springframework/messaging/handler/annotation/support/HeaderMethodArgumentResolverTests.java b/spring-messaging/src/test/java/org/springframework/messaging/handler/annotation/support/HeaderMethodArgumentResolverTests.java index fcc4772a07..503ef454ed 100644 --- a/spring-messaging/src/test/java/org/springframework/messaging/handler/annotation/support/HeaderMethodArgumentResolverTests.java +++ b/spring-messaging/src/test/java/org/springframework/messaging/handler/annotation/support/HeaderMethodArgumentResolverTests.java @@ -145,14 +145,6 @@ public class HeaderMethodArgumentResolverTests { assertThat(result).isEqualTo(Optional.of("bar")); } - @Test - public void resolveOptionalHeaderWithValueFromNullConversionServiceInput() throws Exception { - GenericApplicationContext context = new GenericApplicationContext(); - context.refresh(); - resolver = new HeaderMethodArgumentResolver(null, context.getBeanFactory()); - resolveOptionalHeaderWithValue(); - } - @Test public void resolveOptionalHeaderAsEmpty() throws Exception { Message message = MessageBuilder.withPayload("foo").build(); -- GitLab