diff --git a/spring-integration-core/src/main/java/org/springframework/integration/json/JsonToObjectTransformer.java b/spring-integration-core/src/main/java/org/springframework/integration/json/JsonToObjectTransformer.java index 3f6395b7ad..2f6ce78af1 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/json/JsonToObjectTransformer.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/json/JsonToObjectTransformer.java @@ -19,7 +19,6 @@ package org.springframework.integration.json; import org.springframework.beans.factory.BeanClassLoaderAware; import org.springframework.integration.mapping.support.JsonHeaders; import org.springframework.integration.support.MessageBuilder; -import org.springframework.integration.support.json.JacksonJsonObjectMapper; import org.springframework.integration.support.json.JacksonJsonObjectMapperProvider; import org.springframework.integration.support.json.JsonObjectMapper; import org.springframework.integration.transformer.AbstractTransformer; @@ -66,7 +65,8 @@ public class JsonToObjectTransformer extends AbstractTransformer implements Bean try { Class objectMapperClass = ClassUtils.forName("org.codehaus.jackson.map.ObjectMapper", ClassUtils.getDefaultClassLoader()); Assert.isTrue(objectMapperClass.isAssignableFrom(objectMapper.getClass())); - this.jsonObjectMapper = new JacksonJsonObjectMapper((org.codehaus.jackson.map.ObjectMapper) objectMapper); + this.jsonObjectMapper = new org.springframework.integration.support.json.JacksonJsonObjectMapper( + (org.codehaus.jackson.map.ObjectMapper) objectMapper); } catch (ClassNotFoundException e) { throw new IllegalArgumentException(e); diff --git a/spring-integration-core/src/main/java/org/springframework/integration/json/ObjectToJsonTransformer.java b/spring-integration-core/src/main/java/org/springframework/integration/json/ObjectToJsonTransformer.java index 633ed3d462..2c569eadd3 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/json/ObjectToJsonTransformer.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/json/ObjectToJsonTransformer.java @@ -15,13 +15,12 @@ */ package org.springframework.integration.json; -import org.springframework.messaging.Message; -import org.springframework.messaging.MessageHeaders; import org.springframework.integration.support.MessageBuilder; -import org.springframework.integration.support.json.JacksonJsonObjectMapper; import org.springframework.integration.support.json.JacksonJsonObjectMapperProvider; import org.springframework.integration.support.json.JsonObjectMapper; import org.springframework.integration.transformer.AbstractTransformer; +import org.springframework.messaging.Message; +import org.springframework.messaging.MessageHeaders; import org.springframework.util.Assert; import org.springframework.util.ClassUtils; import org.springframework.util.LinkedCaseInsensitiveMap; @@ -62,7 +61,8 @@ public class ObjectToJsonTransformer extends AbstractTransformer { try { Class objectMapperClass = ClassUtils.forName("org.codehaus.jackson.map.ObjectMapper", ClassUtils.getDefaultClassLoader()); Assert.isTrue(objectMapperClass.isAssignableFrom(objectMapper.getClass())); - this.jsonObjectMapper = new JacksonJsonObjectMapper((org.codehaus.jackson.map.ObjectMapper) objectMapper); + this.jsonObjectMapper = new org.springframework.integration.support.json.JacksonJsonObjectMapper( + (org.codehaus.jackson.map.ObjectMapper) objectMapper); } catch (ClassNotFoundException e) { throw new IllegalArgumentException(e); diff --git a/spring-integration-core/src/main/java/org/springframework/integration/support/json/AbstractJacksonJsonMessageParser.java b/spring-integration-core/src/main/java/org/springframework/integration/support/json/AbstractJacksonJsonMessageParser.java index 948fc0c6ee..becf3bf73b 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/support/json/AbstractJacksonJsonMessageParser.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/support/json/AbstractJacksonJsonMessageParser.java @@ -27,8 +27,6 @@ import org.springframework.messaging.Message; * @author Artem Bilan * @since 3.0 * - * @see Jackson2JsonMessageParser - * @see JacksonJsonMessageParser */ abstract class AbstractJacksonJsonMessageParser

implements JsonInboundMessageMapper.JsonMessageParser

{ diff --git a/spring-integration-core/src/main/java/org/springframework/integration/support/json/JacksonJsonMessageParser.java b/spring-integration-core/src/main/java/org/springframework/integration/support/json/JacksonJsonMessageParser.java index c96beee76b..60b25539e8 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/support/json/JacksonJsonMessageParser.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/support/json/JacksonJsonMessageParser.java @@ -32,9 +32,12 @@ import org.springframework.util.Assert; * and builds a {@link Message} with the specified payload type from provided {@link JsonInboundMessageMapper}. * Uses Jackson JSON-processor (@link http://jackson.codehaus.org). * + * @deprecated Please migrate to {@link Jackson2JsonMessageParser} for Jackson 2.x. + * * @author Artem Bilan * @since 3.0 */ +@Deprecated public class JacksonJsonMessageParser extends AbstractJacksonJsonMessageParser { public JacksonJsonMessageParser() { diff --git a/spring-integration-core/src/main/java/org/springframework/integration/support/json/JacksonJsonObjectMapper.java b/spring-integration-core/src/main/java/org/springframework/integration/support/json/JacksonJsonObjectMapper.java index 92342dd621..16638d6802 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/support/json/JacksonJsonObjectMapper.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/support/json/JacksonJsonObjectMapper.java @@ -37,9 +37,12 @@ import org.springframework.util.Assert; * Delegates toJson and fromJson * to the {@linkplain org.codehaus.jackson.map.ObjectMapper} * + * @deprecated Please migrate to {@link Jackson2JsonObjectMapper} for Jackson 2.x. + * * @author Artem Bilan * @since 3.0 */ +@Deprecated public class JacksonJsonObjectMapper extends AbstractJacksonJsonObjectMapper { private final ObjectMapper objectMapper; diff --git a/spring-integration-core/src/main/java/org/springframework/integration/support/json/JacksonJsonObjectMapperProvider.java b/spring-integration-core/src/main/java/org/springframework/integration/support/json/JacksonJsonObjectMapperProvider.java index 549516855d..f5c06403f3 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/support/json/JacksonJsonObjectMapperProvider.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/support/json/JacksonJsonObjectMapperProvider.java @@ -28,10 +28,10 @@ package org.springframework.integration.support.json; * @since 3.0 * * @see Jackson2JsonObjectMapper - * @see JacksonJsonObjectMapper */ public final class JacksonJsonObjectMapperProvider { + @SuppressWarnings("deprecation") public static JsonObjectMapper newInstance() { if (JacksonJsonUtils.isJackson2Present()) { return new Jackson2JsonObjectMapper(); diff --git a/spring-integration-core/src/test/java/org/springframework/integration/json/JacksonJsonInboundMessageMapperTests.java b/spring-integration-core/src/test/java/org/springframework/integration/json/JacksonJsonInboundMessageMapperTests.java index 0410589af0..4806b1dc7a 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/json/JacksonJsonInboundMessageMapperTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/json/JacksonJsonInboundMessageMapperTests.java @@ -15,7 +15,6 @@ */ package org.springframework.integration.json; -import org.springframework.integration.support.json.JacksonJsonMessageParser; import org.springframework.integration.support.json.JsonInboundMessageMapper.JsonMessageParser; /** @@ -23,11 +22,12 @@ import org.springframework.integration.support.json.JsonInboundMessageMapper.Jso * @since 3.0 * */ +@Deprecated public class JacksonJsonInboundMessageMapperTests extends AbstractJsonInboundMessageMapperTests { @Override protected JsonMessageParser getParser() { - return new JacksonJsonMessageParser(); + return new org.springframework.integration.support.json.JacksonJsonMessageParser(); } } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/json/JacksonJsonSymmetricalMessageMappingTests.java b/spring-integration-core/src/test/java/org/springframework/integration/json/JacksonJsonSymmetricalMessageMappingTests.java index 7527fb6e1d..9915b2a242 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/json/JacksonJsonSymmetricalMessageMappingTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/json/JacksonJsonSymmetricalMessageMappingTests.java @@ -15,7 +15,6 @@ */ package org.springframework.integration.json; -import org.springframework.integration.support.json.JacksonJsonMessageParser; import org.springframework.integration.support.json.JsonInboundMessageMapper.JsonMessageParser; /** @@ -23,11 +22,12 @@ import org.springframework.integration.support.json.JsonInboundMessageMapper.Jso * @since 3.0 * */ +@Deprecated public class JacksonJsonSymmetricalMessageMappingTests extends AbstractJsonSymmetricalMessageMappingTests { @Override protected JsonMessageParser getParser() { - return new JacksonJsonMessageParser(); + return new org.springframework.integration.support.json.JacksonJsonMessageParser(); } } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/json/JsonToObjectTransformerTests.java b/spring-integration-core/src/test/java/org/springframework/integration/json/JsonToObjectTransformerTests.java index 9cc70d1b11..6b89d19f75 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/json/JsonToObjectTransformerTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/json/JsonToObjectTransformerTests.java @@ -18,14 +18,15 @@ package org.springframework.integration.json; import static org.junit.Assert.assertEquals; -import org.codehaus.jackson.JsonParser.Feature; -import org.codehaus.jackson.map.ObjectMapper; import org.junit.Test; -import org.springframework.integration.support.json.JacksonJsonObjectMapper; +import org.springframework.integration.support.json.Jackson2JsonObjectMapper; import org.springframework.messaging.Message; import org.springframework.messaging.support.GenericMessage; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.ObjectMapper; + /** * @author Mark Fisher * @author Artem Bilan @@ -38,7 +39,6 @@ public class JsonToObjectTransformerTests { JsonToObjectTransformer transformer = new JsonToObjectTransformer(TestPerson.class); String jsonString = "{\"firstName\":\"John\",\"lastName\":\"Doe\",\"age\":42,\"address\":{\"number\":123,\"street\":\"Main Street\"}}"; Message message = transformer.transform(new GenericMessage(jsonString)); - @SuppressWarnings("unchecked") TestPerson person = (TestPerson) message.getPayload(); assertEquals("John", person.getFirstName()); assertEquals("Doe", person.getLastName()); @@ -49,13 +49,12 @@ public class JsonToObjectTransformerTests { @Test public void objectPayloadWithCustomMapper() throws Exception { ObjectMapper customMapper = new ObjectMapper(); - customMapper.configure(Feature.ALLOW_UNQUOTED_FIELD_NAMES, Boolean.TRUE); - customMapper.configure(Feature.ALLOW_SINGLE_QUOTES, Boolean.TRUE); + customMapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, Boolean.TRUE); + customMapper.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, Boolean.TRUE); JsonToObjectTransformer transformer = - new JsonToObjectTransformer(TestPerson.class, new JacksonJsonObjectMapper(customMapper)); + new JsonToObjectTransformer(TestPerson.class, new Jackson2JsonObjectMapper(customMapper)); String jsonString = "{firstName:'John', lastName:'Doe', age:42, address:{number:123, street:'Main Street'}}"; Message message = transformer.transform(new GenericMessage(jsonString)); - @SuppressWarnings("unchecked") TestPerson person = (TestPerson) message.getPayload(); assertEquals("John", person.getFirstName()); assertEquals("Doe", person.getLastName()); @@ -63,11 +62,4 @@ public class JsonToObjectTransformerTests { assertEquals("123 Main Street", person.getAddress().toString()); } - @SuppressWarnings("deprecation") - @Test(expected = IllegalArgumentException.class) - public void testInt2831IllegalArgument() throws Exception { - new JsonToObjectTransformer(String.class, new Object()); - } - - } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/json/ObjectToJsonTransformerTests.java b/spring-integration-core/src/test/java/org/springframework/integration/json/ObjectToJsonTransformerTests.java index 24ee63232f..a08a852b3f 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/json/ObjectToJsonTransformerTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/json/ObjectToJsonTransformerTests.java @@ -23,15 +23,16 @@ import static org.junit.Assert.assertTrue; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.codehaus.jackson.JsonGenerator.Feature; -import org.codehaus.jackson.map.ObjectMapper; import org.junit.Test; -import org.springframework.messaging.support.GenericMessage; import org.springframework.integration.support.MessageBuilder; -import org.springframework.integration.support.json.JacksonJsonObjectMapper; +import org.springframework.integration.support.json.Jackson2JsonObjectMapper; import org.springframework.messaging.Message; import org.springframework.messaging.MessageHeaders; +import org.springframework.messaging.support.GenericMessage; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.ObjectMapper; /** * @author Mark Fisher @@ -125,8 +126,8 @@ public class ObjectToJsonTransformerTests { @Test public void objectPayloadWithCustomObjectMapper() throws Exception { ObjectMapper customMapper = new ObjectMapper(); - customMapper.configure(Feature.QUOTE_FIELD_NAMES, Boolean.FALSE); - ObjectToJsonTransformer transformer = new ObjectToJsonTransformer(new JacksonJsonObjectMapper(customMapper)); + customMapper.configure(JsonGenerator.Feature.QUOTE_FIELD_NAMES, Boolean.FALSE); + ObjectToJsonTransformer transformer = new ObjectToJsonTransformer(new Jackson2JsonObjectMapper(customMapper)); TestPerson person = new TestPerson("John", "Doe", 42); person.setAddress(new TestAddress(123, "Main Street")); String result = (String) transformer.transform(new GenericMessage(person)).getPayload(); @@ -141,10 +142,4 @@ public class ObjectToJsonTransformerTests { assertTrue(addressResult.contains("street:\"Main Street\"")); } - @SuppressWarnings("deprecation") - @Test(expected = IllegalArgumentException.class) - public void testInt2831IllegalArgument() throws Exception { - new ObjectToJsonTransformer(new Object()); - } - } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/json/TestAddress.java b/spring-integration-core/src/test/java/org/springframework/integration/json/TestAddress.java index ac6039e1c3..ad0b8900cc 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/json/TestAddress.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/json/TestAddress.java @@ -20,7 +20,6 @@ package org.springframework.integration.json; * @author Mark Fisher * @since 2.0 */ -@SuppressWarnings("unused") class TestAddress { private volatile int number; @@ -54,13 +53,21 @@ class TestAddress { @Override public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } TestAddress that = (TestAddress) o; - if (number != that.number) return false; - if (street != null ? !street.equals(that.street) : that.street != null) return false; + if (number != that.number) { + return false; + } + if (street != null ? !street.equals(that.street) : that.street != null) { + return false; + } return true; } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/json/TestPerson.java b/spring-integration-core/src/test/java/org/springframework/integration/json/TestPerson.java index e77bf4d52a..467cbc9427 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/json/TestPerson.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/json/TestPerson.java @@ -20,7 +20,6 @@ package org.springframework.integration.json; * @author Mark Fisher * @since 2.0 */ -@SuppressWarnings("unused") class TestPerson { private volatile String firstName; @@ -75,15 +74,27 @@ class TestPerson { @Override public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } TestPerson that = (TestPerson) o; - if (age != that.age) return false; - if (address != null ? !address.equals(that.address) : that.address != null) return false; - if (firstName != null ? !firstName.equals(that.firstName) : that.firstName != null) return false; - if (lastName != null ? !lastName.equals(that.lastName) : that.lastName != null) return false; + if (age != that.age) { + return false; + } + if (address != null ? !address.equals(that.address) : that.address != null) { + return false; + } + if (firstName != null ? !firstName.equals(that.firstName) : that.firstName != null) { + return false; + } + if (lastName != null ? !lastName.equals(that.lastName) : that.lastName != null) { + return false; + } return true; }