Repository: camel
Updated Branches:
  refs/heads/master e44192e95 -> e91376528


Added camel-chunk docs to gitbook


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/e9137652
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e9137652
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e9137652

Branch: refs/heads/master
Commit: e91376528c153b24f91107f94c4f42d9869e8597
Parents: e44192e
Author: Andrea Cosentino <anco...@gmail.com>
Authored: Sat Feb 13 14:24:38 2016 +0100
Committer: Andrea Cosentino <anco...@gmail.com>
Committed: Sat Feb 13 14:25:02 2016 +0100

----------------------------------------------------------------------
 components/camel-chunk/src/main/docs/chunk.adoc | 182 +++++++++++++++++++
 docs/user-manual/en/SUMMARY.md                  |   1 +
 2 files changed, 183 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/e9137652/components/camel-chunk/src/main/docs/chunk.adoc
----------------------------------------------------------------------
diff --git a/components/camel-chunk/src/main/docs/chunk.adoc 
b/components/camel-chunk/src/main/docs/chunk.adoc
new file mode 100644
index 0000000..2690a4d
--- /dev/null
+++ b/components/camel-chunk/src/main/docs/chunk.adoc
@@ -0,0 +1,182 @@
+[[Chunk-Chunk]]
+Chunk
+~~~~~
+
+*Available as of Camel 2.15*
+
+The *chunk:* component allows for processing a message using a
+http://www.x5software.com/chunk/examples/ChunkExample?loc=en_US[Chunk] 
template.
+This can be ideal when using link:templating.html[Templating] to
+generate responses for requests.
+
+Maven users will need to add the following dependency to
+their `pom.xml` for this component:
+
+[source,xml]
+---------------------------------------------------------------------------------
+<dependency>
+<groupId>org.apache.camel</groupId>
+<artifactId>camel-chunk</artifactId>
+<version>x.x.x</version> <!-- use the same version as your Camel core version 
-->
+</dependency>
+---------------------------------------------------------------------------------
+
+[[Chunk-URIformat]]
+URI format
+^^^^^^^^^^
+
+[source,java]
+----------------------------
+chunk:templateName[?options]
+----------------------------
+
+Where *templateName* is the classpath-local URI of the template to
+invoke.
+
+You can append query options to the URI in the following
+format, `?option=value&option=value&...`
+
+[[Chunk-Options]]
+Options
+^^^^^^^
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Option |Default |Description
+
+|`encoding` |`null` |Character encoding of the resource content.
+
+|themesFolder |`null` |Alternative folder to scan for a template name.
+
+|themeSubfolder |`null` |Alternative subfolder to scan for a template name if 
themeFolder
+parameter is set.
+
+|`themeLayer` |`null` |A specific layer of a template file to use as template.
+
+|`extension` |`null` |Alternative extension to scan for a template name if 
themeFolder and
+themeSubfolder are set.
+|=======================================================================
+
+Chunk component will look for a specific template in _themes_ folder
+with extensions _.chtml_ or _.cxml. _If you need to specify a different
+folder or extensions, you will need to use the specific options listed
+above.
+
+[[Chunk-ChunkContext]]
+Chunk Context
+^^^^^^^^^^^^^
+
+Camel will provide exchange information in the Chunk context (just
+a `Map`). The `Exchange` is transferred as:
+
+ 
+[width="100%",cols="20%,80%",options="header",]
+|=======================================================================
+|key |value
+
+|`exchange` |The `Exchange` itself.
+
+|`exchange.properties` |The `Exchange` properties.
+
+|`headers` |The headers of the In message.
+
+|`camelContext` |The Camel Context.
+
+|`request` |The In message.
+
+|`body` |The In message body.
+
+|`response` |The Out message (only for InOut message exchange pattern).
+|=======================================================================
+
+[[Chunk-Dynamictemplates]]
+Dynamic templates
+^^^^^^^^^^^^^^^^^
+
+Camel provides two headers by which you can define a different resource
+location for a template or the template content itself. If any of these
+headers is set then Camel uses this over the endpoint configured
+resource. This allows you to provide a dynamic template at runtime.
+
+[width="100%",cols="20%,10%,10%,60%",options="header",]
+|=======================================================================
+|Header |Type |Description |Support Version
+
+|ChunkConstants.CHUNK_RESOURCE_URI |String |A URI for the template resource to 
use instead of the endpoint
+configured. |
+
+|ChunkConstants.CHUNK_TEMPLATE |String |The template to use instead of the 
endpoint configured. |
+|=======================================================================
+
+[[Chunk-Samples]]
+Samples
+^^^^^^^
+
+For example you could use something like:
+
+[source,java]
+--------------------------
+from("activemq:My.Queue").
+to("chunk:template");
+--------------------------
+
+To use a Chunk template to formulate a response for a message for InOut
+message exchanges (where there is a `JMSReplyTo` header).
+
+If you want to use InOnly and consume the message and send it to another
+destination you could use:
+
+[source,java]
+-----------------------------
+from("activemq:My.Queue").
+to("chunk:template").
+to("activemq:Another.Queue");
+-----------------------------
+
+It's possible to specify what template the component should use
+dynamically via a header, so for example:
+
+[source,java]
+------------------------------------------------------------------
+from("direct:in").
+setHeader(ChunkConstants.CHUNK_RESOURCE_URI).constant("template").
+to("chunk:dummy");
+------------------------------------------------------------------
+
+An example of Chunk component options use:
+
+[source,java]
+---------------------------------------------------------------------------------------
+from("direct:in").
+to("chunk:file_example?themeFolder=template&themeSubfolder=subfolder&extension=chunk");
+---------------------------------------------------------------------------------------
+
+In this example Chunk component will look for the file
+_file_example.chunk_ in the folder _template/subfolder._
+
+[[Chunk-TheEmailSample]]
+The Email Sample
+^^^^^^^^^^^^^^^^
+
+In this sample we want to use Chunk templating for an order confirmation
+email. The email template is laid out in Chunk as:
+
+[source,java]
+----------------------------------------------
+ 
+Dear {$headers.lastName}, {$headers.firstName}
+
+Thanks for the order of {$headers.item}.
+
+Regards Camel Riders Bookstore
+{$body}
+----------------------------------------------
+
+[[Chunk-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+

http://git-wip-us.apache.org/repos/asf/camel/blob/e9137652/docs/user-manual/en/SUMMARY.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md
index e27283e..c3cbc24 100644
--- a/docs/user-manual/en/SUMMARY.md
+++ b/docs/user-manual/en/SUMMARY.md
@@ -104,6 +104,7 @@
        * [Cassandraql](cassandra.adoc)
        * [Castor](castor.adoc)
        * [CDI](cdi.adoc)
+       * [Chunk](chunk.adoc)
        * [JMS](jms.adoc)
        * [Metrics](metrics.adoc)
        * [Properties](properties.adoc)

Reply via email to