diff --git a/build-spring-framework/resources/changelog.txt b/build-spring-framework/resources/changelog.txt index 38f92ea079..952663a576 100644 --- a/build-spring-framework/resources/changelog.txt +++ b/build-spring-framework/resources/changelog.txt @@ -17,6 +17,7 @@ Changes in version 3.1.2 (2012-06-??) * fixed StandardServletMultipartResolver compatibility with Resin (only deleting actual file parts) * fix issue with parsing invalid Content-Type or Accept headers * add Jackson 2 HttpMessageConverter and View types +* translate IOException from Jackson to HttpMessageNotReadableException Changes in version 3.1.1 (2012-02-16) ------------------------------------- diff --git a/org.springframework.web/src/main/java/org/springframework/http/converter/json/MappingJackson2HttpMessageConverter.java b/org.springframework.web/src/main/java/org/springframework/http/converter/json/MappingJackson2HttpMessageConverter.java index 343b02fe8f..33a63844fe 100644 --- a/org.springframework.web/src/main/java/org/springframework/http/converter/json/MappingJackson2HttpMessageConverter.java +++ b/org.springframework.web/src/main/java/org/springframework/http/converter/json/MappingJackson2HttpMessageConverter.java @@ -30,7 +30,6 @@ import org.springframework.util.Assert; import com.fasterxml.jackson.core.JsonEncoding; import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.ObjectMapper; @@ -123,7 +122,7 @@ public class MappingJackson2HttpMessageConverter extends AbstractHttpMessageConv try { return this.objectMapper.readValue(inputMessage.getBody(), javaType); } - catch (JsonProcessingException ex) { + catch (IOException ex) { throw new HttpMessageNotReadableException("Could not read JSON: " + ex.getMessage(), ex); } } @@ -141,7 +140,7 @@ public class MappingJackson2HttpMessageConverter extends AbstractHttpMessageConv } this.objectMapper.writeValue(jsonGenerator, object); } - catch (JsonProcessingException ex) { + catch (IOException ex) { throw new HttpMessageNotWritableException("Could not write JSON: " + ex.getMessage(), ex); } } diff --git a/org.springframework.web/src/main/java/org/springframework/http/converter/json/MappingJacksonHttpMessageConverter.java b/org.springframework.web/src/main/java/org/springframework/http/converter/json/MappingJacksonHttpMessageConverter.java index 2eb6e62171..eb691c3258 100644 --- a/org.springframework.web/src/main/java/org/springframework/http/converter/json/MappingJacksonHttpMessageConverter.java +++ b/org.springframework.web/src/main/java/org/springframework/http/converter/json/MappingJacksonHttpMessageConverter.java @@ -22,11 +22,9 @@ import java.util.List; import org.codehaus.jackson.JsonEncoding; import org.codehaus.jackson.JsonGenerator; -import org.codehaus.jackson.JsonProcessingException; import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.map.type.TypeFactory; import org.codehaus.jackson.type.JavaType; - import org.springframework.http.HttpInputMessage; import org.springframework.http.HttpOutputMessage; import org.springframework.http.MediaType; @@ -123,7 +121,7 @@ public class MappingJacksonHttpMessageConverter extends AbstractHttpMessageConve try { return this.objectMapper.readValue(inputMessage.getBody(), javaType); } - catch (JsonProcessingException ex) { + catch (IOException ex) { throw new HttpMessageNotReadableException("Could not read JSON: " + ex.getMessage(), ex); } } @@ -141,7 +139,7 @@ public class MappingJacksonHttpMessageConverter extends AbstractHttpMessageConve } this.objectMapper.writeValue(jsonGenerator, object); } - catch (JsonProcessingException ex) { + catch (IOException ex) { throw new HttpMessageNotWritableException("Could not write JSON: " + ex.getMessage(), ex); } }