CAMEL-10582: Fixing copying of immutable Spring headers
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/c577d4ea Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/c577d4ea Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/c577d4ea Branch: refs/heads/camel-2.17.x Commit: c577d4ea96d047afaf5f87082d6f652e03f744ac Parents: bea972e Author: Boris Kuzmic <boris.kuz...@ericsson.com> Authored: Fri Dec 9 16:35:34 2016 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Mon Dec 12 10:03:58 2016 +0100 ---------------------------------------------------------------------- .../integration/SpringIntegrationMessage.java | 2 +- .../SpringIntegrationMessageTest.java | 28 ++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/c577d4ea/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationMessage.java ---------------------------------------------------------------------- diff --git a/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationMessage.java b/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationMessage.java index a5463d7..16187a9 100644 --- a/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationMessage.java +++ b/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationMessage.java @@ -53,7 +53,7 @@ public class SpringIntegrationMessage extends DefaultMessage { setMessageId(that.getMessageId()); setBody(that.getBody()); - getHeaders().putAll(that.getHeaders()); + super.getHeaders().putAll(that.getHeaders()); if (that instanceof SpringIntegrationMessage) { SpringIntegrationMessage orig = (SpringIntegrationMessage) that; setMessage(orig.getMessage()); http://git-wip-us.apache.org/repos/asf/camel/blob/c577d4ea/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/SpringIntegrationMessageTest.java ---------------------------------------------------------------------- diff --git a/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/SpringIntegrationMessageTest.java b/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/SpringIntegrationMessageTest.java new file mode 100644 index 0000000..0ab5dc7 --- /dev/null +++ b/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/SpringIntegrationMessageTest.java @@ -0,0 +1,28 @@ +package org.apache.camel.component.spring.integration; + +import org.junit.Test; +import org.springframework.messaging.support.MessageBuilder; + +import static org.junit.Assert.assertTrue; + +public class SpringIntegrationMessageTest { + + @Test + public void testCopyFrom() { + org.springframework.messaging.Message testSpringMessage = + MessageBuilder.withPayload("Test") + .setHeader("header1", "value1") + .setHeader("header2", "value2") + .build(); + + SpringIntegrationMessage original = new SpringIntegrationMessage(testSpringMessage); + + SpringIntegrationMessage copy = new SpringIntegrationMessage(testSpringMessage); + + copy.copyFrom(original); + + assertTrue(copy.getHeaders().containsKey("header1")); + assertTrue(copy.getHeaders().containsKey("header2")); + } + +}