INT-3165: Deprecate Jackson 1.x Usage

JIRA: https://jira.springsource.org/browse/INT-3165

INT-3165 Polishing

Remove unnecessary SuppressWarnings.
This commit is contained in:
Artem Bilan
2013-12-17 15:15:40 +02:00
committed by Gary Russell
parent ed4f443c4b
commit 3d5a53d5d3
12 changed files with 61 additions and 52 deletions

View File

@@ -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);

View File

@@ -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);

View File

@@ -27,8 +27,6 @@ import org.springframework.messaging.Message;
* @author Artem Bilan
* @since 3.0
*
* @see Jackson2JsonMessageParser
* @see JacksonJsonMessageParser
*/
abstract class AbstractJacksonJsonMessageParser<P> implements JsonInboundMessageMapper.JsonMessageParser<P> {

View File

@@ -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<JsonParser> {
public JacksonJsonMessageParser() {

View File

@@ -37,9 +37,12 @@ import org.springframework.util.Assert;
* Delegates <code>toJson</code> and <code>fromJson</code>
* 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<JsonParser, JavaType> {
private final ObjectMapper objectMapper;

View File

@@ -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();

View File

@@ -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();
}
}

View File

@@ -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();
}
}

View File

@@ -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<String>(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<String>(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());
}
}

View File

@@ -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<TestPerson>(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());
}
}

View File

@@ -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;
}

View File

@@ -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;
}