From 951c664cc475673cd5269f1d7e3c8e42cadac283 Mon Sep 17 00:00:00 2001 From: Arjen Poutsma Date: Wed, 24 Jun 2009 12:36:49 +0000 Subject: [PATCH] Removed JsonFactory property, which is redundant with the ObjectMapper property. --- .../BindingJacksonHttpMessageConverter.java | 24 +++++-------------- 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/org.springframework.web/src/main/java/org/springframework/http/converter/json/BindingJacksonHttpMessageConverter.java b/org.springframework.web/src/main/java/org/springframework/http/converter/json/BindingJacksonHttpMessageConverter.java index b3450bf1cfa..8c540cd2596 100644 --- a/org.springframework.web/src/main/java/org/springframework/http/converter/json/BindingJacksonHttpMessageConverter.java +++ b/org.springframework.web/src/main/java/org/springframework/http/converter/json/BindingJacksonHttpMessageConverter.java @@ -21,9 +21,7 @@ import java.nio.charset.Charset; import java.util.List; import org.codehaus.jackson.JsonEncoding; -import org.codehaus.jackson.JsonFactory; import org.codehaus.jackson.JsonGenerator; -import org.codehaus.jackson.map.MappingJsonFactory; import org.codehaus.jackson.map.ObjectMapper; import org.springframework.http.HttpInputMessage; @@ -38,7 +36,7 @@ import org.springframework.util.Assert; * Implementation of {@link org.springframework.http.converter.HttpMessageConverter HttpMessageConverter} that can read * and write JSON using Jackson's {@link ObjectMapper}. * - *

This converter can be used to bind to typed beans, or untyped {@link java.util.HashMap HashMap} instances. + *

This converter can be used to bind to typed beans, or untyped {@link java.util.HashMap HashMap} instances. * *

By default, this converter supports {@code application/json}. This can be overridden by setting the {@link * #setSupportedMediaTypes(List) supportedMediaTypes} property, and overriding the {@link #getContentType(Object)} @@ -51,13 +49,9 @@ public class BindingJacksonHttpMessageConverter extends AbstractHttpMessageCo private ObjectMapper objectMapper = new ObjectMapper(); - private JsonFactory jsonFactory = new MappingJsonFactory(); - private JsonEncoding encoding = JsonEncoding.UTF8; - /** - * Construct a new {@code BindingJacksonHttpMessageConverter}, - */ + /** Construct a new {@code BindingJacksonHttpMessageConverter}, */ public BindingJacksonHttpMessageConverter() { super(new MediaType("application", "json")); } @@ -71,16 +65,9 @@ public class BindingJacksonHttpMessageConverter extends AbstractHttpMessageCo this.objectMapper = objectMapper; } - /** Sets the {@code JsonFactory} for this converter. By default, a {@link MappingJsonFactory} is used. */ - public void setJsonFactory(JsonFactory jsonFactory) { - Assert.notNull(jsonFactory, "'jsonFactory' must not be null"); - this.jsonFactory = jsonFactory; - } - - /** - * Sets the {@code JsonEncoding} for this converter. By default, {@linkplain JsonEncoding#UTF8 UTF-8} is used. - */ + /** Sets the {@code JsonEncoding} for this converter. By default, {@linkplain JsonEncoding#UTF8 UTF-8} is used. */ public void setEncoding(JsonEncoding encoding) { + Assert.notNull(encoding, "'encoding' must not be null"); this.encoding = encoding; } @@ -103,7 +90,8 @@ public class BindingJacksonHttpMessageConverter extends AbstractHttpMessageCo @Override protected void writeInternal(T t, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException { - JsonGenerator jsonGenerator = jsonFactory.createJsonGenerator(outputMessage.getBody(), encoding); + JsonGenerator jsonGenerator = + objectMapper.getJsonFactory().createJsonGenerator(outputMessage.getBody(), encoding); objectMapper.writeValue(jsonGenerator, t); } }