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

davsclaus 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 b3a18e0  CAMEL-16861: Cleanup and update EIP docs
b3a18e0 is described below

commit b3a18e0ba1945f49b6953a2791d4f77dbb4d92ca
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Thu Oct 14 16:14:42 2021 +0200

    CAMEL-16861: Cleanup and update EIP docs
---
 .../modules/eips/pages/message-translator.adoc     |  2 +-
 .../main/docs/modules/eips/pages/setBody-eip.adoc  | 60 +++++++++++++++-------
 .../docs/modules/eips/pages/transform-eip.adoc     | 14 +++--
 3 files changed, 53 insertions(+), 23 deletions(-)

diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/message-translator.adoc
 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/message-translator.adoc
index e8046c6..b030646 100644
--- 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/message-translator.adoc
+++ 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/message-translator.adoc
@@ -9,7 +9,7 @@ image::eip/MessageTranslator.gif[image]
 
 The Message Translator can be done in different ways in Camel:
 
-* Using xref:transform-eip.adoc[Transform] in the DSL
+* Using xref:transform-eip.adoc[Transform] or xref:setBody-eip.adoc[Set Body] 
in the DSL
 * Calling a xref:latest@manual:ROOT:processor.adoc[Processor] or 
xref:latest@manual:ROOT:bean-integration.adoc[bean]
   to perform the transformation
 * Using template-based xref:components::index.adoc[Components], with the 
template being the source for how the message is translated
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/setBody-eip.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/setBody-eip.adoc
index 0036ec7..0614cb6 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/setBody-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/setBody-eip.adoc
@@ -5,7 +5,23 @@
 :since: 
 :supportlevel: Stable
 
-The SetBody EIP allows you to set the body of your exchange.
+Camel supports the
+http://www.enterpriseintegrationpatterns.com/MessageTranslator.html[Message
+Translator] from the xref:enterprise-integration-patterns.adoc[EIP
+patterns].
+
+image::eip/MessageTranslator.gif[image]
+
+The xref:message-translator.adoc[Message Translator] can be done in different 
ways in Camel:
+
+* Using xref:transform-eip.adoc[Transform] or xref:setBody-eip.adoc[Set Body] 
in the DSL
+* Calling a xref:latest@manual:ROOT:processor.adoc[Processor] or 
xref:latest@manual:ROOT:bean-integration.adoc[bean]
+to perform the transformation
+* Using template-based xref:components::index.adoc[Components], with the 
template being the source for how the message is translated
+* Messages can also be transformed using 
xref:latest@manual:ROOT:data-format.adoc[Data Format]
+to marshal and unmarshal messages in different encodings.
+
+This page is documenting the first approach by using Set Body EIP.
 
 == Options
 
@@ -15,29 +31,37 @@ include::partial$eip-options.adoc[]
 
 == Examples
 
-The following example shows how to use the SetBody EIP
+=== Using Set Body EIP
+
+You can use a xref:setBody-eip.adoc[Set Body] which uses an
+xref:latest@manual:ROOT:expression.adoc[Expression] to do the transformation:
+
+In the example below we prepend Hello to the message body using the
+xref:components:languages:simple-language.adoc[Simple] language:
 
 [source,java]
 ----
-RouteBuilder builder = new RouteBuilder() {
-    public void configure() {
-        from("direct:a")
-            .setBody(constant("test"))
-            .to("direct:b");
-    }
-};
+from("direct:cheese")
+    .setBody(simple("Hello ${body}"))
+    .to("log:hello");
 ----
 
-
-And the same example using XML:
+And in XML DSL:
 
 [source,xml]
 ----
-<camelContext xmlns="http://camel.apache.org/schema/spring";>
-    <route>
-        <from uri="direct:a"/>
-        <setBody><constant>test</constant></setBody>
-        <to uri="direct:b"/>
-    </route>
-</camelContext>
+<route>
+    <from uri="direct:cheese"/>
+    <setBody>
+        <simple>Hello ${body}</simple>
+    </setBody>
+    <to uri="log:hello"/>
+</route>
 ----
+
+=== What is the difference between Transform and Set Body
+
+The Transform EIP always sets the result on the OUT message body.
+
+Set Body sets the result accordingly to the 
xref:latest@manual:ROOT:exchange-pattern.adoc[Exchange Pattern]
+on the `Exchange`.
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/transform-eip.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/transform-eip.adoc
index 6d6b2a8..c3e4eb1 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/transform-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/transform-eip.adoc
@@ -12,9 +12,9 @@ patterns].
 
 image::eip/MessageTranslator.gif[image]
 
-The Message Translator can be done in different ways in Camel:
+The xref:message-translator.adoc[Message Translator] can be done in different 
ways in Camel:
 
-* Using Transform EIP in the DSL
+* Using xref:transform-eip.adoc[Transform] or xref:setBody-eip.adoc[Set Body] 
in the DSL
 * Calling a xref:latest@manual:ROOT:processor.adoc[Processor] or 
xref:latest@manual:ROOT:bean-integration.adoc[bean]
 to perform the transformation
 * Using template-based xref:components::index.adoc[Components], with the 
template being the source for how the message is translated
@@ -49,11 +49,17 @@ And in XML DSL:
 [source,xml]
 ----
 <route>
-    <from uri="activemq:cheese"/>
+    <from uri="direct:cheese"/>
     <transform>
         <simple>Hello ${body}</simple>
     </transform>
-    <to uri="activemq:wine"/>
+    <to uri="log:hello"/>
 </route>
 ----
 
+=== What is the difference between Transform and Set Body
+
+The Transform EIP always sets the result on the OUT message body.
+
+Set Body sets the result accordingly to the 
xref:latest@manual:ROOT:exchange-pattern.adoc[Exchange Pattern]
+on the `Exchange`.

Reply via email to