From bb76df5258dd5ba6d42ee1d33cd240f87ae274e2 Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Thu, 22 Feb 2018 08:05:12 -0500 Subject: [PATCH] Polished backward compatibility comments in MessageConverterConfigurer --- .../cloud/stream/binding/MessageConverterConfigurer.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/MessageConverterConfigurer.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/MessageConverterConfigurer.java index 4316eeceb..938601100 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/MessageConverterConfigurer.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/MessageConverterConfigurer.java @@ -314,11 +314,13 @@ public class MessageConverterConfigurer implements MessageChannelAndSourceConfig @Override public Message doPreSend(Message message, MessageChannel channel) { + // ===== 1.3 backward compatibility code part-1 === String oct = message.getHeaders().containsKey(MessageHeaders.CONTENT_TYPE) ? message.getHeaders().get(MessageHeaders.CONTENT_TYPE).toString() : null; String ct = oct; if (message.getPayload() instanceof String) { ct = JavaClassMimeTypeUtils.mimeTypeFromObject(message.getPayload(), ObjectUtils.nullSafeToString(oct)).toString(); } + // ===== END 1.3 backward compatibility code part-1 === if (!message.getHeaders().containsKey(MessageHeaders.CONTENT_TYPE)) { @SuppressWarnings("unchecked") @@ -333,15 +335,14 @@ public class MessageConverterConfigurer implements MessageChannelAndSourceConfig throw new IllegalStateException("Failed to convert message: '" + message + "' to outbound message."); } - /* - * The below code is only to support message format defined in v1.x and can/will be removed in the future - */ + /// ===== 1.3 backward compatibility code part-2 === if (ct != null && !ct.equals(oct) && oct != null) { @SuppressWarnings("unchecked") Map headersMap = (Map) ReflectionUtils.getField(MessageConverterConfigurer.this.headersField, message.getHeaders()); headersMap.put(MessageHeaders.CONTENT_TYPE, MimeType.valueOf(ct)); headersMap.put(BinderHeaders.BINDER_ORIGINAL_CONTENT_TYPE, MimeType.valueOf(oct)); } + // ===== END 1.3 backward compatibility code part-2 === return outboundMessage; } }