SPR-7316 - writeAcceptCharset now also set to false when using mvc namespace.
This commit is contained in:
parent
7730e76c06
commit
4504ab8bc2
|
|
@ -29,6 +29,7 @@ import org.springframework.beans.factory.xml.ParserContext;
|
|||
import org.springframework.core.convert.ConversionService;
|
||||
import org.springframework.format.support.FormattingConversionServiceFactoryBean;
|
||||
import org.springframework.http.converter.ByteArrayHttpMessageConverter;
|
||||
import org.springframework.http.converter.HttpMessageConverter;
|
||||
import org.springframework.http.converter.ResourceHttpMessageConverter;
|
||||
import org.springframework.http.converter.StringHttpMessageConverter;
|
||||
import org.springframework.http.converter.feed.AtomFeedHttpMessageConverter;
|
||||
|
|
@ -170,22 +171,35 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
|
|||
private ManagedList<RootBeanDefinition> getMessageConverters(Object source) {
|
||||
ManagedList<RootBeanDefinition> messageConverters = new ManagedList<RootBeanDefinition>();
|
||||
messageConverters.setSource(source);
|
||||
messageConverters.add(new RootBeanDefinition(ByteArrayHttpMessageConverter.class));
|
||||
messageConverters.add(new RootBeanDefinition(StringHttpMessageConverter.class));
|
||||
messageConverters.add(new RootBeanDefinition(ResourceHttpMessageConverter.class));
|
||||
messageConverters.add(new RootBeanDefinition(SourceHttpMessageConverter.class));
|
||||
messageConverters.add(new RootBeanDefinition(XmlAwareFormHttpMessageConverter.class));
|
||||
messageConverters.add(createConverterBeanDefinition(ByteArrayHttpMessageConverter.class, source));
|
||||
|
||||
RootBeanDefinition stringConverterDef = createConverterBeanDefinition(StringHttpMessageConverter.class, source);
|
||||
stringConverterDef.getPropertyValues().add("writeAcceptCharset", false);
|
||||
messageConverters.add(stringConverterDef);
|
||||
|
||||
messageConverters.add(createConverterBeanDefinition(ResourceHttpMessageConverter.class, source));
|
||||
messageConverters.add(createConverterBeanDefinition(SourceHttpMessageConverter.class, source));
|
||||
messageConverters.add(createConverterBeanDefinition(XmlAwareFormHttpMessageConverter.class, source));
|
||||
if (jaxb2Present) {
|
||||
messageConverters.add(new RootBeanDefinition(Jaxb2RootElementHttpMessageConverter.class));
|
||||
messageConverters.add(createConverterBeanDefinition(Jaxb2RootElementHttpMessageConverter.class, source));
|
||||
}
|
||||
if (jacksonPresent) {
|
||||
messageConverters.add(new RootBeanDefinition(MappingJacksonHttpMessageConverter.class));
|
||||
messageConverters.add(createConverterBeanDefinition(MappingJacksonHttpMessageConverter.class, source));
|
||||
}
|
||||
if (romePresent) {
|
||||
messageConverters.add(new RootBeanDefinition(AtomFeedHttpMessageConverter.class));
|
||||
messageConverters.add(new RootBeanDefinition(RssChannelHttpMessageConverter.class));
|
||||
messageConverters.add(createConverterBeanDefinition(AtomFeedHttpMessageConverter.class, source));
|
||||
messageConverters.add(createConverterBeanDefinition(RssChannelHttpMessageConverter.class, source));
|
||||
}
|
||||
return messageConverters;
|
||||
}
|
||||
|
||||
private RootBeanDefinition createConverterBeanDefinition(Class<? extends HttpMessageConverter> converterClass,
|
||||
Object source) {
|
||||
RootBeanDefinition beanDefinition = new RootBeanDefinition(converterClass);
|
||||
beanDefinition.setSource(source);
|
||||
beanDefinition.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
|
||||
|
||||
return beanDefinition;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue