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.core.convert.ConversionService;
|
||||||
import org.springframework.format.support.FormattingConversionServiceFactoryBean;
|
import org.springframework.format.support.FormattingConversionServiceFactoryBean;
|
||||||
import org.springframework.http.converter.ByteArrayHttpMessageConverter;
|
import org.springframework.http.converter.ByteArrayHttpMessageConverter;
|
||||||
|
import org.springframework.http.converter.HttpMessageConverter;
|
||||||
import org.springframework.http.converter.ResourceHttpMessageConverter;
|
import org.springframework.http.converter.ResourceHttpMessageConverter;
|
||||||
import org.springframework.http.converter.StringHttpMessageConverter;
|
import org.springframework.http.converter.StringHttpMessageConverter;
|
||||||
import org.springframework.http.converter.feed.AtomFeedHttpMessageConverter;
|
import org.springframework.http.converter.feed.AtomFeedHttpMessageConverter;
|
||||||
|
|
@ -170,22 +171,35 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
|
||||||
private ManagedList<RootBeanDefinition> getMessageConverters(Object source) {
|
private ManagedList<RootBeanDefinition> getMessageConverters(Object source) {
|
||||||
ManagedList<RootBeanDefinition> messageConverters = new ManagedList<RootBeanDefinition>();
|
ManagedList<RootBeanDefinition> messageConverters = new ManagedList<RootBeanDefinition>();
|
||||||
messageConverters.setSource(source);
|
messageConverters.setSource(source);
|
||||||
messageConverters.add(new RootBeanDefinition(ByteArrayHttpMessageConverter.class));
|
messageConverters.add(createConverterBeanDefinition(ByteArrayHttpMessageConverter.class, source));
|
||||||
messageConverters.add(new RootBeanDefinition(StringHttpMessageConverter.class));
|
|
||||||
messageConverters.add(new RootBeanDefinition(ResourceHttpMessageConverter.class));
|
RootBeanDefinition stringConverterDef = createConverterBeanDefinition(StringHttpMessageConverter.class, source);
|
||||||
messageConverters.add(new RootBeanDefinition(SourceHttpMessageConverter.class));
|
stringConverterDef.getPropertyValues().add("writeAcceptCharset", false);
|
||||||
messageConverters.add(new RootBeanDefinition(XmlAwareFormHttpMessageConverter.class));
|
messageConverters.add(stringConverterDef);
|
||||||
|
|
||||||
|
messageConverters.add(createConverterBeanDefinition(ResourceHttpMessageConverter.class, source));
|
||||||
|
messageConverters.add(createConverterBeanDefinition(SourceHttpMessageConverter.class, source));
|
||||||
|
messageConverters.add(createConverterBeanDefinition(XmlAwareFormHttpMessageConverter.class, source));
|
||||||
if (jaxb2Present) {
|
if (jaxb2Present) {
|
||||||
messageConverters.add(new RootBeanDefinition(Jaxb2RootElementHttpMessageConverter.class));
|
messageConverters.add(createConverterBeanDefinition(Jaxb2RootElementHttpMessageConverter.class, source));
|
||||||
}
|
}
|
||||||
if (jacksonPresent) {
|
if (jacksonPresent) {
|
||||||
messageConverters.add(new RootBeanDefinition(MappingJacksonHttpMessageConverter.class));
|
messageConverters.add(createConverterBeanDefinition(MappingJacksonHttpMessageConverter.class, source));
|
||||||
}
|
}
|
||||||
if (romePresent) {
|
if (romePresent) {
|
||||||
messageConverters.add(new RootBeanDefinition(AtomFeedHttpMessageConverter.class));
|
messageConverters.add(createConverterBeanDefinition(AtomFeedHttpMessageConverter.class, source));
|
||||||
messageConverters.add(new RootBeanDefinition(RssChannelHttpMessageConverter.class));
|
messageConverters.add(createConverterBeanDefinition(RssChannelHttpMessageConverter.class, source));
|
||||||
}
|
}
|
||||||
return messageConverters;
|
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