Add marshalling hooks in Jaxb2RootElementHttpMessageConverter
Allow Jaxb2RootElementHttpMessageConverter subclasses to customize
the {@link Marshaller} and the {@link Unmarshaller} created by the
message converter.
Issue: SPR-11488
pull/466/merge
Sebastien Deleuze12 years agocommitted byRossen Stoyanchev
@ -90,6 +89,7 @@ public class Jaxb2RootElementHttpMessageConverter extends AbstractJaxb2HttpMessa
@@ -90,6 +89,7 @@ public class Jaxb2RootElementHttpMessageConverter extends AbstractJaxb2HttpMessa
@ -132,6 +132,7 @@ public class Jaxb2RootElementHttpMessageConverter extends AbstractJaxb2HttpMessa
@@ -132,6 +132,7 @@ public class Jaxb2RootElementHttpMessageConverter extends AbstractJaxb2HttpMessa
try{
Class<?>clazz=ClassUtils.getUserClass(o);
Marshallermarshaller=createMarshaller(clazz);
this.customizeMarshaller(marshaller);
setCharset(headers.getContentType(),marshaller);
marshaller.marshal(o,result);
}
@ -149,4 +150,26 @@ public class Jaxb2RootElementHttpMessageConverter extends AbstractJaxb2HttpMessa
@@ -149,4 +150,26 @@ public class Jaxb2RootElementHttpMessageConverter extends AbstractJaxb2HttpMessa
@ -146,6 +154,25 @@ public class Jaxb2RootElementHttpMessageConverterTests {
@@ -146,6 +154,25 @@ public class Jaxb2RootElementHttpMessageConverterTests {
@ -176,4 +203,84 @@ public class Jaxb2RootElementHttpMessageConverterTests {
@@ -176,4 +203,84 @@ public class Jaxb2RootElementHttpMessageConverterTests {