|
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