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 79dca05dc5f CAMEL-20410: documentation fixes for camel-datasonnet 
(#13138)
79dca05dc5f is described below

commit 79dca05dc5f11835b7d1456554aec9b9c2910d0d
Author: Otavio Rodolfo Piske <[email protected]>
AuthorDate: Fri Feb 16 11:15:10 2024 +0100

    CAMEL-20410: documentation fixes for camel-datasonnet (#13138)
    
    - Fixed samples
    - Converted to use tabs
    - Fixed grammar and typos
    - Fixed punctuation
    - Added and/or fixed links
---
 .../src/main/docs/datasonnet-language.adoc         | 85 ++++++++++++++--------
 1 file changed, 55 insertions(+), 30 deletions(-)

diff --git a/components/camel-datasonnet/src/main/docs/datasonnet-language.adoc 
b/components/camel-datasonnet/src/main/docs/datasonnet-language.adoc
index 8fbcefa7fb3..5020ed32f2a 100644
--- a/components/camel-datasonnet/src/main/docs/datasonnet-language.adoc
+++ b/components/camel-datasonnet/src/main/docs/datasonnet-language.adoc
@@ -20,11 +20,11 @@ Predicate in a xref:eips:filter-eip.adoc[Message
 Filter] or as an Expression for a
 xref:eips:recipientList-eip.adoc[Recipient List].
 
-To use a DataSonnet expression use the following Java code:
+To use a DataSonnet expression, use the following Java code:
 
 [source,java]
 ---------------------------------------
-datasonnet("someDSExpression")
+datasonnet("someDSExpression");
 ---------------------------------------
 
 == DataSonnet Options
@@ -37,16 +37,20 @@ include::partial$language-options.adoc[]
 
 Here is a simple example using a DataSonnet expression as a predicate in a 
Message Filter:
 
+[tabs]
+====
+Java::
++
 [source,java]
 
------------------------------------------------------------------------------------------------
-// lets route if a line item is over $100
+// let's route if a line item is over $100
 from("queue:foo")
     .filter(datasonnet("ds.arrays.firstWith(body.lineItems, function(item) 
item > 100) != null"))
-    .to("queue:bar")
+    .to("queue:bar");
 
------------------------------------------------------------------------------------------------
 
-And the XML DSL:
-
+XML::
++
 [source,xml]
 -----------------------------------------------------------------------------
 <route>
@@ -57,19 +61,25 @@ And the XML DSL:
     </filter>
 </route>
 -----------------------------------------------------------------------------
+====
+
 
 Here is an example of a simple DataSonnet expression as a transformation EIP. 
This example will transform an XML body with
 `lineItems` into JSON while filtering out lines that are under 100.
 
+[tabs]
+====
+Java::
++
 [source,java]
 
------------------------------------------------------------------------------------------------
 from("queue:foo")
     .transform(datasonnet("ds.filter(body.lineItems, function(item) item > 
100)", String.class, "application/xml", "application/json"))
-    .to("queue:bar")
+    .to("queue:bar");
 
------------------------------------------------------------------------------------------------
 
-And the XML DSL:
-
+XML::
++
 [source,xml]
 -----------------------------------------------------------------------------
 <route>
@@ -82,29 +92,39 @@ And the XML DSL:
     </filter>
 </route>
 -----------------------------------------------------------------------------
+====
+
 
-== Setting result type
+== Setting a result type
 
 The xref:datasonnet-language.adoc[DataSonnet] expression will return a 
`com.datasonnet.document.Document` by default. The
-document preserves the content type metadata along with the contents of the 
result of the transformation. In predicates,
-however, the Document will be automatically unwrapped and the boolean content 
will be returned. Similarly any times you
-want the content in a specific result type like a String. To do this you have 
to instruct the
+document preserves the content type metadata along with the contents of the 
transformation result. In predicates,
+however, the Document will be automatically unwrapped and the boolean content 
will be returned. Similarly, any time you
+want the content in a specific result type like a String. To do this, you have 
to instruct the
 xref:datasonnet-language.adoc[DataSonnet] which result type to return.
 
-In Java DSL:
-
+[tabs]
+====
+Java::
++
 [source,java]
 ----
-datasonnet("body.foo", String.class)
+datasonnet("body.foo", String.class);
 ----
 
-In XML DSL you use the *resultType* attribute to provide a fully
-qualified classname:
-
+XML::
++
 [source,xml]
 ----
 <datasonnet resultType="java.lang.String">body.foo</datasonnet>
 ----
++
+[NOTE]
+=====
+In XML DSL you use the `resultType` attribute to provide a fully qualified 
class name.
+=====
+
+====
 
 If the expression results in an array, or an object, you can instruct the 
expression to return you `List.class`
 or `Map.class`, respectively. However, you must also set the output media type 
to `application/x-java-object`.
@@ -114,8 +134,8 @@ retaining the content metadata through a route execution is 
valuable.
 
 == Specifying Media Types
 
-Traditionally the input and output media types are specified through the
-https://datasonnet.s3-us-west-2.amazonaws.com/docs-ci/primary/master/datasonnet/1.0-SNAPSHOT/headers.html[DataSonnet
 Header]
+Traditionally, the input and output media types are specified through the
+https://datasonnet.s3-us-west-2.amazonaws.com/docs-ci/primary/master/datasonnet/1.0-SNAPSHOT/headers.html[DataSonnet
 Header].
 The xref:datasonnet-language.adoc[DataSonnet] expression provides convenience 
options for specifying the body and output
 media types without the need for a Header, this is useful if the 
transformation is a one-liner, for example.
 
@@ -123,8 +143,8 @@ The DataSonnet expression will look for a body media type 
in the following order
 
 1. If the body is a `Document` it will use the metadata in the object
 2. If the bodyMediaType parameter was provided in the DSL, it will use its 
value
-3. A "CamelDatasonnetBodyMediaType" exchange property
-4. A "Content-Type" message header
+3. A `CamelDatasonnetBodyMediaType` exchange property
+4. A `Content-Type` message header
 5. The DataSonnet Header payload media type directive
 6. `application/x-java-object`
 
@@ -145,7 +165,7 @@ exchange:
 |===
 |Function |Argument |Type |Description
 
-|cml.properties |key for property |String |To lookup a property using the
+|cml.properties |key for property |String |To look up a property using the
 xref:ROOT:properties-component.adoc[Properties] component (property 
placeholders).
 
 |cml.header |the header name |String |Will return the message header.
@@ -155,6 +175,10 @@ xref:ROOT:properties-component.adoc[Properties] component 
(property placeholders
 
 Here's an example showing some of these functions in use:
 
+[tabs]
+====
+Java::
++
 [source,java]
 
------------------------------------------------------------------------------------------------
 from("direct:in")
@@ -162,8 +186,8 @@ from("direct:in")
     .to("mock:camel");
 
------------------------------------------------------------------------------------------------
 
-And the XML DSL:
-
+XML::
++
 [source,xml]
 -----------------------------------------------------------------------------
 <route>
@@ -174,22 +198,23 @@ And the XML DSL:
     <to uri="mock:camel"/>
 </route>
 -----------------------------------------------------------------------------
+====
 
 == Loading script from external resource
 
-You can externalize the script and have Camel load it from a resource
+You can externalize the script and have Apache Camel load it from a resource
 such as `"classpath:"`, `"file:"`, or `"http:"`. +
 This is done using the following syntax: `"resource:scheme:location"`,
-eg to refer to a file on the classpath you can do:
+e.g., to refer to a file on the classpath you can do:
 
 [source,java]
 -------------------------------------------------------------------
-.setHeader("myHeader").datasonnet("resource:classpath:mydatasonnet.ds")
+.setHeader("myHeader").datasonnet("resource:classpath:mydatasonnet.ds");
 -------------------------------------------------------------------
 
 == Dependencies
 
-To use scripting languages in your camel routes you need to add a
+To use scripting languages in your camel routes, you need to add a
 dependency on *camel-datasonnet*.
 
 If you use Maven you could just add the following to your `pom.xml`,

Reply via email to