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)