|
37 | 37 | * (generic) types. Based on Jackson 3.
|
38 | 38 | *
|
39 | 39 | * @author Soby Chacko
|
| 40 | + * @author Artem Bilan |
| 41 | + * |
40 | 42 | * @since 4.0
|
41 | 43 | */
|
42 | 44 | public class MappingJacksonJsonParameterizedConverter extends JacksonJsonMessageConverter {
|
@@ -83,20 +85,21 @@ public void setTypeMapper(JacksonJavaTypeMapper typeMapper) {
|
83 | 85 | protected Object convertFromInternal(Message<?> message, Class<?> targetClass, @Nullable Object conversionHint) {
|
84 | 86 | JavaType javaType = determineJavaType(message, conversionHint);
|
85 | 87 | Object value = message.getPayload();
|
86 |
| - if (value instanceof Bytes) { |
87 |
| - value = ((Bytes) value).get(); |
| 88 | + if (value instanceof Bytes bytesValue) { |
| 89 | + value = bytesValue.get(); |
88 | 90 | }
|
89 |
| - if (value instanceof String) { |
| 91 | + |
| 92 | + if (value instanceof String stringValue) { |
90 | 93 | try {
|
91 |
| - return getObjectMapper().readValue((String) value, javaType); |
| 94 | + return getJsonMapper().readValue(stringValue, javaType); |
92 | 95 | }
|
93 | 96 | catch (Exception e) {
|
94 | 97 | throw new ConversionException("Failed to convert from JSON", message, e);
|
95 | 98 | }
|
96 | 99 | }
|
97 |
| - else if (value instanceof byte[]) { |
| 100 | + else if (value instanceof byte[] byteArrayValue) { |
98 | 101 | try {
|
99 |
| - return getObjectMapper().readValue((byte[]) value, javaType); |
| 102 | + return getJsonMapper().readValue(byteArrayValue, javaType); |
100 | 103 | }
|
101 | 104 | catch (Exception e) {
|
102 | 105 | throw new ConversionException("Failed to convert from JSON", message, e);
|
|
0 commit comments