Skip to content

Commit 2cb1597

Browse files
committed
Revert class naming to maintain compatibility
* Keep existing `*JacksonDeserializer` classes unchanged * Add new `*Jackson3Deserializer` classes for Jackson 3 support Signed-off-by: Jooyoung Pyoung <[email protected]>
1 parent b84dfad commit 2cb1597

22 files changed

+370
-422
lines changed
Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,38 +16,33 @@
1616

1717
package org.springframework.integration.support.json;
1818

19-
import java.io.IOException;
20-
21-
import com.fasterxml.jackson.databind.DeserializationContext;
22-
import com.fasterxml.jackson.databind.JsonNode;
19+
import tools.jackson.core.JacksonException;
20+
import tools.jackson.databind.DeserializationContext;
21+
import tools.jackson.databind.JsonNode;
2322

2423
import org.springframework.integration.message.AdviceMessage;
2524
import org.springframework.integration.support.MutableMessageHeaders;
2625
import org.springframework.messaging.Message;
27-
import org.springframework.messaging.MessageHeaders;
2826

2927
/**
30-
* The {@link MessageJackson2Deserializer} implementation for the {@link AdviceMessage}.
28+
* The {@link MessageJackson3Deserializer} implementation for the {@link AdviceMessage}.
3129
*
32-
* @author Artem Bilan
33-
* @author Ngoc Nhan
30+
* @author Jooyoung Pyoung
3431
*
35-
* @since 4.3.10
32+
* @since 7.0
3633
*/
37-
public class AdviceMessageJackson2Deserializer extends MessageJackson2Deserializer<AdviceMessage<?>> {
38-
39-
private static final long serialVersionUID = 1L;
34+
public class AdviceMessageJackson3Deserializer extends MessageJackson3Deserializer<AdviceMessage<?>> {
4035

4136
@SuppressWarnings("unchecked")
42-
public AdviceMessageJackson2Deserializer() {
37+
public AdviceMessageJackson3Deserializer() {
4338
super((Class<AdviceMessage<?>>) (Class<?>) AdviceMessage.class);
4439
}
4540

4641
@Override
4742
protected AdviceMessage<?> buildMessage(MutableMessageHeaders headers, Object payload, JsonNode root,
48-
DeserializationContext ctxt) throws IOException {
49-
Message<?> inputMessage = getMapper().readValue(root.get("inputMessage").traverse(), Message.class);
50-
return new AdviceMessage<>(payload, (MessageHeaders) headers, inputMessage);
43+
DeserializationContext ctxt) throws JacksonException {
44+
Message<?> inputMessage = getMapper().readValue(root.get("inputMessage").traverse(ctxt), Message.class);
45+
return new AdviceMessage<>(payload, headers, inputMessage);
5146
}
5247

5348
}

spring-integration-core/src/main/java/org/springframework/integration/support/json/AdviceMessageJacksonDeserializer.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,23 @@
1616

1717
package org.springframework.integration.support.json;
1818

19-
import tools.jackson.core.JacksonException;
20-
import tools.jackson.databind.DeserializationContext;
21-
import tools.jackson.databind.JsonNode;
19+
import java.io.IOException;
20+
21+
import com.fasterxml.jackson.databind.DeserializationContext;
22+
import com.fasterxml.jackson.databind.JsonNode;
2223

2324
import org.springframework.integration.message.AdviceMessage;
2425
import org.springframework.integration.support.MutableMessageHeaders;
2526
import org.springframework.messaging.Message;
27+
import org.springframework.messaging.MessageHeaders;
2628

2729
/**
2830
* The {@link MessageJacksonDeserializer} implementation for the {@link AdviceMessage}.
2931
*
30-
* @author Jooyoung Pyoung
32+
* @author Artem Bilan
33+
* @author Ngoc Nhan
3134
*
32-
* @since 7.0
35+
* @since 4.3.10
3336
*/
3437
public class AdviceMessageJacksonDeserializer extends MessageJacksonDeserializer<AdviceMessage<?>> {
3538

@@ -42,9 +45,9 @@ public AdviceMessageJacksonDeserializer() {
4245

4346
@Override
4447
protected AdviceMessage<?> buildMessage(MutableMessageHeaders headers, Object payload, JsonNode root,
45-
DeserializationContext ctxt) throws JacksonException {
46-
Message<?> inputMessage = getMapper().readValue(root.get("inputMessage").traverse(ctxt), Message.class);
47-
return new AdviceMessage<>(payload, headers, inputMessage);
48+
DeserializationContext ctxt) throws IOException {
49+
Message<?> inputMessage = getMapper().readValue(root.get("inputMessage").traverse(), Message.class);
50+
return new AdviceMessage<>(payload, (MessageHeaders) headers, inputMessage);
4851
}
4952

5053
}

spring-integration-core/src/main/java/org/springframework/integration/support/json/EmbeddedJsonHeadersMessageMapper.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,13 +70,12 @@
7070
* </pre>
7171
* <p>
7272
* To add more packages, create an object mapper using
73-
* {@link Jackson2MessagingAwareMapperUtils#messagingAwareMapper(String...)}.
73+
* {@link JacksonJsonUtils#messagingAwareMapper(String...)}.
7474
* <p>
7575
* A constructor is provided allowing the provision of such a configured object mapper.
7676
*
7777
* @author Gary Russell
7878
* @author Artem Bilan
79-
* @author Jooyoung Pyoung
8079
*
8180
* @since 5.0
8281
*
@@ -110,7 +109,7 @@ public EmbeddedJsonHeadersMessageMapper() {
110109
* @see PatternMatchUtils#smartMatch(String, String...)
111110
*/
112111
public EmbeddedJsonHeadersMessageMapper(String... headerPatterns) {
113-
this(Jackson2MessagingAwareMapperUtils.messagingAwareMapper(), headerPatterns);
112+
this(JacksonJsonUtils.messagingAwareMapper(), headerPatterns);
114113
}
115114

116115
/**
Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,37 +16,34 @@
1616

1717
package org.springframework.integration.support.json;
1818

19-
import java.io.IOException;
20-
21-
import com.fasterxml.jackson.databind.DeserializationContext;
22-
import com.fasterxml.jackson.databind.JsonNode;
23-
import com.fasterxml.jackson.databind.type.TypeFactory;
19+
import tools.jackson.core.JacksonException;
20+
import tools.jackson.databind.DeserializationContext;
21+
import tools.jackson.databind.JsonNode;
22+
import tools.jackson.databind.type.TypeFactory;
2423

2524
import org.springframework.integration.support.MutableMessageHeaders;
2625
import org.springframework.messaging.Message;
2726
import org.springframework.messaging.support.ErrorMessage;
2827

2928
/**
30-
* The {@link MessageJackson2Deserializer} implementation for the {@link ErrorMessage}.
29+
* The {@link MessageJackson3Deserializer} implementation for the {@link ErrorMessage}.
3130
*
32-
* @author Artem Bilan
31+
* @author Jooyoung Pyoung
3332
*
34-
* @since 4.3.10
33+
* @since 7.0
3534
*/
36-
public class ErrorMessageJackson2Deserializer extends MessageJackson2Deserializer<ErrorMessage> {
37-
38-
private static final long serialVersionUID = 1L;
35+
public class ErrorMessageJackson3Deserializer extends MessageJackson3Deserializer<ErrorMessage> {
3936

4037
@SuppressWarnings("this-escape")
41-
public ErrorMessageJackson2Deserializer() {
38+
public ErrorMessageJackson3Deserializer() {
4239
super(ErrorMessage.class);
43-
setPayloadType(TypeFactory.defaultInstance().constructType(Throwable.class));
40+
setPayloadType(TypeFactory.createDefaultInstance().constructType(Throwable.class));
4441
}
4542

4643
@Override
4744
protected ErrorMessage buildMessage(MutableMessageHeaders headers, Object payload, JsonNode root,
48-
DeserializationContext ctxt) throws IOException {
49-
Message<?> originalMessage = getMapper().readValue(root.get("originalMessage").traverse(), Message.class);
45+
DeserializationContext ctxt) throws JacksonException {
46+
Message<?> originalMessage = getMapper().readValue(root.get("originalMessage").traverse(ctxt), Message.class);
5047
return new ErrorMessage((Throwable) payload, headers, originalMessage);
5148
}
5249

spring-integration-core/src/main/java/org/springframework/integration/support/json/ErrorMessageJacksonDeserializer.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,11 @@
1616

1717
package org.springframework.integration.support.json;
1818

19-
import tools.jackson.core.JacksonException;
20-
import tools.jackson.databind.DeserializationContext;
21-
import tools.jackson.databind.JsonNode;
22-
import tools.jackson.databind.type.TypeFactory;
19+
import java.io.IOException;
20+
21+
import com.fasterxml.jackson.databind.DeserializationContext;
22+
import com.fasterxml.jackson.databind.JsonNode;
23+
import com.fasterxml.jackson.databind.type.TypeFactory;
2324

2425
import org.springframework.integration.support.MutableMessageHeaders;
2526
import org.springframework.messaging.Message;
@@ -28,9 +29,9 @@
2829
/**
2930
* The {@link MessageJacksonDeserializer} implementation for the {@link ErrorMessage}.
3031
*
31-
* @author Jooyoung Pyoung
32+
* @author Artem Bilan
3233
*
33-
* @since 7.0
34+
* @since 4.3.10
3435
*/
3536
public class ErrorMessageJacksonDeserializer extends MessageJacksonDeserializer<ErrorMessage> {
3637

@@ -39,13 +40,13 @@ public class ErrorMessageJacksonDeserializer extends MessageJacksonDeserializer<
3940
@SuppressWarnings("this-escape")
4041
public ErrorMessageJacksonDeserializer() {
4142
super(ErrorMessage.class);
42-
setPayloadType(TypeFactory.createDefaultInstance().constructType(Throwable.class));
43+
setPayloadType(TypeFactory.defaultInstance().constructType(Throwable.class));
4344
}
4445

4546
@Override
4647
protected ErrorMessage buildMessage(MutableMessageHeaders headers, Object payload, JsonNode root,
47-
DeserializationContext ctxt) throws JacksonException {
48-
Message<?> originalMessage = getMapper().readValue(root.get("originalMessage").traverse(ctxt), Message.class);
48+
DeserializationContext ctxt) throws IOException {
49+
Message<?> originalMessage = getMapper().readValue(root.get("originalMessage").traverse(), Message.class);
4950
return new ErrorMessage((Throwable) payload, headers, originalMessage);
5051
}
5152

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,33 +16,30 @@
1616

1717
package org.springframework.integration.support.json;
1818

19-
import java.io.IOException;
20-
21-
import com.fasterxml.jackson.databind.DeserializationContext;
22-
import com.fasterxml.jackson.databind.JsonNode;
19+
import tools.jackson.core.JacksonException;
20+
import tools.jackson.databind.DeserializationContext;
21+
import tools.jackson.databind.JsonNode;
2322

2423
import org.springframework.integration.support.MutableMessageHeaders;
2524
import org.springframework.messaging.support.GenericMessage;
2625

2726
/**
28-
* The {@link MessageJackson2Deserializer} implementation for the {@link GenericMessage}.
27+
* The {@link MessageJackson3Deserializer} implementation for the {@link GenericMessage}.
2928
*
30-
* @author Artem Bilan
29+
* @author Jooyoung Pyoung
3130
*
32-
* @since 4.3.10
31+
* @since 7.0
3332
*/
34-
public class GenericMessageJackson2Deserializer extends MessageJackson2Deserializer<GenericMessage<?>> {
35-
36-
private static final long serialVersionUID = 1L;
33+
public class GenericMessageJackson3Deserializer extends MessageJackson3Deserializer<GenericMessage<?>> {
3734

3835
@SuppressWarnings("unchecked")
39-
public GenericMessageJackson2Deserializer() {
36+
public GenericMessageJackson3Deserializer() {
4037
super((Class<GenericMessage<?>>) (Class<?>) GenericMessage.class);
4138
}
4239

4340
@Override
4441
protected GenericMessage<?> buildMessage(MutableMessageHeaders headers, Object payload, JsonNode root,
45-
DeserializationContext ctxt) throws IOException {
42+
DeserializationContext ctxt) throws JacksonException {
4643
return new GenericMessage<Object>(payload, headers);
4744
}
4845

spring-integration-core/src/main/java/org/springframework/integration/support/json/GenericMessageJacksonDeserializer.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,20 @@
1616

1717
package org.springframework.integration.support.json;
1818

19-
import tools.jackson.core.JacksonException;
20-
import tools.jackson.databind.DeserializationContext;
21-
import tools.jackson.databind.JsonNode;
19+
import java.io.IOException;
20+
21+
import com.fasterxml.jackson.databind.DeserializationContext;
22+
import com.fasterxml.jackson.databind.JsonNode;
2223

2324
import org.springframework.integration.support.MutableMessageHeaders;
2425
import org.springframework.messaging.support.GenericMessage;
2526

2627
/**
2728
* The {@link MessageJacksonDeserializer} implementation for the {@link GenericMessage}.
2829
*
29-
* @author Jooyoung Pyoung
30+
* @author Artem Bilan
3031
*
31-
* @since 7.0
32+
* @since 4.3.10
3233
*/
3334
public class GenericMessageJacksonDeserializer extends MessageJacksonDeserializer<GenericMessage<?>> {
3435

@@ -41,7 +42,7 @@ public GenericMessageJacksonDeserializer() {
4142

4243
@Override
4344
protected GenericMessage<?> buildMessage(MutableMessageHeaders headers, Object payload, JsonNode root,
44-
DeserializationContext ctxt) throws JacksonException {
45+
DeserializationContext ctxt) throws IOException {
4546
return new GenericMessage<Object>(payload, headers);
4647
}
4748

0 commit comments

Comments
 (0)