This is an automated email from the ASF dual-hosted git repository.

bvahdat pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 2b5189a  honor the given exchange pattern to decide if to set IN or OUT
2b5189a is described below

commit 2b5189a008c3c492af78e556f25430f6eea840f0
Author: Babak Vahdat <[email protected]>
AuthorDate: Tue Jun 1 15:08:11 2021 +0200

    honor the given exchange pattern to decide if to set IN or OUT
---
 .../java/org/apache/camel/builder/ExchangeBuilder.java | 14 ++++++++------
 .../org/apache/camel/builder/ExchangeBuilderTest.java  | 18 ++++++++++++++++--
 2 files changed, 24 insertions(+), 8 deletions(-)

diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/builder/ExchangeBuilder.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/builder/ExchangeBuilder.java
index 8594bfa..99cd313 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/builder/ExchangeBuilder.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/builder/ExchangeBuilder.java
@@ -104,18 +104,20 @@ public final class ExchangeBuilder {
      */
     public Exchange build() {
         Exchange exchange = new DefaultExchange(context);
-        Message message = exchange.getIn();
-        message.setBody(body);
+
+        if (pattern != null) {
+            exchange.setPattern(pattern);
+        }
+
+        exchange.getMessage().setBody(body);
+
         if (headers.size() > 0) {
-            message.setHeaders(headers);
+            exchange.getMessage().setHeaders(headers);
         }
         // setup the properties on the exchange
         for (Map.Entry<String, Object> entry : properties.entrySet()) {
             exchange.setProperty(entry.getKey(), entry.getValue());
         }
-        if (pattern != null) {
-            exchange.setPattern(pattern);
-        }
 
         return exchange;
     }
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/builder/ExchangeBuilderTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/builder/ExchangeBuilderTest.java
index 7586ff4..a60d632 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/builder/ExchangeBuilderTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/builder/ExchangeBuilderTest.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.builder;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.impl.DefaultCamelContext;
@@ -25,7 +26,7 @@ import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class ExchangeBuilderTest {
-    private static final DefaultCamelContext CONTEXT = new 
DefaultCamelContext();
+    private static final CamelContext CONTEXT = new DefaultCamelContext();
     private static final String BODY = "Message Body";
     private static final String KEY = "Header key";
     private static final String VALUE = "Header value";
@@ -41,7 +42,20 @@ public class ExchangeBuilderTest {
     }
 
     @Test
-    public void testBuildAnExchangeWithBodyHeaderAndPattern() throws Exception 
{
+    public void testBuildAnExchangeWithBodyHeaderAndPatternInOnly() throws 
Exception {
+
+        Exchange exchange = 
ExchangeBuilder.anExchange(CONTEXT).withBody(BODY).withHeader(KEY, VALUE)
+                .withProperty(PROPERTY_KEY, 
PROPERTY_VALUE).withPattern(ExchangePattern.InOnly)
+                .build();
+
+        assertEquals(BODY, exchange.getMessage().getBody());
+        assertEquals(VALUE, exchange.getMessage().getHeader(KEY));
+        assertEquals(ExchangePattern.InOnly, exchange.getPattern());
+        assertEquals(PROPERTY_VALUE, exchange.getProperty(PROPERTY_KEY));
+    }
+
+    @Test
+    public void testBuildAnExchangeWithBodyHeaderAndPatternInOut() throws 
Exception {
 
         Exchange exchange = 
ExchangeBuilder.anExchange(CONTEXT).withBody(BODY).withHeader(KEY, VALUE)
                 .withProperty(PROPERTY_KEY, 
PROPERTY_VALUE).withPattern(ExchangePattern.InOut)

Reply via email to