You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2016/08/16 09:17:05 UTC

[1/6] camel git commit: CAMEL-9541: Generate readme for dataformat also.

Repository: camel
Updated Branches:
  refs/heads/master 9c0b7baf3 -> 96f3710b7


CAMEL-9541: Generate readme for dataformat also.


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

Branch: refs/heads/master
Commit: 62e075ff843e9ff97e4277e29df78901889bb99c
Parents: 9c0b7ba
Author: Claus Ibsen <da...@apache.org>
Authored: Tue Aug 16 10:26:42 2016 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Tue Aug 16 10:26:42 2016 +0200

----------------------------------------------------------------------
 .../src/main/docs/boon-dataformat.adoc          |  82 +++++++++
 components/camel-boon/src/main/docs/boon.adoc   |  58 -------
 .../maven/packaging/ReadmeComponentMojo.java    | 170 ++++++++++++++++++-
 .../src/main/resources/dataformat-header.mvel   |  15 ++
 .../src/main/resources/dataformat-options.mvel  |  15 ++
 5 files changed, 281 insertions(+), 59 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/62e075ff/components/camel-boon/src/main/docs/boon-dataformat.adoc
----------------------------------------------------------------------
diff --git a/components/camel-boon/src/main/docs/boon-dataformat.adoc b/components/camel-boon/src/main/docs/boon-dataformat.adoc
new file mode 100644
index 0000000..10deb41
--- /dev/null
+++ b/components/camel-boon/src/main/docs/boon-dataformat.adoc
@@ -0,0 +1,82 @@
+[[Boon-Boon]]
+Boon
+~~~~
+
+*Available in Camel 2.16*
+
+Boon is a Data Format which uses the
+http://richardhightower.github.io/site/Boon/Welcome.html[Boon
+JSON]�marshalling library to unmarshal an JSON payload into Java objects
+or to marshal Java objects into an JSON payload. Boon aims to be a
+simple
+and�https://github.com/RichardHightower/json-parsers-benchmark[fast
+parser]�than other common parsers currently used.
+
+[[Boon-Options]]
+Options
+^^^^^^^
+
+
+
+// dataformat options: START
+The Boon dataformat supports 2 options which are listed below.
+
+
+
+{% raw %}
+[width="100%",cols="2s,1m,8",options="header"]
+|=======================================================================
+| Name | Java Type | Description
+| unmarshalTypeName | String | Class name of the java type to use when unarmshalling
+| useList | Boolean | To unarmshal to a List of Map or a List of Pojo.
+|=======================================================================
+{% endraw %}
+// dataformat options: END
+
+
+
+
+[[Boon-UsingtheJavaDSL]]
+Using the Java DSL
+^^^^^^^^^^^^^^^^^^
+
+[source,java]
+------------------------------------------------------------------------
+DataFormat boonDataFormat = new BoonDataFormat("com.acme.model.Person");
+
+from("activemq:My.Queue")
+  .unmarshal(boonDataFormat)
+  .to("mqseries:Another.Queue");
+------------------------------------------------------------------------
+
+[[Boon-UsingBlueprintXML]]
+Using Blueprint XML
+^^^^^^^^^^^^^^^^^^^
+
+[source,java]
+---------------------------------------------------------------------------------
+<bean id="boonDataFormat" class="org.apache.camel.component.boon.BoonDataFormat">
+  <argument value="com.acme.model.Person"/>
+</bean>
+ 
+<camelContext id="camel" xmlns="http://camel.apache.org/schema/blueprint">
+  <route>
+    <from uri="activemq:My.Queue"/>
+    <unmarshal ref="boonDataFormat"/>
+    <to uri="mqseries:Another.Queue"/>
+  </route>
+</camelContext>
+---------------------------------------------------------------------------------
+
+[[Boon-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+[source,java]
+-------------------------------------
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-boon</artifactId>
+  <version>x.x.x</version>
+</dependency>
+-------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/62e075ff/components/camel-boon/src/main/docs/boon.adoc
----------------------------------------------------------------------
diff --git a/components/camel-boon/src/main/docs/boon.adoc b/components/camel-boon/src/main/docs/boon.adoc
deleted file mode 100644
index 6f39d0e..0000000
--- a/components/camel-boon/src/main/docs/boon.adoc
+++ /dev/null
@@ -1,58 +0,0 @@
-[[Boon-Boon]]
-Boon
-~~~~
-
-*Available in Camel 2.16*
-
-Boon is a Data Format which uses the
-http://richardhightower.github.io/site/Boon/Welcome.html[Boon
-JSON]�marshalling library to unmarshal an JSON payload into Java objects
-or to marshal Java objects into an JSON payload. Boon aims to be a
-simple
-and�https://github.com/RichardHightower/json-parsers-benchmark[fast
-parser]�than other common parsers currently used.
-
-[[Boon-UsingtheJavaDSL]]
-Using the Java DSL
-^^^^^^^^^^^^^^^^^^
-
-[source,java]
-------------------------------------------------------------------------
-DataFormat boonDataFormat = new BoonDataFormat("com.acme.model.Person");
-
-from("activemq:My.Queue")
-  .unmarshal(boonDataFormat)
-  .to("mqseries:Another.Queue");
-------------------------------------------------------------------------
-
-[[Boon-UsingBlueprintXML]]
-Using Blueprint XML
-^^^^^^^^^^^^^^^^^^^
-
-[source,java]
----------------------------------------------------------------------------------
-<bean id="boonDataFormat" class="org.apache.camel.component.boon.BoonDataFormat">
-  <argument value="com.acme.model.Person"/>
-</bean>
- 
-<camelContext id="camel" xmlns="http://camel.apache.org/schema/blueprint">
-  <route>
-    <from uri="activemq:My.Queue"/>
-    <unmarshal ref="boonDataFormat"/>
-    <to uri="mqseries:Another.Queue"/>
-  </route>
-</camelContext>
----------------------------------------------------------------------------------
-
-[[Boon-Dependencies]]
-Dependencies
-^^^^^^^^^^^^
-
-[source,java]
--------------------------------------
-<dependency>
-  <groupId>org.apache.camel</groupId>
-  <artifactId>camel-boon</artifactId>
-  <version>x.x.x</version>
-</dependency>
--------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/62e075ff/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ReadmeComponentMojo.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ReadmeComponentMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ReadmeComponentMojo.java
index ae156de..40247cd 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ReadmeComponentMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ReadmeComponentMojo.java
@@ -27,6 +27,8 @@ import java.util.TreeSet;
 
 import org.apache.camel.maven.packaging.model.ComponentModel;
 import org.apache.camel.maven.packaging.model.ComponentOptionModel;
+import org.apache.camel.maven.packaging.model.DataFormatModel;
+import org.apache.camel.maven.packaging.model.DataFormatOptionModel;
 import org.apache.camel.maven.packaging.model.EndpointOptionModel;
 import org.apache.maven.model.Resource;
 import org.apache.maven.plugin.AbstractMojo;
@@ -41,7 +43,7 @@ import static org.apache.camel.maven.packaging.PackageHelper.loadText;
 import static org.apache.camel.maven.packaging.PackageHelper.writeText;
 
 /**
- * Generate or updates the component readme.md file in the project root directory.
+ * Generate or updates the component/dataformat/language readme.md file in the project root directory.
  *
  * @goal update-readme
  */
@@ -81,6 +83,11 @@ public class ReadmeComponentMojo extends AbstractMojo {
 
     @Override
     public void execute() throws MojoExecutionException, MojoFailureException {
+        executeComponent();
+        executeDataFormat();
+    }
+
+    private void executeComponent() throws MojoExecutionException, MojoFailureException {
         // find the component names
         List<String> componentNames = findComponentNames();
 
@@ -119,6 +126,41 @@ public class ReadmeComponentMojo extends AbstractMojo {
         }
     }
 
+    private void executeDataFormat() throws MojoExecutionException, MojoFailureException {
+        // find the dataformat names
+        List<String> dataFormatNames = findDataFormatNames();
+
+        final Set<File> jsonFiles = new TreeSet<File>();
+        PackageHelper.findJsonFiles(buildDir, jsonFiles, new PackageHelper.CamelComponentsModelFilter());
+
+        // only if there is dataformat we should update the documentation files
+        if (!dataFormatNames.isEmpty()) {
+            getLog().debug("Found " + dataFormatNames.size() + " dataformats");
+            for (String dataFormatName : dataFormatNames) {
+                String json = loadDataFormatJson(jsonFiles, dataFormatName);
+                if (json != null) {
+                    File file = new File(docDir, dataFormatName + "-dataformat.adoc");
+                    DataFormatModel model = generateDataFormatModel(dataFormatName, json);
+
+                    boolean exists = file.exists();
+                    boolean updated = false;
+                    if (model.getDataFormatOptions() != null) {
+                        String options = templateDataFormatOptions(model);
+                        updated |= updateDataFormatOptions(file, options);
+                    }
+
+                    if (updated) {
+                        getLog().info("Updated doc file: " + file);
+                    } else if (exists) {
+                        getLog().debug("No changes to doc file: " + file);
+                    } else {
+                        getLog().warn("No dataformat doc file: " + file);
+                    }
+                }
+            }
+        }
+    }
+
     private boolean updateComponentOptions(File file, String changed) throws MojoExecutionException {
         if (!file.exists()) {
             return false;
@@ -187,6 +229,40 @@ public class ReadmeComponentMojo extends AbstractMojo {
         }
     }
 
+    private boolean updateDataFormatOptions(File file, String changed) throws MojoExecutionException {
+        if (!file.exists()) {
+            return false;
+        }
+
+        try {
+            String text = loadText(new FileInputStream(file));
+
+            String existing = StringHelper.between(text, "// dataformat options: START", "// dataformat options: END");
+            if (existing != null) {
+                // remove leading line breaks etc
+                existing = existing.trim();
+                changed = changed.trim();
+                if (existing.equals(changed)) {
+                    return false;
+                } else {
+                    String before = StringHelper.before(text, "// dataformat options: START");
+                    String after = StringHelper.after(text, "// dataformat options: END");
+                    text = before + "\n// dataformat options: START\n" + changed + "\n// dataformat options: END\n" + after;
+                    writeText(file, text);
+                    return true;
+                }
+            } else {
+                getLog().warn("Cannot find markers in file " + file);
+                getLog().warn("Add the following markers");
+                getLog().warn("\t// dataformat options: START");
+                getLog().warn("\t// dataformat options: END");
+                return false;
+            }
+        } catch (Exception e) {
+            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
+        }
+    }
+
     private String loadComponentJson(Set<File> jsonFiles, String componentName) {
         try {
             for (File file : jsonFiles) {
@@ -204,6 +280,23 @@ public class ReadmeComponentMojo extends AbstractMojo {
         return null;
     }
 
+    private String loadDataFormatJson(Set<File> jsonFiles, String dataFormatName) {
+        try {
+            for (File file : jsonFiles) {
+                if (file.getName().equals(dataFormatName + ".json")) {
+                    String json = loadText(new FileInputStream(file));
+                    boolean isDataFormat = json.contains("\"kind\": \"dataformat\"");
+                    if (isDataFormat) {
+                        return json;
+                    }
+                }
+            }
+        } catch (IOException e) {
+            // ignore
+        }
+        return null;
+    }
+
     private ComponentModel generateComponentModel(String componentName, String json) {
         List<Map<String, String>> rows = JSonSchemaHelper.parseJsonSchema("component", json, false);
 
@@ -260,6 +353,43 @@ public class ReadmeComponentMojo extends AbstractMojo {
         return component;
     }
 
+    private DataFormatModel generateDataFormatModel(String dataFormatName, String json) {
+        List<Map<String, String>> rows = JSonSchemaHelper.parseJsonSchema("dataformat", json, false);
+
+        DataFormatModel dataFormat = new DataFormatModel();
+        dataFormat.setTitle(JSonSchemaHelper.getSafeValue("title", rows));
+        dataFormat.setModelName(JSonSchemaHelper.getSafeValue("modelName", rows));
+        dataFormat.setDescription(JSonSchemaHelper.getSafeValue("description", rows));
+        dataFormat.setLabel(JSonSchemaHelper.getSafeValue("label", rows));
+        dataFormat.setDeprecated(JSonSchemaHelper.getSafeValue("deprecated", rows));
+        dataFormat.setJavaType(JSonSchemaHelper.getSafeValue("javaType", rows));
+        dataFormat.setGroupId(JSonSchemaHelper.getSafeValue("groupId", rows));
+        dataFormat.setArtifactId(JSonSchemaHelper.getSafeValue("artifactId", rows));
+        dataFormat.setVersion(JSonSchemaHelper.getSafeValue("version", rows));
+
+        rows = JSonSchemaHelper.parseJsonSchema("properties", json, true);
+        for (Map<String, String> row : rows) {
+            DataFormatOptionModel option = new DataFormatOptionModel();
+            option.setName(getSafeValue("name", row));
+            option.setKind(getSafeValue("kind", row));
+            option.setType(getSafeValue("type", row));
+            option.setJavaType(getSafeValue("javaType", row));
+            option.setDeprecated(getSafeValue("deprecated", row));
+            option.setEnumValues(getSafeValue("enum", row));
+            option.setDefaultValue(getSafeValue("defaultValue", row));
+            option.setDescription(getSafeValue("description", row));
+
+            // skip option named id
+            if ("id".equals(option.getName())) {
+                getLog().debug("Skipping option: " + option.getName());
+            } else {
+                dataFormat.addDataFormatOption(option);
+            }
+        }
+
+        return dataFormat;
+    }
+
     private String templateComponentHeader(ComponentModel model) throws MojoExecutionException {
         try {
             String template = loadText(ReadmeComponentMojo.class.getClassLoader().getResourceAsStream("component-header.mvel"));
@@ -290,6 +420,16 @@ public class ReadmeComponentMojo extends AbstractMojo {
         }
     }
 
+    private String templateDataFormatOptions(DataFormatModel model) throws MojoExecutionException {
+        try {
+            String template = loadText(ReadmeComponentMojo.class.getClassLoader().getResourceAsStream("dataformat-options.mvel"));
+            String out = (String) TemplateRuntime.eval(template, model);
+            return out;
+        } catch (Exception e) {
+            throw new MojoExecutionException("Error processing mvel template. Reason: " + e, e);
+        }
+    }
+
     private List<String> findComponentNames() {
         List<String> componentNames = new ArrayList<String>();
         for (Resource r : project.getBuild().getResources()) {
@@ -318,4 +458,32 @@ public class ReadmeComponentMojo extends AbstractMojo {
         return componentNames;
     }
 
+    private List<String> findDataFormatNames() {
+        List<String> dataFormatNames = new ArrayList<String>();
+        for (Resource r : project.getBuild().getResources()) {
+            File f = new File(r.getDirectory());
+            if (!f.exists()) {
+                f = new File(project.getBasedir(), r.getDirectory());
+            }
+            f = new File(f, "META-INF/services/org/apache/camel/dataformat");
+
+            if (f.exists() && f.isDirectory()) {
+                File[] files = f.listFiles();
+                if (files != null) {
+                    for (File file : files) {
+                        // skip directories as there may be a sub .resolver directory
+                        if (file.isDirectory()) {
+                            continue;
+                        }
+                        String name = file.getName();
+                        if (name.charAt(0) != '.') {
+                            dataFormatNames.add(name);
+                        }
+                    }
+                }
+            }
+        }
+        return dataFormatNames;
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/62e075ff/tooling/maven/camel-package-maven-plugin/src/main/resources/dataformat-header.mvel
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/dataformat-header.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/dataformat-header.mvel
new file mode 100644
index 0000000..be348c6
--- /dev/null
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/dataformat-header.mvel
@@ -0,0 +1,15 @@
+# @{title}
+
+@{description}
+
+### Maven Dependency
+
+Maven users would need to add dependency:
+
+```xml
+    <dependency>
+      <groupId>${groupId}</groupId>
+      <artifactId>${artifactId}</artifactId>
+      <version>${version}</version>
+    </dependency>
+```

http://git-wip-us.apache.org/repos/asf/camel/blob/62e075ff/tooling/maven/camel-package-maven-plugin/src/main/resources/dataformat-options.mvel
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/dataformat-options.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/dataformat-options.mvel
new file mode 100644
index 0000000..8fe798e
--- /dev/null
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/dataformat-options.mvel
@@ -0,0 +1,15 @@
+@if{dataFormatOptions.isEmpty()}
+The @{title} dataformat has no options.
+@else{}
+The @{title} dataformat supports @{dataFormatOptions.size()} options which are listed below.
+@end{}
+
+@if{!dataFormatOptions.isEmpty()}
+{% raw %}
+[width="100%",cols="2s,1m,8",options="header"]
+|=======================================================================
+| Name | Java Type | Description
+@foreach{row : dataFormatOptions}| @{row.name} | @{row.shortJavaType} | @{row.description}
+@end{}|=======================================================================
+{% endraw %}
+@end{}
\ No newline at end of file


[6/6] camel git commit: CAMEL-9541: Generate readme for dataformat also.

Posted by da...@apache.org.
CAMEL-9541: Generate readme for dataformat also.


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

Branch: refs/heads/master
Commit: 96f3710b7b324d753b989ae8c30aaa4890ee3b56
Parents: 62e075f
Author: Claus Ibsen <da...@apache.org>
Authored: Tue Aug 16 11:16:00 2016 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Tue Aug 16 11:16:53 2016 +0200

----------------------------------------------------------------------
 camel-core/src/main/docs/direct-component.adoc  |   4 +-
 .../src/main/docs/direct-vm-component.adoc      |   4 +-
 camel-core/src/main/docs/log-component.adoc     |   4 +-
 .../src/main/docs/properties-component.adoc     |   4 +-
 .../src/main/docs/scheduler-component.adoc      |   4 +-
 camel-core/src/main/docs/seda-component.adoc    |   4 +-
 camel-core/src/main/docs/stub-component.adoc    |   4 +-
 .../src/main/docs/validator-component.adoc      |   4 +-
 camel-core/src/main/docs/vm-component.adoc      |   4 +-
 camel-core/src/main/docs/xslt-component.adoc    |   4 +-
 .../src/main/docs/ahc-ws-component.adoc         |   4 +-
 .../camel-ahc/src/main/docs/ahc-component.adoc  |   4 +-
 .../src/main/docs/amqp-component.adoc           |   4 +-
 .../src/main/docs/apns-component.adoc           |   4 +-
 .../docs/atmosphere-websocket-component.adoc    |   4 +-
 .../src/main/docs/avro-component.adoc           |   4 +-
 .../src/main/docs/base64-dataformat.adoc        | 109 ++++
 .../camel-base64/src/main/docs/base64.adoc      | 109 ----
 .../src/main/docs/beanio-dataformat.adoc        |  79 +++
 .../camel-beanio/src/main/docs/beanio.adoc      |  79 ---
 .../src/main/docs/beanstalk-component.adoc      |   4 +-
 .../src/main/docs/boon-dataformat.adoc          |  10 +-
 .../camel-box/src/main/docs/box-component.adoc  |   4 +-
 .../src/main/docs/braintree-component.adoc      |   4 +-
 .../src/main/docs/cache-component.adoc          |   4 +-
 .../src/main/docs/castor-dataformat.adoc        | 139 +++++
 .../camel-castor/src/main/docs/castor.adoc      | 139 -----
 .../src/main/docs/cometd-component.adoc         |   4 +-
 .../camel-csv/src/main/docs/csv-dataformat.adoc | 465 +++++++++++++++
 components/camel-csv/src/main/docs/csv.adoc     | 465 ---------------
 .../camel-cxf/src/main/docs/cxf-component.adoc  |   4 +-
 .../src/main/docs/cxfrs-component.adoc          |   4 +-
 .../src/main/docs/disruptor-component.adoc      |   4 +-
 .../camel-ejb/src/main/docs/ejb-component.adoc  |   4 +-
 .../src/main/docs/elasticsearch-component.adoc  |   4 +-
 .../src/main/docs/facebook-component.adoc       |   4 +-
 .../src/main/docs/flink-component.adoc          |   4 +-
 .../src/main/docs/freemarker-component.adoc     |   4 +-
 .../src/main/docs/ganglia-component.adoc        |   4 +-
 .../main/docs/google-calendar-component.adoc    |   4 +-
 .../src/main/docs/google-drive-component.adoc   |   4 +-
 .../src/main/docs/google-mail-component.adoc    |   4 +-
 .../src/main/docs/guava-eventbus-component.adoc |   4 +-
 .../src/main/docs/hazelcast-component.adoc      |   4 +-
 .../src/main/docs/hbase-component.adoc          |   4 +-
 .../src/main/docs/hdfs-component.adoc           |   4 +-
 .../src/main/docs/hdfs2-component.adoc          |   4 +-
 .../src/main/docs/hessian-dataformat.adoc       |  42 ++
 .../camel-hessian/src/main/docs/hessian.adoc    |  42 --
 .../camel-hl7/src/main/docs/hl7-dataformat.adoc | 582 +++++++++++++++++++
 components/camel-hl7/src/main/docs/hl7.adoc     | 582 -------------------
 .../src/main/docs/http-component.adoc           |   4 +-
 .../src/main/docs/http4-component.adoc          |   4 +-
 .../src/main/docs/ibatis-component.adoc         |   4 +-
 .../src/main/docs/ical-dataformat.adoc          |  68 +++
 components/camel-ical/src/main/docs/ical.adoc   |  68 ---
 .../src/main/docs/jaxb-dataformat.adoc          | 307 ++++++++++
 components/camel-jaxb/src/main/docs/jaxb.adoc   | 307 ----------
 .../src/main/docs/jclouds-component.adoc        |   4 +-
 .../src/main/docs/jdbc-component.adoc           |   4 +-
 .../src/main/docs/jetty-component.adoc          |   4 +-
 .../src/main/docs/jgroups-component.adoc        |   4 +-
 .../src/main/docs/jibx-dataformat.adoc          |  81 +++
 components/camel-jibx/src/main/docs/jibx.adoc   |  81 ---
 .../camel-jms/src/main/docs/jms-component.adoc  |   4 +-
 .../src/main/docs/jolt-component.adoc           |   4 +-
 .../camel-jpa/src/main/docs/jpa-component.adoc  |   4 +-
 .../camel-jsch/src/main/docs/scp-component.adoc |   4 +-
 .../src/main/docs/jt400-component.adoc          |   4 +-
 .../src/main/docs/kafka-component.adoc          |   4 +-
 .../src/main/docs/kestrel-component.adoc        |   4 +-
 .../src/main/docs/linkedin-component.adoc       |   4 +-
 .../src/main/docs/lucene-component.adoc         |   4 +-
 .../src/main/docs/lumberjack-component.adoc     |   4 +-
 .../camel-lzf/src/main/docs/lzf-dataformat.adoc |  76 +++
 components/camel-lzf/src/main/docs/lzf.adoc     |  76 ---
 .../src/main/docs/imap-component.adoc           |   4 +-
 .../src/main/docs/imaps-component.adoc          |   4 +-
 .../src/main/docs/pop3-component.adoc           |   4 +-
 .../src/main/docs/pop3s-component.adoc          |   4 +-
 .../src/main/docs/smtp-component.adoc           |   4 +-
 .../src/main/docs/smtps-component.adoc          |   4 +-
 .../src/main/docs/mina-component.adoc           |   4 +-
 .../src/main/docs/mina2-component.adoc          |   4 +-
 .../src/main/docs/mqtt-component.adoc           |   4 +-
 .../camel-msv/src/main/docs/msv-component.adoc  |   4 +-
 .../src/main/docs/mustache-component.adoc       |   4 +-
 .../src/main/docs/mybatis-component.adoc        |   4 +-
 .../src/main/docs/nagios-component.adoc         |   4 +-
 .../src/main/docs/netty-http-component.adoc     |   4 +-
 .../src/main/docs/netty-component.adoc          |   4 +-
 .../src/main/docs/netty4-http-component.adoc    |   4 +-
 .../src/main/docs/netty4-component.adoc         |   4 +-
 .../src/main/docs/olingo2-component.adoc        |   4 +-
 .../src/main/docs/openshift-component.adoc      |   4 +-
 .../src/main/docs/paho-component.adoc           |   4 +-
 .../src/main/docs/paxlogging-component.adoc     |   4 +-
 .../src/main/docs/protobuf-dataformat.adoc      | 160 +++++
 .../camel-protobuf/src/main/docs/protobuf.adoc  | 160 -----
 .../src/main/docs/quartz-component.adoc         |   4 +-
 .../src/main/docs/quartz2-component.adoc        |   4 +-
 .../src/main/docs/restlet-component.adoc        |   4 +-
 .../src/main/docs/salesforce-component.adoc     |   4 +-
 .../src/main/docs/xquery-component.adoc         |   4 +-
 .../src/main/docs/sjms-batch-component.adoc     |   4 +-
 .../src/main/docs/sjms-component.adoc           |   4 +-
 .../src/main/docs/slack-component.adoc          |   4 +-
 .../src/main/docs/smpp-component.adoc           |   4 +-
 .../src/main/docs/spark-rest-component.adoc     |   4 +-
 .../src/main/docs/spark-component.adoc          |   4 +-
 .../src/main/docs/splunk-component.adoc         |   4 +-
 .../src/main/docs/spring-batch-component.adoc   |   4 +-
 .../src/main/docs/spring-event-component.adoc   |   4 +-
 .../camel-sql/src/main/docs/sql-component.adoc  |   4 +-
 .../src/main/docs/sql-stored-component.adoc     |   4 +-
 .../camel-ssh/src/main/docs/ssh-component.adoc  |   4 +-
 .../src/main/docs/stomp-component.adoc          |   4 +-
 .../src/main/docs/syslog-dataformat.adoc        | 137 +++++
 .../camel-syslog/src/main/docs/syslog.adoc      | 137 -----
 .../src/main/docs/twitter-component.adoc        |   4 +-
 .../src/main/docs/undertow-component.adoc       |   4 +-
 .../src/main/docs/velocity-component.adoc       |   4 +-
 .../src/main/docs/vertx-component.adoc          |   4 +-
 .../src/main/docs/websocket-component.adoc      |   4 +-
 .../src/main/docs/xmlBeans-dataformat.adoc      |  36 ++
 .../camel-xmlbeans/src/main/docs/xmlbeans.adoc  |  36 --
 .../src/main/docs/xmljson-dataformat.adoc       | 378 ++++++++++++
 .../camel-xmljson/src/main/docs/xmljson.adoc    | 378 ------------
 .../src/main/docs/xmlsecurity-component.adoc    |   4 +-
 .../src/main/docs/xstream-dataformat.adoc       | 124 ++++
 .../camel-xstream/src/main/docs/xstream.adoc    | 124 ----
 .../src/main/docs/yammer-component.adoc         |   4 +-
 .../src/main/docs/zipfile-dataformat.adoc       | 159 +++++
 .../camel-zipfile/src/main/docs/zipfile.adoc    | 159 -----
 docs/user-manual/en/SUMMARY.md                  |  86 +--
 .../maven/packaging/ReadmeComponentMojo.java    |   1 +
 .../src/main/resources/component-options.mvel   |   2 +-
 .../src/main/resources/dataformat-options.mvel  |   6 +-
 138 files changed, 3299 insertions(+), 3094 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/camel-core/src/main/docs/direct-component.adoc
----------------------------------------------------------------------
diff --git a/camel-core/src/main/docs/direct-component.adoc b/camel-core/src/main/docs/direct-component.adoc
index 7868d04..da671d1 100644
--- a/camel-core/src/main/docs/direct-component.adoc
+++ b/camel-core/src/main/docs/direct-component.adoc
@@ -31,13 +31,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The Direct component supports 2 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | block | boolean | If sending a message to a direct endpoint which has no active consumer then we can tell the producer to block and wait for the consumer to become active.
@@ -48,6 +49,7 @@ The Direct component supports 2 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Direct component supports 8 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/camel-core/src/main/docs/direct-vm-component.adoc
----------------------------------------------------------------------
diff --git a/camel-core/src/main/docs/direct-vm-component.adoc b/camel-core/src/main/docs/direct-vm-component.adoc
index 24202a6..0935a2e 100644
--- a/camel-core/src/main/docs/direct-vm-component.adoc
+++ b/camel-core/src/main/docs/direct-vm-component.adoc
@@ -44,13 +44,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The Direct VM component supports 4 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | block | boolean | If sending a message to a direct endpoint which has no active consumer then we can tell the producer to block and wait for the consumer to become active.
@@ -63,6 +64,7 @@ The Direct VM component supports 4 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Direct VM component supports 10 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/camel-core/src/main/docs/log-component.adoc
----------------------------------------------------------------------
diff --git a/camel-core/src/main/docs/log-component.adoc b/camel-core/src/main/docs/log-component.adoc
index 0e9f414..bdfb36c 100644
--- a/camel-core/src/main/docs/log-component.adoc
+++ b/camel-core/src/main/docs/log-component.adoc
@@ -58,13 +58,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The Log component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | exchangeFormatter | ExchangeFormatter | Sets a custom ExchangeFormatter to convert the Exchange to a String suitable for logging. If not specified we default to DefaultExchangeFormatter.
@@ -74,6 +75,7 @@ The Log component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Log component supports 27 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/camel-core/src/main/docs/properties-component.adoc
----------------------------------------------------------------------
diff --git a/camel-core/src/main/docs/properties-component.adoc b/camel-core/src/main/docs/properties-component.adoc
index e9ae443..c828de4 100644
--- a/camel-core/src/main/docs/properties-component.adoc
+++ b/camel-core/src/main/docs/properties-component.adoc
@@ -23,13 +23,14 @@ Options
 
 
 
+
 // component options: START
 The Properties component supports 15 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | locations | String[] | A list of locations to load properties. You can use comma to separate multiple locations. This option will override any default locations and only use the locations from this option.
@@ -57,6 +58,7 @@ The Properties component supports 15 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Properties component supports 7 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/camel-core/src/main/docs/scheduler-component.adoc
----------------------------------------------------------------------
diff --git a/camel-core/src/main/docs/scheduler-component.adoc b/camel-core/src/main/docs/scheduler-component.adoc
index 211e1aa..eb43e84 100644
--- a/camel-core/src/main/docs/scheduler-component.adoc
+++ b/camel-core/src/main/docs/scheduler-component.adoc
@@ -37,13 +37,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The Scheduler component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | concurrentTasks | int | Number of threads used by the scheduling thread pool. Is by default using a single thread
@@ -53,6 +54,7 @@ The Scheduler component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Scheduler component supports 21 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/camel-core/src/main/docs/seda-component.adoc
----------------------------------------------------------------------
diff --git a/camel-core/src/main/docs/seda-component.adoc b/camel-core/src/main/docs/seda-component.adoc
index 6f60ec2..c37205f 100644
--- a/camel-core/src/main/docs/seda-component.adoc
+++ b/camel-core/src/main/docs/seda-component.adoc
@@ -42,13 +42,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The SEDA component supports 3 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | queueSize | int | Sets the default maximum capacity of the SEDA queue (i.e. the number of messages it can hold).
@@ -60,6 +61,7 @@ The SEDA component supports 3 options which are listed below.
 
 
 
+
 // endpoint options: START
 The SEDA component supports 17 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/camel-core/src/main/docs/stub-component.adoc
----------------------------------------------------------------------
diff --git a/camel-core/src/main/docs/stub-component.adoc b/camel-core/src/main/docs/stub-component.adoc
index 8760d06..c96dca7 100644
--- a/camel-core/src/main/docs/stub-component.adoc
+++ b/camel-core/src/main/docs/stub-component.adoc
@@ -34,13 +34,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The Stub component supports 3 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | queueSize | int | Sets the default maximum capacity of the SEDA queue (i.e. the number of messages it can hold).
@@ -52,6 +53,7 @@ The Stub component supports 3 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Stub component supports 17 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/camel-core/src/main/docs/validator-component.adoc
----------------------------------------------------------------------
diff --git a/camel-core/src/main/docs/validator-component.adoc b/camel-core/src/main/docs/validator-component.adoc
index d653861..ad171b6 100644
--- a/camel-core/src/main/docs/validator-component.adoc
+++ b/camel-core/src/main/docs/validator-component.adoc
@@ -56,13 +56,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The Validator component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | resourceResolverFactory | ValidatorResourceResolverFactory | To use a custom LSResourceResolver which depends on a dynamic endpoint resource URI
@@ -72,6 +73,7 @@ The Validator component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Validator component supports 13 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/camel-core/src/main/docs/vm-component.adoc
----------------------------------------------------------------------
diff --git a/camel-core/src/main/docs/vm-component.adoc b/camel-core/src/main/docs/vm-component.adoc
index c53a717..7fe103a 100644
--- a/camel-core/src/main/docs/vm-component.adoc
+++ b/camel-core/src/main/docs/vm-component.adoc
@@ -65,13 +65,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The VM component supports 3 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | queueSize | int | Sets the default maximum capacity of the SEDA queue (i.e. the number of messages it can hold).
@@ -83,6 +84,7 @@ The VM component supports 3 options which are listed below.
 
 
 
+
 // endpoint options: START
 The VM component supports 17 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/camel-core/src/main/docs/xslt-component.adoc
----------------------------------------------------------------------
diff --git a/camel-core/src/main/docs/xslt-component.adoc b/camel-core/src/main/docs/xslt-component.adoc
index 3373031..ab3e346 100644
--- a/camel-core/src/main/docs/xslt-component.adoc
+++ b/camel-core/src/main/docs/xslt-component.adoc
@@ -71,13 +71,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The XSLT component supports 5 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | xmlConverter | XmlConverter | To use a custom implementation of org.apache.camel.converter.jaxp.XmlConverter
@@ -91,6 +92,7 @@ The XSLT component supports 5 options which are listed below.
 
 
 
+
 // endpoint options: START
 The XSLT component supports 18 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
index 3a9cc36..e83bd1d 100644
--- a/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
+++ b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
@@ -45,13 +45,14 @@ As the AHC-WS component is based on the AHC component, you can use the
 various configuration options of the AHC component.
 
 
+
 // component options: START
 The AHC Websocket component supports 6 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | client | AsyncHttpClient | To use a custom AsyncHttpClient
@@ -66,6 +67,7 @@ The AHC Websocket component supports 6 options which are listed below.
 
 
 
+
 // endpoint options: START
 The AHC Websocket component supports 17 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-ahc/src/main/docs/ahc-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-ahc/src/main/docs/ahc-component.adoc b/components/camel-ahc/src/main/docs/ahc-component.adoc
index a44a3b8..c5f8bb0 100644
--- a/components/camel-ahc/src/main/docs/ahc-component.adoc
+++ b/components/camel-ahc/src/main/docs/ahc-component.adoc
@@ -91,13 +91,14 @@ AhcComponent Options
 
 
 
+
 // component options: START
 The AHC component supports 6 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | client | AsyncHttpClient | To use a custom AsyncHttpClient
@@ -117,6 +118,7 @@ The AHC component supports 6 options which are listed below.
 
 
 
+
 Notice that setting any of the options on the `AhcComponent` will
 propagate those options to
 `AhcEndpoints` being created. However the `AhcEndpoint` can also

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-amqp/src/main/docs/amqp-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-amqp/src/main/docs/amqp-component.adoc b/components/camel-amqp/src/main/docs/amqp-component.adoc
index 938e354..2658338 100644
--- a/components/camel-amqp/src/main/docs/amqp-component.adoc
+++ b/components/camel-amqp/src/main/docs/amqp-component.adoc
@@ -40,13 +40,14 @@ link:../../../../camel-jms/src/main/docs/readme.html[JMS] component after the de
 
 
 
+
 // component options: START
 The AMQP component supports 74 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | JmsConfiguration | To use a shared JMS configuration
@@ -132,6 +133,7 @@ The AMQP component supports 74 options which are listed below.
 
 
 
+
 // endpoint options: START
 The AMQP component supports 83 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-apns/src/main/docs/apns-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-apns/src/main/docs/apns-component.adoc b/components/camel-apns/src/main/docs/apns-component.adoc
index 6d6b8bf..e60a6c3 100644
--- a/components/camel-apns/src/main/docs/apns-component.adoc
+++ b/components/camel-apns/src/main/docs/apns-component.adoc
@@ -55,13 +55,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The APNS component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | apnsService | ApnsService | To use a custom link ApnsService
@@ -71,6 +72,7 @@ The APNS component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The APNS component supports 21 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc b/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
index d4fdbac..d1e6934 100644
--- a/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
+++ b/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
@@ -36,13 +36,14 @@ Atmosphere-Websocket Options
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
+
 // component options: START
 The Atmosphere Websocket component supports 7 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | servletName | String | Default name of servlet to use. The default name is CamelServlet.
@@ -58,6 +59,7 @@ The Atmosphere Websocket component supports 7 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Atmosphere Websocket component supports 34 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-avro/src/main/docs/avro-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-avro/src/main/docs/avro-component.adoc b/components/camel-avro/src/main/docs/avro-component.adoc
index 96b96ff..fd288ab 100644
--- a/components/camel-avro/src/main/docs/avro-component.adoc
+++ b/components/camel-avro/src/main/docs/avro-component.adoc
@@ -179,13 +179,14 @@ Avro RPC URI Options
 
 
 
+
 // component options: START
 The Avro component supports 11 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | AvroConfiguration | To use a shared AvroConfiguration to configure options once. Properties of the shared configuration can also be set individually.
@@ -207,6 +208,7 @@ The Avro component supports 11 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Avro component supports 14 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-base64/src/main/docs/base64-dataformat.adoc
----------------------------------------------------------------------
diff --git a/components/camel-base64/src/main/docs/base64-dataformat.adoc b/components/camel-base64/src/main/docs/base64-dataformat.adoc
new file mode 100644
index 0000000..dec53c5
--- /dev/null
+++ b/components/camel-base64/src/main/docs/base64-dataformat.adoc
@@ -0,0 +1,109 @@
+[[Base64-Base64DataFormat]]
+Base64 Data Format
+~~~~~~~~~~~~~~~~~~
+
+*Available as of Camel 2.11* +
+ The Base64 link:data-format.html[Data Format] is a data format for
+http://en.wikipedia.org/wiki/Base64[base64 encoding and decoding].
+
+[[Base64-Options]]
+Options
+^^^^^^^
+
+// component options: START
+// component options: END
+
+// endpoint options: START
+// endpoint options: END
+
+In Spring DSL, you configure the data format using this tag:
+
+[source,xml]
+--------------------------------------------------------------------------------------------------------
+<camelContext>
+    <dataFormats>
+        <!-- for a newline character (\n), use the HTML entity notation coupled with the ASCII code. -->
+        <base64 lineSeparator="&#10;" id="base64withNewLine" />
+        <base64 lineLength="64" id="base64withLineLength64" />
+    </dataFormats>
+    ...
+</camelContext>
+--------------------------------------------------------------------------------------------------------
+
+Then you can use it later by its reference:
+
+[source,xml]
+---------------------------------------------
+<route>
+     <from uri="direct:startEncode" />
+     <marshal ref="base64withLineLength64" />
+     <to uri="mock:result" />
+</route>
+---------------------------------------------
+
+Most of the time, you won't need to declare the data format if you use
+the default options. In that case, you can declare the data format
+inline as shown below.
+
+[[Base64-Marshal]]
+Marshal
+^^^^^^^
+
+In this example we marshal the file content to base64 object.
+
+[source,java]
+---------------------------------------------------------------
+from("file://data.bin").marshal().base64().to("jms://myqueue");
+---------------------------------------------------------------
+
+In Spring DSL:
+
+[source,xml]
+-----------------------------
+ <from uri="file://data.bin">
+ <marshal>
+     <base64/>
+ </marshal>
+ <to uri="jms://myqueue"/> 
+-----------------------------
+
+[[Base64-Unmarshal]]
+Unmarshal
+^^^^^^^^^
+
+In this example we unmarshal the payload from the JMS queue to a byte[]
+object, before its processed by the newOrder processor.
+
+[source,java]
+----------------------------------------------------------------------
+from("jms://queue/order").unmarshal().base64().processRef("newOrder");
+----------------------------------------------------------------------
+
+In Spring DSL:
+
+[source,xml]
+-------------------------------
+ <from uri="jms://queue/order">
+ <marshal>
+     <base64/>
+ </marshal>
+ <to uri="bean:newOrder"/> 
+-------------------------------
+
+[[Base64-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+To use Base64 in your Camel routes you need to add a dependency on
+*camel-base64* which implements this data format.
+
+If you use Maven you can just add the following to your pom.xml:
+
+[source,xml]
+------------------------------------------------------------------------------------
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-base64</artifactId>
+  <version>x.x.x</version>  <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-base64/src/main/docs/base64.adoc
----------------------------------------------------------------------
diff --git a/components/camel-base64/src/main/docs/base64.adoc b/components/camel-base64/src/main/docs/base64.adoc
deleted file mode 100644
index dec53c5..0000000
--- a/components/camel-base64/src/main/docs/base64.adoc
+++ /dev/null
@@ -1,109 +0,0 @@
-[[Base64-Base64DataFormat]]
-Base64 Data Format
-~~~~~~~~~~~~~~~~~~
-
-*Available as of Camel 2.11* +
- The Base64 link:data-format.html[Data Format] is a data format for
-http://en.wikipedia.org/wiki/Base64[base64 encoding and decoding].
-
-[[Base64-Options]]
-Options
-^^^^^^^
-
-// component options: START
-// component options: END
-
-// endpoint options: START
-// endpoint options: END
-
-In Spring DSL, you configure the data format using this tag:
-
-[source,xml]
---------------------------------------------------------------------------------------------------------
-<camelContext>
-    <dataFormats>
-        <!-- for a newline character (\n), use the HTML entity notation coupled with the ASCII code. -->
-        <base64 lineSeparator="&#10;" id="base64withNewLine" />
-        <base64 lineLength="64" id="base64withLineLength64" />
-    </dataFormats>
-    ...
-</camelContext>
---------------------------------------------------------------------------------------------------------
-
-Then you can use it later by its reference:
-
-[source,xml]
----------------------------------------------
-<route>
-     <from uri="direct:startEncode" />
-     <marshal ref="base64withLineLength64" />
-     <to uri="mock:result" />
-</route>
----------------------------------------------
-
-Most of the time, you won't need to declare the data format if you use
-the default options. In that case, you can declare the data format
-inline as shown below.
-
-[[Base64-Marshal]]
-Marshal
-^^^^^^^
-
-In this example we marshal the file content to base64 object.
-
-[source,java]
----------------------------------------------------------------
-from("file://data.bin").marshal().base64().to("jms://myqueue");
----------------------------------------------------------------
-
-In Spring DSL:
-
-[source,xml]
------------------------------
- <from uri="file://data.bin">
- <marshal>
-     <base64/>
- </marshal>
- <to uri="jms://myqueue"/> 
------------------------------
-
-[[Base64-Unmarshal]]
-Unmarshal
-^^^^^^^^^
-
-In this example we unmarshal the payload from the JMS queue to a byte[]
-object, before its processed by the newOrder processor.
-
-[source,java]
-----------------------------------------------------------------------
-from("jms://queue/order").unmarshal().base64().processRef("newOrder");
-----------------------------------------------------------------------
-
-In Spring DSL:
-
-[source,xml]
--------------------------------
- <from uri="jms://queue/order">
- <marshal>
-     <base64/>
- </marshal>
- <to uri="bean:newOrder"/> 
--------------------------------
-
-[[Base64-Dependencies]]
-Dependencies
-^^^^^^^^^^^^
-
-To use Base64 in your Camel routes you need to add a dependency on
-*camel-base64* which implements this data format.
-
-If you use Maven you can just add the following to your pom.xml:
-
-[source,xml]
-------------------------------------------------------------------------------------
-<dependency>
-  <groupId>org.apache.camel</groupId>
-  <artifactId>camel-base64</artifactId>
-  <version>x.x.x</version>  <!-- use the same version as your Camel core version -->
-</dependency>
-------------------------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-beanio/src/main/docs/beanio-dataformat.adoc
----------------------------------------------------------------------
diff --git a/components/camel-beanio/src/main/docs/beanio-dataformat.adoc b/components/camel-beanio/src/main/docs/beanio-dataformat.adoc
new file mode 100644
index 0000000..93f45d7
--- /dev/null
+++ b/components/camel-beanio/src/main/docs/beanio-dataformat.adoc
@@ -0,0 +1,79 @@
+[[BeanIO-BeanIO]]
+BeanIO
+~~~~~~
+
+*Available as of Camel 2.10*
+
+The BeanIO link:data-format.html[Data Format] uses
+http://beanio.org/[BeanIO] to handle flat payloads (such as XML, CSV,
+delimited, or fixed length formats).
+
+BeanIO is configured using a
+http://beanio.org/2.0/docs/reference/index.html#TheMappingFile[mappings
+XML] file where you define the mapping from the flat format to Objects
+(POJOs). This mapping file is mandatory to use.
+
+[[BeanIO-Options]]
+Options
+^^^^^^^
+
+// component options: START
+// component options: END
+
+// endpoint options: START
+// endpoint options: END
+
+[[BeanIO-Usage]]
+Usage
+^^^^^
+
+An example of a
+https://svn.apache.org/repos/asf/camel/trunk/components/camel-beanio/src/test/resources/org/apache/camel/dataformat/beanio/mappings.xml[mapping
+file is here].
+
+[[BeanIO-UsingJavaDSL]]
+Using Java DSL
+++++++++++++++
+
+To use the `BeanIODataFormat` you need to configure the data format with
+the mapping file, as well the name of the stream. +
+ In Java DSL this can be done as shown below. The streamName is
+"employeeFile".
+
+Then we have two routes. The first route is for transforming CSV data
+into a List<Employee> Java objects. Which we then
+link:splitter.html[split], so the mock endpoint +
+ receives a message for each row.
+
+The 2nd route is for the reverse operation, to transform a
+List<Employee> into a stream of CSV data.
+
+The CSV data could for example be as below:
+
+[[BeanIO-UsingXMLDSL]]
+Using XML DSL
++++++++++++++
+
+To use the BeanIO data format in XML, you need to configure it using the
+<beanio> XML tag as shown below. The routes is similar to the example
+above.
+
+[[BeanIO-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+To use BeanIO in your Camel routes you need to add a dependency on
+*camel-beanio* which implements this data format.
+
+If you use Maven you can just add the following to your pom.xml,
+substituting the version number for the latest & greatest release (see
+link:download.html[the download page for the latest versions]).
+
+[source,xml]
+---------------------------------------
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-beanio</artifactId>
+  <version>2.10.0</version>
+</dependency>
+---------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-beanio/src/main/docs/beanio.adoc
----------------------------------------------------------------------
diff --git a/components/camel-beanio/src/main/docs/beanio.adoc b/components/camel-beanio/src/main/docs/beanio.adoc
deleted file mode 100644
index 93f45d7..0000000
--- a/components/camel-beanio/src/main/docs/beanio.adoc
+++ /dev/null
@@ -1,79 +0,0 @@
-[[BeanIO-BeanIO]]
-BeanIO
-~~~~~~
-
-*Available as of Camel 2.10*
-
-The BeanIO link:data-format.html[Data Format] uses
-http://beanio.org/[BeanIO] to handle flat payloads (such as XML, CSV,
-delimited, or fixed length formats).
-
-BeanIO is configured using a
-http://beanio.org/2.0/docs/reference/index.html#TheMappingFile[mappings
-XML] file where you define the mapping from the flat format to Objects
-(POJOs). This mapping file is mandatory to use.
-
-[[BeanIO-Options]]
-Options
-^^^^^^^
-
-// component options: START
-// component options: END
-
-// endpoint options: START
-// endpoint options: END
-
-[[BeanIO-Usage]]
-Usage
-^^^^^
-
-An example of a
-https://svn.apache.org/repos/asf/camel/trunk/components/camel-beanio/src/test/resources/org/apache/camel/dataformat/beanio/mappings.xml[mapping
-file is here].
-
-[[BeanIO-UsingJavaDSL]]
-Using Java DSL
-++++++++++++++
-
-To use the `BeanIODataFormat` you need to configure the data format with
-the mapping file, as well the name of the stream. +
- In Java DSL this can be done as shown below. The streamName is
-"employeeFile".
-
-Then we have two routes. The first route is for transforming CSV data
-into a List<Employee> Java objects. Which we then
-link:splitter.html[split], so the mock endpoint +
- receives a message for each row.
-
-The 2nd route is for the reverse operation, to transform a
-List<Employee> into a stream of CSV data.
-
-The CSV data could for example be as below:
-
-[[BeanIO-UsingXMLDSL]]
-Using XML DSL
-+++++++++++++
-
-To use the BeanIO data format in XML, you need to configure it using the
-<beanio> XML tag as shown below. The routes is similar to the example
-above.
-
-[[BeanIO-Dependencies]]
-Dependencies
-^^^^^^^^^^^^
-
-To use BeanIO in your Camel routes you need to add a dependency on
-*camel-beanio* which implements this data format.
-
-If you use Maven you can just add the following to your pom.xml,
-substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
-
-[source,xml]
----------------------------------------
-<dependency>
-  <groupId>org.apache.camel</groupId>
-  <artifactId>camel-beanio</artifactId>
-  <version>2.10.0</version>
-</dependency>
----------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc b/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
index 01b097d..2b8ff40 100644
--- a/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
+++ b/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
@@ -63,13 +63,14 @@ Beanstalk options
 ^^^^^^^^^^^^^^^^^
 
 
+
 // component options: START
 The Beanstalk component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | connectionSettingsFactory | ConnectionSettingsFactory | Custom ConnectionSettingsFactory. Specify which ConnectionSettingsFactory to use to make connections to Beanstalkd. Especially useful for unit testing without beanstalkd daemon (you can mock ConnectionSettings)
@@ -79,6 +80,7 @@ The Beanstalk component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Beanstalk component supports 27 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-boon/src/main/docs/boon-dataformat.adoc
----------------------------------------------------------------------
diff --git a/components/camel-boon/src/main/docs/boon-dataformat.adoc b/components/camel-boon/src/main/docs/boon-dataformat.adoc
index 10deb41..834cdb7 100644
--- a/components/camel-boon/src/main/docs/boon-dataformat.adoc
+++ b/components/camel-boon/src/main/docs/boon-dataformat.adoc
@@ -18,17 +18,18 @@ Options
 
 
 
+
 // dataformat options: START
 The Boon dataformat supports 2 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,1m,6",options="header"]
 |=======================================================================
-| Name | Java Type | Description
-| unmarshalTypeName | String | Class name of the java type to use when unarmshalling
-| useList | Boolean | To unarmshal to a List of Map or a List of Pojo.
+| Name | Default | Java Type | Description
+| unmarshalTypeName |  | String | Class name of the java type to use when unarmshalling
+| useList | false | Boolean | To unarmshal to a List of Map or a List of Pojo.
 |=======================================================================
 {% endraw %}
 // dataformat options: END
@@ -36,6 +37,7 @@ The Boon dataformat supports 2 options which are listed below.
 
 
 
+
 [[Boon-UsingtheJavaDSL]]
 Using the Java DSL
 ^^^^^^^^^^^^^^^^^^

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-box/src/main/docs/box-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-box/src/main/docs/box-component.adoc b/components/camel-box/src/main/docs/box-component.adoc
index 9348bd2..dfa1a1c 100644
--- a/components/camel-box/src/main/docs/box-component.adoc
+++ b/components/camel-box/src/main/docs/box-component.adoc
@@ -40,13 +40,14 @@ Box Options
 
 
 
+
 // component options: START
 The Box component supports 17 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | BoxConfiguration | To use the shared configuration. Properties of the shared configuration can also be set individually.
@@ -75,6 +76,7 @@ The Box component supports 17 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Box component supports 21 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-braintree/src/main/docs/braintree-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-braintree/src/main/docs/braintree-component.adoc b/components/camel-braintree/src/main/docs/braintree-component.adoc
index 054919e..4e37005 100644
--- a/components/camel-braintree/src/main/docs/braintree-component.adoc
+++ b/components/camel-braintree/src/main/docs/braintree-component.adoc
@@ -37,13 +37,14 @@ Braintree Options
 
 
 
+
 // component options: START
 The Braintree component supports 12 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | BraintreeConfiguration | To use the shared configuration. Properties of the shared configuration can also be set individually.
@@ -65,6 +66,7 @@ The Braintree component supports 12 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Braintree component supports 15 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-cache/src/main/docs/cache-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-cache/src/main/docs/cache-component.adoc b/components/camel-cache/src/main/docs/cache-component.adoc
index 71ab13c..66d1660 100644
--- a/components/camel-cache/src/main/docs/cache-component.adoc
+++ b/components/camel-cache/src/main/docs/cache-component.adoc
@@ -48,13 +48,14 @@ Options
 
 
 
+
 // component options: START
 The EHCache component supports 15 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | cacheManagerFactory | CacheManagerFactory | To use the given CacheManagerFactory for creating the CacheManager. By default the DefaultCacheManagerFactory is used.
@@ -80,6 +81,7 @@ The EHCache component supports 15 options which are listed below.
 
 
 
+
 // endpoint options: START
 The EHCache component supports 20 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-castor/src/main/docs/castor-dataformat.adoc
----------------------------------------------------------------------
diff --git a/components/camel-castor/src/main/docs/castor-dataformat.adoc b/components/camel-castor/src/main/docs/castor-dataformat.adoc
new file mode 100644
index 0000000..f09723d
--- /dev/null
+++ b/components/camel-castor/src/main/docs/castor-dataformat.adoc
@@ -0,0 +1,139 @@
+[[Castor-Castor]]
+Castor
+~~~~~~
+
+*Available as of Camel 2.1*
+
+Castor is a link:data-format.html[Data Format] which uses the
+http://www.castor.org/[Castor XML library] to unmarshal an XML payload
+into Java objects or to marshal Java objects into an XML payload.
+
+As usually you can use either Java DSL or Spring XML to work with Castor
+Data Format.
+
+[[Castor-UsingtheJavaDSL]]
+Using the Java DSL
+^^^^^^^^^^^^^^^^^^
+
+[source,java]
+-----------------------------
+from("direct:order").
+  marshal().castor().
+  to("activemq:queue:order");
+-----------------------------
+
+For example the following uses a named DataFormat of Castor which uses
+default Castor data binding features.
+
+[source,java]
+--------------------------------------------------
+CastorDataFormat castor = new CastorDataFormat ();
+
+from("activemq:My.Queue").
+  unmarshal(castor).
+  to("mqseries:Another.Queue");
+--------------------------------------------------
+
+If you prefer to use a named reference to a data format which can then
+be defined in your Registry such as via your Spring XML file. e.g.
+
+[source,java]
+-------------------------------
+from("activemq:My.Queue").
+  unmarshal("mycastorType").
+  to("mqseries:Another.Queue");
+-------------------------------
+
+If you want to override default mapping schema by providing a mapping
+file you can set it as follows.
+
+[source,java]
+--------------------------------------------------
+CastorDataFormat castor = new CastorDataFormat ();
+castor.setMappingFile("mapping.xml");
+--------------------------------------------------
+
+Also if you want to have more control on Castor Marshaller and
+Unmarshaller you can access them as below.
+
+[source,java]
+-------------------------
+castor.getMarshaller();
+castor.getUnmarshaller();
+-------------------------
+
+[[Castor-UsingSpringXML]]
+Using Spring XML
+^^^^^^^^^^^^^^^^
+
+The following example shows how to use Castor to unmarshal using Spring
+configuring the castor data type
+
+[source,java]
+-----------------------------------------------------------------------
+<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
+  <route>
+    <from uri="direct:start"/>
+    <unmarshal>
+      <castor validation="true" />
+    </unmarshal>
+    <to uri="mock:result"/>
+  </route>
+</camelContext>
+-----------------------------------------------------------------------
+
+This example shows how to configure the data type just once and reuse it
+on multiple routes. You have to set the <castor> element directly in
+<camelContext>.
+
+[source,java]
+-----------------------------------------------------------------------
+<camelContext>
+<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
+  <dataFormats>
+    <castor id="myCastor"/>
+  </dataFormats>
+
+  <route>
+    <from uri="direct:start"/>
+    <marshal ref="myCastor"/>
+    <to uri="direct:marshalled"/>
+  </route>
+  <route>
+    <from uri="direct:marshalled"/>
+    <unmarshal ref="myCastor"/>
+    <to uri="mock:result"/>
+  </route>
+
+</camelContext>
+-----------------------------------------------------------------------
+
+[[Castor-Options]]
+Options
+^^^^^^^
+
+// component options: START
+// component options: END
+
+// endpoint options: START
+// endpoint options: END
+
+[[Castor-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+To use Castor in your camel routes you need to add the a dependency on
+*camel-castor* which implements this data format.
+
+If you use maven you could just add the following to your pom.xml,
+substituting the version number for the latest & greatest release (see
+link:download.html[the download page for the latest versions]).
+
+[source,java]
+---------------------------------------
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-castor</artifactId>
+  <version>x.x.x</version>
+</dependency>
+---------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-castor/src/main/docs/castor.adoc
----------------------------------------------------------------------
diff --git a/components/camel-castor/src/main/docs/castor.adoc b/components/camel-castor/src/main/docs/castor.adoc
deleted file mode 100644
index f09723d..0000000
--- a/components/camel-castor/src/main/docs/castor.adoc
+++ /dev/null
@@ -1,139 +0,0 @@
-[[Castor-Castor]]
-Castor
-~~~~~~
-
-*Available as of Camel 2.1*
-
-Castor is a link:data-format.html[Data Format] which uses the
-http://www.castor.org/[Castor XML library] to unmarshal an XML payload
-into Java objects or to marshal Java objects into an XML payload.
-
-As usually you can use either Java DSL or Spring XML to work with Castor
-Data Format.
-
-[[Castor-UsingtheJavaDSL]]
-Using the Java DSL
-^^^^^^^^^^^^^^^^^^
-
-[source,java]
------------------------------
-from("direct:order").
-  marshal().castor().
-  to("activemq:queue:order");
------------------------------
-
-For example the following uses a named DataFormat of Castor which uses
-default Castor data binding features.
-
-[source,java]
---------------------------------------------------
-CastorDataFormat castor = new CastorDataFormat ();
-
-from("activemq:My.Queue").
-  unmarshal(castor).
-  to("mqseries:Another.Queue");
---------------------------------------------------
-
-If you prefer to use a named reference to a data format which can then
-be defined in your Registry such as via your Spring XML file. e.g.
-
-[source,java]
--------------------------------
-from("activemq:My.Queue").
-  unmarshal("mycastorType").
-  to("mqseries:Another.Queue");
--------------------------------
-
-If you want to override default mapping schema by providing a mapping
-file you can set it as follows.
-
-[source,java]
---------------------------------------------------
-CastorDataFormat castor = new CastorDataFormat ();
-castor.setMappingFile("mapping.xml");
---------------------------------------------------
-
-Also if you want to have more control on Castor Marshaller and
-Unmarshaller you can access them as below.
-
-[source,java]
--------------------------
-castor.getMarshaller();
-castor.getUnmarshaller();
--------------------------
-
-[[Castor-UsingSpringXML]]
-Using Spring XML
-^^^^^^^^^^^^^^^^
-
-The following example shows how to use Castor to unmarshal using Spring
-configuring the castor data type
-
-[source,java]
------------------------------------------------------------------------
-<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
-  <route>
-    <from uri="direct:start"/>
-    <unmarshal>
-      <castor validation="true" />
-    </unmarshal>
-    <to uri="mock:result"/>
-  </route>
-</camelContext>
------------------------------------------------------------------------
-
-This example shows how to configure the data type just once and reuse it
-on multiple routes. You have to set the <castor> element directly in
-<camelContext>.
-
-[source,java]
------------------------------------------------------------------------
-<camelContext>
-<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
-  <dataFormats>
-    <castor id="myCastor"/>
-  </dataFormats>
-
-  <route>
-    <from uri="direct:start"/>
-    <marshal ref="myCastor"/>
-    <to uri="direct:marshalled"/>
-  </route>
-  <route>
-    <from uri="direct:marshalled"/>
-    <unmarshal ref="myCastor"/>
-    <to uri="mock:result"/>
-  </route>
-
-</camelContext>
------------------------------------------------------------------------
-
-[[Castor-Options]]
-Options
-^^^^^^^
-
-// component options: START
-// component options: END
-
-// endpoint options: START
-// endpoint options: END
-
-[[Castor-Dependencies]]
-Dependencies
-^^^^^^^^^^^^
-
-To use Castor in your camel routes you need to add the a dependency on
-*camel-castor* which implements this data format.
-
-If you use maven you could just add the following to your pom.xml,
-substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
-
-[source,java]
----------------------------------------
-<dependency>
-  <groupId>org.apache.camel</groupId>
-  <artifactId>camel-castor</artifactId>
-  <version>x.x.x</version>
-</dependency>
----------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-cometd/src/main/docs/cometd-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-cometd/src/main/docs/cometd-component.adoc b/components/camel-cometd/src/main/docs/cometd-component.adoc
index 8135538..3774dea 100644
--- a/components/camel-cometd/src/main/docs/cometd-component.adoc
+++ b/components/camel-cometd/src/main/docs/cometd-component.adoc
@@ -52,13 +52,14 @@ Options
 
 
 
+
 // component options: START
 The CometD component supports 6 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | sslKeyPassword | String | The password for the keystore when using SSL.
@@ -75,6 +76,7 @@ The CometD component supports 6 options which are listed below.
 
 
 
+
 // endpoint options: START
 The CometD component supports 19 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-csv/src/main/docs/csv-dataformat.adoc
----------------------------------------------------------------------
diff --git a/components/camel-csv/src/main/docs/csv-dataformat.adoc b/components/camel-csv/src/main/docs/csv-dataformat.adoc
new file mode 100644
index 0000000..5d56296
--- /dev/null
+++ b/components/camel-csv/src/main/docs/csv-dataformat.adoc
@@ -0,0 +1,465 @@
+[[CSV-CSV]]
+CSV
+~~~
+
+The CSV link:data-format.html[Data Format] uses
+http://commons.apache.org/proper/commons-csv/[Apache Commons CSV] to
+handle CSV payloads (Comma Separated Values) such as those
+exported/imported by Excel.
+
+As of Camel 2.15.0, it now uses
+the�http://commons.apache.org/proper/commons-csv/archives/1.1/index.html[Apache
+Commons CSV 1.1] which is based on a completely different set of
+options.
+
+[[CSV-AvailableoptionsuntilCamel2.15]]
+Available options until Camel 2.15
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Option |Type |Description
+
+|config |CSVConfig |Can be used to set a custom `CSVConfig` object.
+
+|strategy |CSVStrategy |Can be used to set a custom `CSVStrategy`; the default is
+`CSVStrategy.DEFAULT_STRATEGY`.
+
+|autogenColumns |boolean |Whether or not columns are auto-generated in the resulting CSV. The
+default value is `true`; subsequent messages use the previously created
+columns with new fields being added at the end of the line.
+
+|delimiter |String |*Camel 2.4:* The column delimiter to use; the default value is "`,`".
+
+|skipFirstLine |boolean |*Camel 2.10:* Whether or not to skip the first line of CSV input when
+unmarshalling (e.g. if the content has headers on the first line); the
+default value is `false`.
+
+|lazyLoad |boolean |*Camel 2.12.2:*�Whether or not to Sequential access CSV input through an
+iterator which could avoid OOM exception when processing huge CSV file;
+the default value is false
+
+|useMaps |boolean |*Camel 2.13:* Whether to use List<Map> when unmarshalling instead of
+List<List>.
+|=======================================================================
+
+[[CSV-AvailableoptionsasofCamel2.15]]
+Available options as of Camel 2.15
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Option |Type |Description
+
+|`format` |`CSVFormat` |The reference format to use, it will be updated with the other format
+options, the default value is `CSVFormat.DEFAULT`
+
+|`commentMarkerDisabled` |`boolean` |Disables the comment marker of the reference format.
+This option is `false` by default.
+
+|`commentMarker` |`Character` |Overrides the comment marker of the reference format.
+This option is `null` by default. When `null` it keeps the value of the
+reference format which is `null` for `CSVFormat.DEFAULT`.
+
+|`delimiter` |`Character` |Overrides the delimiter of the reference format.
+This option is `null` by defaut. When `null` it keeps the value of the
+reference format which is `','` for `CSVFormat.DEFAULT`.
+
+|`escapeDisabled` |`boolean` |Disables the escape character of the reference format.
+This option is `false` by default.
+
+|`escape` |`Character` |Overrides the escape character of the reference format.
+This option is `null` by default. When `null` it keeps the value of the
+reference format which is `null` for `CSVFormat.DEFAULT`.
+
+|`headerDisabled` |`boolean` |Disables the header of the reference format.
+This option is `false` by default.
+
+|`header` |`String[]` |Overrides the header of the reference format.
+This option is `null` by default. When `null` it keeps the value of the
+reference format which is `null` for `CSVFormat.DEFAULT`.
+
+|`allowMissingColumnNames` |`Boolean` |Overrides the missing column names behavior of the reference format.
+This option is `null` by default. When `null` it keeps the value of the
+reference format which is `false` for `CSVFormat.DEFAULT`.
+
+|`ignoreEmptyLines` |`Boolean` |Overrides the empty line behavior of the reference format.
+This option is `null` by default. When `null` it keeps the value of the
+reference format which is `true` for `CSVFormat.DEFAULT`.
+
+|`ignoreSurroundingSpaces` |`Boolean` |Overrides the surrounding spaces behavior of the reference format.
+This option is `null` by default. When `null` it keeps the value of the
+reference format which is `false` for `CSVFormat.DEFAULT`.
+
+|`nullStringDisabled` |`boolean` |Disables the null string representation of the reference format.
+This option is `false` by default.
+
+|`nullString` |`String` |Overrides the null string representation of the reference format.
+This option is `null` by default. When `null` it keeps the value of the
+reference format which is `null` for `CSVFormat.DEFAULT`.
+
+|`quoteDisabled` |`boolean` |Disables the quote of the reference format.
+This option is `false` by default.
+
+|`quote` |`Character` |Overrides the quote symbol of the reference format.
+This option is `null` by default. When `null` it keeps the value of the
+reference format which is `'"'` (double quote) for `CSVFormat.DEFAULT`.
+
+|`quoteMode` |`QuoteMode` |Overrides the quote mode of the reference format.
+This option is `null` by default. When `null` it keeps the value of the
+reference format which is `null` for `CSVFormat.DEFAULT`.
+
+|`recordSeparatorDisabled` |`boolean` |Disables the record separator of the reference format.
+This option is `false` by default.
+
+|`recordSeparator` |`String` |Overrides the record separator of the reference format.
+This option is `null` by default. When `null` it keeps the value of the
+reference format which is `\r\n` (CRLF) for `CSVFormat.DEFAULT`.
+
+|`skipHeaderRecord` |`Boolean` |Overrides the header record behavior of the reference format.
+This option is `null` by default. When `null` it keeps the value of the
+reference format which is `false` for `CSVFormat.DEFAULT`.
+
+|`lazyLoad` |`boolean` |Whether the unmarshalling should produce an iterator that reads the
+lines on the fly or if all the lines must be read at one.
+This option is�`false`�by default.
+
+|`useMaps` |`boolean` |Whether the unmarshalling should produce maps for the lines values
+instead of lists. It requires to have header (either defined or
+collected). This options is�`false`�by default.
+
+|`recordConverter` |`CsvRecordConverter` |Sets the record converter to use. If defines the `useMaps` options is
+disabled. This option is `null` by default.
+|=======================================================================
+
+[[CSV-MarshallingaMaptoCSV]]
+Marshalling a Map to CSV
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+The component allows you to marshal a Java Map (or any other message
+type that can be link:type-converter.html[converted] in a Map) into a
+CSV payload.
+
+Considering the following body 
+
+[source,java]
+-------------------------------------------------------
+Map<String, Object> body = new LinkedHashMap<>();
+body.put("foo", "abc");
+body.put("bar", 123);
+-------------------------------------------------------
+
+and this Java route definition 
+
+[source,java]
+-------------------------------------------------------
+from("direct:start")
+    .marshal().csv()
+    .to("mock:result");
+-------------------------------------------------------
+
+or this XML route definition 
+
+[source,xml]
+-------------------------------------------------------
+<route>
+    <from uri="direct:start" />
+    <marshal>
+        <csv />
+    </marshal>
+    <to uri="mock:result" />
+</route>
+-------------------------------------------------------
+
+then it will produce 
+
+[source,java]
+-------------------------------------------------------
+abc,123
+-------------------------------------------------------
+
+[[CSV-UnmarshallingaCSVmessageintoaJavaList]]
+Unmarshalling a CSV message into a Java List
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Unmarshalling will transform a CSV messsage into a Java List with CSV
+file lines (containing another List with all the field values).
+
+An example: we have a CSV file with names of persons, their IQ and their
+current activity.
+
+[source,text]
+-----------------------------------------------------
+Jack Dalton, 115, mad at Averell
+Joe Dalton, 105, calming Joe
+William Dalton, 105, keeping Joe from killing Averell
+Averell Dalton, 80, playing with Rantanplan
+Lucky Luke, 120, capturing the Daltons
+-----------------------------------------------------
+
+We can now use the CSV component to unmarshal this file:
+
+[source,java]
+---------------------------------------------------------------
+from("file:src/test/resources/?fileName=daltons.csv&noop=true")
+    .unmarshal().csv()
+    .to("mock:daltons");
+---------------------------------------------------------------
+
+The resulting message will contain a `List<List<String>>` like...
+
+[source,java]
+--------------------------------------------------------------------------------------------------------------
+List<List<String>> data = (List<List<String>>) exchange.getIn().getBody();
+for (List<String> line : data) {
+    LOG.debug(String.format("%s has an IQ of %s and is currently %s", line.get(0), line.get(1), line.get(2)));
+}
+--------------------------------------------------------------------------------------------------------------
+
+[[CSV-MarshallingaList<Map>toCSV]]
+Marshalling a List<Map> to CSV
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+*Available as of Camel 2.1*
+
+If you have multiple rows of data you want to be marshalled into CSV
+format you can now store the message payload as a
+`List<Map<String, Object>>` object where the list contains a Map for
+each row.
+
+[[CSV-FilePollerofCSV,thenunmarshaling]]
+File Poller of CSV, then unmarshaling
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Given a bean which can handle the incoming data...
+
+*MyCsvHandler.java*
+
+[source,java]
+-------------------------------------------------------
+// Some comments here
+public void doHandleCsvData(List<List<String>> csvData)
+{
+    // do magic here
+}
+-------------------------------------------------------
+
+... your route then looks as follows
+
+[source,xml]
+------------------------------------------------------------------------------------------------
+<route>
+        <!-- poll every 10 seconds -->
+        <from uri="file:///some/path/to/pickup/csvfiles?delete=true&amp;consumer.delay=10000" />
+        <unmarshal><csv /></unmarshal>
+        <to uri="bean:myCsvHandler?method=doHandleCsvData" />
+</route>
+------------------------------------------------------------------------------------------------
+
+[[CSV-Marshalingwithapipeasdelimiter]]
+Marshaling with a pipe as delimiter
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Considering the following body
+
+[source,java]
+-------------------------------------------------------
+Map<String, Object> body = new LinkedHashMap<>();
+body.put("foo", "abc");
+body.put("bar", 123);
+------------------------------------------------------- 
+
+and this Java route definition 
+
+[source,java]
+-------------------------------------------------------
+// Camel version < 2.15
+CsvDataFormat oldCSV = new CsvDataFormat();
+oldCSV.setDelimiter("|");
+from("direct:start")
+    .marshal(oldCSV)
+    .to("mock:result")
+ 
+// Camel version >= 2.15
+from("direct:start")
+    .marshal(new CsvDataFormat().setDelimiter(&#39;|&#39;))
+    .to("mock:result")
+------------------------------------------------------- 
+
+or this XML route definition 
+
+[source,xml]
+-------------------------------------------------------
+<route>
+  <from uri="direct:start" />
+  <marshal>
+    <csv delimiter="|" />
+  </marshal>
+  <to uri="mock:result" />
+</route>
+------------------------------------------------------- 
+
+then it will produce 
+
+[source,java]
+-------------------------------------------------------
+abc|123
+------------------------------------------------------- 
+
+[[CSV-UsingautogenColumns,configRefandstrategyRefattributesinsideXMLDSL]]
+Using autogenColumns, configRef and strategyRef attributes inside XML
+DSL
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+*Available as of Camel 2.9.2 / 2.10 and deleted for Camel 2.15*
+
+You can customize the CSV link:data-format.html[Data Format] to make use
+of your own `CSVConfig` and/or `CSVStrategy`. Also note that the default
+value of the `autogenColumns` option is true. The following example
+should illustrate this customization.
+
+[source,xml]
+-----------------------------------------------------------------------------------------------------------------------------
+<route>
+  <from uri="direct:start" />
+  <marshal>
+    <!-- make use of a strategy other than the default one which is 'org.apache.commons.csv.CSVStrategy.DEFAULT_STRATEGY' -->
+    <csv autogenColumns="false" delimiter="|" configRef="csvConfig" strategyRef="excelStrategy" />
+  </marshal>
+  <convertBodyTo type="java.lang.String" />
+  <to uri="mock:result" />
+</route>
+
+<bean id="csvConfig" class="org.apache.commons.csv.writer.CSVConfig">
+  <property name="fields">
+    <list>
+      <bean class="org.apache.commons.csv.writer.CSVField">
+        <property name="name" value="orderId" />
+      </bean>
+      <bean class="org.apache.commons.csv.writer.CSVField">
+        <property name="name" value="amount" />
+      </bean>
+    </list>
+  </property>
+</bean>
+
+<bean id="excelStrategy" class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean">
+  <property name="staticField" value="org.apache.commons.csv.CSVStrategy.EXCEL_STRATEGY" />
+</bean>
+-----------------------------------------------------------------------------------------------------------------------------
+
+[[CSV-UsingskipFirstLineoptionwhileunmarshaling]]
+Using skipFirstLine option while unmarshaling
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+*Available as of Camel 2.10 and deleted for Camel 2.15*
+
+You can instruct the CSV link:data-format.html[Data Format] to skip the
+first line which contains the CSV headers. Using the Spring/XML DSL:
+
+[source,xml]
+---------------------------------------------------
+<route>
+  <from uri="direct:start" />
+  <unmarshal>
+    <csv skipFirstLine="true" />
+  </unmarshal>
+  <to uri="bean:myCsvHandler?method=doHandleCsv" />
+</route>
+---------------------------------------------------
+
+Or the Java DSL:
+
+[source,java]
+--------------------------------------------
+CsvDataFormat csv = new CsvDataFormat();
+csv.setSkipFirstLine(true);
+
+from("direct:start")
+  .unmarshal(csv)
+.to("bean:myCsvHandler?method=doHandleCsv");
+--------------------------------------------
+
+[[CSV-Unmarshalingwithapipeasdelimiter]]
+Unmarshaling with a pipe as delimiter
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Using the Spring/XML DSL:
+
+[source,xml]
+---------------------------------------------------
+<route>
+  <from uri="direct:start" />
+  <unmarshal>
+    <csv delimiter="|" />
+  </unmarshal>
+  <to uri="bean:myCsvHandler?method=doHandleCsv" />
+</route>
+---------------------------------------------------
+
+Or the Java DSL:
+
+[source,java]
+----------------------------------------------------
+CsvDataFormat csv = new CsvDataFormat();
+CSVStrategy strategy = CSVStrategy.DEFAULT_STRATEGY;
+strategy.setDelimiter('|');
+csv.setStrategy(strategy);
+
+from("direct:start")
+  .unmarshal(csv)
+  .to("bean:myCsvHandler?method=doHandleCsv");
+----------------------------------------------------
+
+[source,java]
+----------------------------------------------
+CsvDataFormat csv = new CsvDataFormat();
+csv.setDelimiter("|");
+
+from("direct:start")
+  .unmarshal(csv)
+  .to("bean:myCsvHandler?method=doHandleCsv");
+----------------------------------------------
+
+[source,java]
+----------------------------------------------
+CsvDataFormat csv = new CsvDataFormat();
+CSVConfig csvConfig = new CSVConfig();
+csvConfig.setDelimiter(";");
+csv.setConfig(csvConfig);
+
+from("direct:start")
+  .unmarshal(csv)
+  .to("bean:myCsvHandler?method=doHandleCsv");
+----------------------------------------------
+
+*Issue in CSVConfig*
+
+It looks like that
+
+[source,java]
+--------------------------------------
+CSVConfig csvConfig = new CSVConfig();
+csvConfig.setDelimiter(';');
+--------------------------------------
+
+doesn't work. You have to set the delimiter as a String!
+
+[[CSV-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+To use CSV in your Camel routes you need to add a dependency on
+*camel-csv*, which implements this data format.
+
+If you use Maven you can just add the following to your pom.xml,
+substituting the version number for the latest and greatest release (see
+link:download.html[the download page for the latest versions]).
+
+[source,java]
+-------------------------------------
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-csv</artifactId>
+  <version>x.x.x</version>
+</dependency>
+-------------------------------------


[2/6] camel git commit: CAMEL-9541: Generate readme for dataformat also.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-xstream/src/main/docs/xstream.adoc
----------------------------------------------------------------------
diff --git a/components/camel-xstream/src/main/docs/xstream.adoc b/components/camel-xstream/src/main/docs/xstream.adoc
deleted file mode 100644
index 14ce541..0000000
--- a/components/camel-xstream/src/main/docs/xstream.adoc
+++ /dev/null
@@ -1,124 +0,0 @@
-[[XStream-XStream]]
-XStream
-~~~~~~~
-
-XStream is a link:data-format.html[Data Format] which uses the
-http://xstream.codehaus.org/[XStream library] to marshal and unmarshal
-Java objects to and from XML.
-
-To use XStream in your camel routes you need to add the a dependency
-on�*camel-xstream*�which implements this data format.
-
-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-xstream</artifactId>
-  <version>x.x.x</version>
-  <!-- use the same version as your Camel core version -->
-</dependency>
-----------------------------------------------------------
-
-[[XStream-UsingtheJavaDSL]]
-Using the Java DSL
-^^^^^^^^^^^^^^^^^^
-
-[source,java]
------------------------------------------------------------
-// lets turn Object messages into XML then send to MQSeries
-from("activemq:My.Queue").
-  marshal().xstream().
-  to("mqseries:Another.Queue");
------------------------------------------------------------
-
-If you would like to configure the `XStream` instance used by the Camel
-for the message transformation, you can simply pass a reference to that
-instance on the DSL level.
-
-[source,java]
----------------------------------------------------------
-XStream xStream = new XStream();
-xStream.aliasField("money", PurchaseOrder.class, "cash");
-// new Added setModel option since Camel 2.14
-xStream.setModel("NO_REFERENCES");
-...
-
-from("direct:marshal").
-  marshal(new XStreamDataFormat(xStream)).
-  to("mock:marshaled");
----------------------------------------------------------
-
-[[XStream-XMLInputFactoryandXMLOutputFactory]]
-XMLInputFactory and XMLOutputFactory
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-http://xstream.codehaus.org/[The XStream library] uses the
-`javax.xml.stream.XMLInputFactory` and
-`javax.xml.stream.XMLOutputFactory`, you can control which
-implementation of this factory should be used.
-
-The Factory is discovered using this algorithm: 
- 1. Use the `javax.xml.stream.XMLInputFactory` ,
-`javax.xml.stream.XMLOutputFactory` system property. 
- 2. Use the `lib/xml.stream.properties` file in the `JRE_HOME`
-directory. 
- 3. Use the Services API, if available, to determine the classname by
-looking in the `META-INF/services/javax.xml.stream.XMLInputFactory`,
-`META-INF/services/javax.xml.stream.XMLOutputFactory` files in jars
-available to the JRE. 
- 4. Use the platform default XMLInputFactory,XMLOutputFactory instance.
-
-[[XStream-HowtosettheXMLencodinginXstreamDataFormat]]
-How to set the XML encoding in Xstream DataFormat?
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-From Camel 2.2.0, you can set the encoding of XML in Xstream DataFormat
-by setting the Exchange's property with the key `Exchange.CHARSET_NAME`,
-or setting the encoding property on Xstream from DSL or Spring config.
-
-[source,java]
--------------------------------
-from("activemq:My.Queue").
-  marshal().xstream("UTF-8").
-  to("mqseries:Another.Queue");
--------------------------------
-
-[[XStream-SettingthetypepermissionsofXstreamDataFormat]]
-Setting the type permissions of Xstream DataFormat
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-In Camel, one can always use its own processing step in the route to
-filter and block certain XML documents to be routed to the XStream's
-unmarhall step. From Camel 2.16.1, 2.15.5, you can
-set�http://x-stream.github.io/security.html[XStream's type
-permissions]�to automatically allow or deny the instantiation of certain
-types.
-
-The default type permissions setting used by Camel denies all types
-except for those from java.lang and java.util packages. This setting can
-be changed by setting System property
-org.apache.camel.xstream.permissions. Its value is a string of
-comma-separated permission terms, each representing a type being allowed
-or denied, depending on whether the term is prefixed with '+' (note '+'
-may be omitted) or with '-', respectively.
-
-Each term may contain a wildcard character '*'. For example, value
-"-*,java.lang.*,java.util.*" indicates denying all types except for
-java.lang.* and java.util.* classes. Setting this value to an empty
-string "" reverts to the default XStream's type permissions handling
-which denies certain blacklisted classes and allow others.
-
-The type permissions setting can be extended at an individual XStream
-DataFormat instance by setting its type permissions property.
-
-[source,java]
--------------------------------------------------------------------
-    <dataFormats>
-        <xstream id="xstream-default" 
-                 permissions="org.apache.camel.samples.xstream.*"/>
-        ...
-
--------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-yammer/src/main/docs/yammer-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-yammer/src/main/docs/yammer-component.adoc b/components/camel-yammer/src/main/docs/yammer-component.adoc
index 36532c6..77fb409 100644
--- a/components/camel-yammer/src/main/docs/yammer-component.adoc
+++ b/components/camel-yammer/src/main/docs/yammer-component.adoc
@@ -45,13 +45,14 @@ which are mandatory to configure before using.
 
 
 
+
 // component options: START
 The Yammer component supports 4 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | consumerKey | String | The consumer key
@@ -64,6 +65,7 @@ The Yammer component supports 4 options which are listed below.
 
 
 
+
 You can also configure these options directly in the endpoint.
 
 [[Yammer-EndpointOptions]]

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-zipfile/src/main/docs/zipfile-dataformat.adoc
----------------------------------------------------------------------
diff --git a/components/camel-zipfile/src/main/docs/zipfile-dataformat.adoc b/components/camel-zipfile/src/main/docs/zipfile-dataformat.adoc
new file mode 100644
index 0000000..0f61ea6
--- /dev/null
+++ b/components/camel-zipfile/src/main/docs/zipfile-dataformat.adoc
@@ -0,0 +1,159 @@
+[[ZipFileDataFormat-ZipFile]]
+Zip File
+~~~~~~~~
+
+TIP:*Available since Camel 2.11.0*
+
+The Zip File link:data-format.html[Data Format] is a message compression
+and de-compression format. Messages can be marshalled (compressed) to
+Zip files containing a single entry, and Zip files containing a single
+entry can be unmarshalled (decompressed) to the original file contents.
+This data format supports ZIP64, as long as
+https://blogs.oracle.com/xuemingshen/entry/zip64_support_for_4g_zipfile[Java
+7 or later is being used].
+
+Since Camel 2.12.3 there is also a aggregation strategy that can
+aggregate multiple messages into a single Zip file.
+
+[[ZipFileDataFormat-Marshal]]
+Marshal
+^^^^^^^
+
+In this example we marshal a regular text/XML payload to a compressed
+payload using Zip file compression, and send it to an ActiveMQ queue
+called MY_QUEUE.
+
+[source,java]
+-----------------------------------------------------------------------
+from("direct:start").marshal().zipFile().to("activemq:queue:MY_QUEUE");
+-----------------------------------------------------------------------
+
+The name of the Zip entry inside the created Zip file is based on the
+incoming `CamelFileName` message header, which is the standard message
+header used by the link:file2.html[file component]. Additionally, the
+outgoing `CamelFileName` message header is automatically set to the
+value of the incoming `CamelFileName` message header, with the ".zip"
+suffix. So for example, if the following route finds a file named
+"test.txt" in the input directory, the output will be a Zip file named
+"test.txt.zip" containing a single Zip entry named "test.txt":
+
+[source,java]
+-----------------------------------------------------------------------------------------------
+from("file:input/directory?antInclude=*/.txt").marshal().zipFile().to("file:output/directory");
+-----------------------------------------------------------------------------------------------
+
+If there is no incoming `CamelFileName` message header (for example, if
+the link:file2.html[file component] is not the consumer), then the
+message ID is used by default, and since the message ID is normally a
+unique generated ID, you will end up with filenames like
+`ID-MACHINENAME-2443-1211718892437-1-0.zip`. If you want to override
+this behavior, then you can set the value of the `CamelFileName` header
+explicitly in your route:
+
+[source,java]
+---------------------------------------------------------------------------------------------------------------------------
+from("direct:start").setHeader(Exchange.FILE_NAME, constant("report.txt")).marshal().zipFile().to("file:output/directory");
+---------------------------------------------------------------------------------------------------------------------------
+
+This route would result in a Zip file named "report.txt.zip" in the
+output directory, containing a single Zip entry named "report.txt".
+
+[[ZipFileDataFormat-Unmarshal]]
+Unmarshal
+^^^^^^^^^
+
+In this example we unmarshal a Zip file payload from an ActiveMQ queue
+called MY_QUEUE to its original format, and forward it for processing to
+the `UnZippedMessageProcessor`.
+
+[source,java]
+-----------------------------------------------------------------------------------------------
+from("activemq:queue:MY_QUEUE").unmarshal().zipFile().process(new UnZippedMessageProcessor());�
+-----------------------------------------------------------------------------------------------
+
+If the zip file has more then one entry, the usingIterator option of
+ZipFileDataFormat to be true, and you can use splitter to do the further
+work.
+
+[source,java]
+----------------------------------------------------------------------------------------------------
+  ZipFileDataFormat zipFile = new ZipFileDataFormat();
+  zipFile.setUsingIterator(true);
+  from("file:src/test/resources/org/apache/camel/dataformat/zipfile/?consumer.delay=1000&noop=true")
+    .unmarshal(zipFile)
+    .split(body(Iterator.class))
+        .streaming()
+          .process(new UnZippedMessageProcessor())
+    .end();
+----------------------------------------------------------------------------------------------------
+
+Or you can use the ZipSplitter as an expression for splitter directly
+like this
+
+[source,java]
+----------------------------------------------------------------------------------------------------
+   from("file:src/test/resources/org/apache/camel/dataformat/zipfile?consumer.delay=1000&noop=true")
+     .split(new ZipSplitter())
+        .streaming()
+        .process(new UnZippedMessageProcessor())
+     .end();
+----------------------------------------------------------------------------------------------------
+
+[[ZipFileDataFormat-Aggregate]]
+Aggregate
+^^^^^^^^^
+
+TIP:*Available since Camel 2.12.3*
+
+INFO:Please note that this aggregation strategy requires eager completion
+check to work properly.
+
+In this example we aggregate all text files found in the input directory
+into a single Zip file that is stored in the output directory.�
+
+[source,java]
+-------------------------------------------------
+   from("file:input/directory?antInclude=*/.txt")
+     .aggregate(new ZipAggregationStrategy())
+       .constant(true)
+       .completionFromBatchConsumer()
+       .eagerCheckCompletion()
+   .to("file:output/directory");
+-------------------------------------------------
+
+The outgoing�`CamelFileName`�message header is created using
+java.io.File.createTempFile, with the ".zip" suffix.�If you want to
+override this behavior, then you can set the value of
+the�`CamelFileName`�header explicitly in your route:
+
+[source,java]
+------------------------------------------------------------
+   from("file:input/directory?antInclude=*/.txt")
+     .aggregate(new ZipAggregationStrategy())
+       .constant(true)
+       .completionFromBatchConsumer()
+       .eagerCheckCompletion()
+     .setHeader(Exchange.FILE_NAME, constant("reports.zip"))
+   .to("file:output/directory");
+------------------------------------------------------------
+
+[[ZipFileDataFormat-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+To use Zip files in your camel routes you need to add a dependency on
+*camel-zipfile* which implements this data format.
+
+If you use Maven you can just add the following to your `pom.xml`,
+substituting the version number for the latest & greatest release (see
+link:download.html[the download page for the latest versions]).
+
+[source,xml]
+----------------------------------------------------------
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-zipfile</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-zipfile/src/main/docs/zipfile.adoc
----------------------------------------------------------------------
diff --git a/components/camel-zipfile/src/main/docs/zipfile.adoc b/components/camel-zipfile/src/main/docs/zipfile.adoc
deleted file mode 100644
index 0f61ea6..0000000
--- a/components/camel-zipfile/src/main/docs/zipfile.adoc
+++ /dev/null
@@ -1,159 +0,0 @@
-[[ZipFileDataFormat-ZipFile]]
-Zip File
-~~~~~~~~
-
-TIP:*Available since Camel 2.11.0*
-
-The Zip File link:data-format.html[Data Format] is a message compression
-and de-compression format. Messages can be marshalled (compressed) to
-Zip files containing a single entry, and Zip files containing a single
-entry can be unmarshalled (decompressed) to the original file contents.
-This data format supports ZIP64, as long as
-https://blogs.oracle.com/xuemingshen/entry/zip64_support_for_4g_zipfile[Java
-7 or later is being used].
-
-Since Camel 2.12.3 there is also a aggregation strategy that can
-aggregate multiple messages into a single Zip file.
-
-[[ZipFileDataFormat-Marshal]]
-Marshal
-^^^^^^^
-
-In this example we marshal a regular text/XML payload to a compressed
-payload using Zip file compression, and send it to an ActiveMQ queue
-called MY_QUEUE.
-
-[source,java]
------------------------------------------------------------------------
-from("direct:start").marshal().zipFile().to("activemq:queue:MY_QUEUE");
------------------------------------------------------------------------
-
-The name of the Zip entry inside the created Zip file is based on the
-incoming `CamelFileName` message header, which is the standard message
-header used by the link:file2.html[file component]. Additionally, the
-outgoing `CamelFileName` message header is automatically set to the
-value of the incoming `CamelFileName` message header, with the ".zip"
-suffix. So for example, if the following route finds a file named
-"test.txt" in the input directory, the output will be a Zip file named
-"test.txt.zip" containing a single Zip entry named "test.txt":
-
-[source,java]
------------------------------------------------------------------------------------------------
-from("file:input/directory?antInclude=*/.txt").marshal().zipFile().to("file:output/directory");
------------------------------------------------------------------------------------------------
-
-If there is no incoming `CamelFileName` message header (for example, if
-the link:file2.html[file component] is not the consumer), then the
-message ID is used by default, and since the message ID is normally a
-unique generated ID, you will end up with filenames like
-`ID-MACHINENAME-2443-1211718892437-1-0.zip`. If you want to override
-this behavior, then you can set the value of the `CamelFileName` header
-explicitly in your route:
-
-[source,java]
----------------------------------------------------------------------------------------------------------------------------
-from("direct:start").setHeader(Exchange.FILE_NAME, constant("report.txt")).marshal().zipFile().to("file:output/directory");
----------------------------------------------------------------------------------------------------------------------------
-
-This route would result in a Zip file named "report.txt.zip" in the
-output directory, containing a single Zip entry named "report.txt".
-
-[[ZipFileDataFormat-Unmarshal]]
-Unmarshal
-^^^^^^^^^
-
-In this example we unmarshal a Zip file payload from an ActiveMQ queue
-called MY_QUEUE to its original format, and forward it for processing to
-the `UnZippedMessageProcessor`.
-
-[source,java]
------------------------------------------------------------------------------------------------
-from("activemq:queue:MY_QUEUE").unmarshal().zipFile().process(new UnZippedMessageProcessor());�
------------------------------------------------------------------------------------------------
-
-If the zip file has more then one entry, the usingIterator option of
-ZipFileDataFormat to be true, and you can use splitter to do the further
-work.
-
-[source,java]
-----------------------------------------------------------------------------------------------------
-  ZipFileDataFormat zipFile = new ZipFileDataFormat();
-  zipFile.setUsingIterator(true);
-  from("file:src/test/resources/org/apache/camel/dataformat/zipfile/?consumer.delay=1000&noop=true")
-    .unmarshal(zipFile)
-    .split(body(Iterator.class))
-        .streaming()
-          .process(new UnZippedMessageProcessor())
-    .end();
-----------------------------------------------------------------------------------------------------
-
-Or you can use the ZipSplitter as an expression for splitter directly
-like this
-
-[source,java]
-----------------------------------------------------------------------------------------------------
-   from("file:src/test/resources/org/apache/camel/dataformat/zipfile?consumer.delay=1000&noop=true")
-     .split(new ZipSplitter())
-        .streaming()
-        .process(new UnZippedMessageProcessor())
-     .end();
-----------------------------------------------------------------------------------------------------
-
-[[ZipFileDataFormat-Aggregate]]
-Aggregate
-^^^^^^^^^
-
-TIP:*Available since Camel 2.12.3*
-
-INFO:Please note that this aggregation strategy requires eager completion
-check to work properly.
-
-In this example we aggregate all text files found in the input directory
-into a single Zip file that is stored in the output directory.�
-
-[source,java]
--------------------------------------------------
-   from("file:input/directory?antInclude=*/.txt")
-     .aggregate(new ZipAggregationStrategy())
-       .constant(true)
-       .completionFromBatchConsumer()
-       .eagerCheckCompletion()
-   .to("file:output/directory");
--------------------------------------------------
-
-The outgoing�`CamelFileName`�message header is created using
-java.io.File.createTempFile, with the ".zip" suffix.�If you want to
-override this behavior, then you can set the value of
-the�`CamelFileName`�header explicitly in your route:
-
-[source,java]
-------------------------------------------------------------
-   from("file:input/directory?antInclude=*/.txt")
-     .aggregate(new ZipAggregationStrategy())
-       .constant(true)
-       .completionFromBatchConsumer()
-       .eagerCheckCompletion()
-     .setHeader(Exchange.FILE_NAME, constant("reports.zip"))
-   .to("file:output/directory");
-------------------------------------------------------------
-
-[[ZipFileDataFormat-Dependencies]]
-Dependencies
-^^^^^^^^^^^^
-
-To use Zip files in your camel routes you need to add a dependency on
-*camel-zipfile* which implements this data format.
-
-If you use Maven you can just add the following to your `pom.xml`,
-substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
-
-[source,xml]
-----------------------------------------------------------
-<dependency>
-  <groupId>org.apache.camel</groupId>
-  <artifactId>camel-zipfile</artifactId>
-  <version>x.x.x</version>
-  <!-- use the same version as your Camel core version -->
-</dependency>
-----------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/docs/user-manual/en/SUMMARY.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md
index 6024e52..687f548 100644
--- a/docs/user-manual/en/SUMMARY.md
+++ b/docs/user-manual/en/SUMMARY.md
@@ -83,31 +83,31 @@
             * [How do I configure endpoints](how-do-i-configure-endpoints.adoc)
 
 * Core Components
-    * [Bean](bean.adoc)
-    * [Binding](binding.adoc)
-    * [Browse](browse.adoc)
-    * [Class](class.adoc)
-    * [Controlbus](controlbus.adoc)
-    * [Dataformat](dataformat.adoc)
-    * [Dataset](dataset.adoc)
-    * [Direct](direct.adoc)
-    * [Direct-vm](direct-vm.adoc)
-    * [File](file.adoc)
-    * [Language](language.adoc)
-    * [Log](log.adoc)
-    * [Mock](mock.adoc)
-    * [Properties](properties.adoc)
-    * [Ref](ref.adoc)
-    * [Rest](rest.adoc)
-    * [Rest API](rest-api.adoc)
-    * [Scheduler](scheduler.adoc)
-    * [Seda](seda.adoc)
-    * [Stub](stub.adoc)
-    * [Test](test.adoc)
-    * [Timer](timer.adoc)
-    * [Validator](validator.adoc)
-    * [VM](vm.adoc)
-    * [Xslt](xslt.adoc)
+    * [Bean](bean-component.adoc)
+    * [Binding](binding-component.adoc)
+    * [Browse](browse-component.adoc)
+    * [Class](class-component.adoc)
+    * [Controlbus](controlbus-component.adoc)
+    * [Dataformat](dataformat-component.adoc)
+    * [Dataset](dataset-component.adoc)
+    * [Direct](direct-component.adoc)
+    * [Direct-vm](direct-vm-component.adoc)
+    * [File](file-component.adoc)
+    * [Language](language-component.adoc)
+    * [Log](log-component.adoc)
+    * [Mock](mock-component.adoc)
+    * [Properties](properties-component.adoc)
+    * [Ref](ref-component.adoc)
+    * [Rest](rest-component.adoc)
+    * [Rest API](rest-api-component.adoc)
+    * [Scheduler](scheduler-component.adoc)
+    * [Seda](seda-component.adoc)
+    * [Stub](stub-component.adoc)
+    * [Test](test-component.adoc)
+    * [Timer](timer-component.adoc)
+    * [Validator](validator-component.adoc)
+    * [VM](vm-component.adoc)
+    * [Xslt](xslt-component.adoc)
 
 * Components
     * [Async Http Client (AHC)](ahc-component.adoc)
@@ -336,24 +336,24 @@
     * [Scripting languages](scripting-languages.adoc)
 
 * Data Formats
-    * [BeanIO](beanio.adoc)
-    * [Flatpack](flatpack-dataformat.adoc)
-    * [Ical](ical.adoc)
-    * [Jackson XML](jackson-xml.adoc)
-    * [Jaxb](jaxb.adoc)
-    * [Jibx](jibx.adoc)
-    * [Johnzon](johnzon.adoc)
-    * [Lzf](lzf.adoc)
-    * [Syslog](syslog.adoc)
-    * [SOAP](soap.adoc)
-    * [Tagsoup](tagsoup.adoc)
-    * [Univocity Parsers](univocity-parsers.adoc)
-    * [XML Beans](xmlbeans.adoc)
-    * [XML JSON](xmljson.adoc)
-    * [XML Rpc](xmlrpc.adoc)
-    * [XStream](xstream.adoc)
-    * [YAML](yaml.adoc)
-    * [Zipfile](zipfile.adoc)
+    * [BeanIO](beanio-dataformat.adoc)
+    * [Flatpack](flatpack-dataformat-dataformat.adoc)
+    * [Ical](ical-dataformat.adoc)
+    * [Jackson XML](jackson-xml-dataformat.adoc)
+    * [Jaxb](jaxb-dataformat.adoc)
+    * [Jibx](jibx-dataformat.adoc)
+    * [Johnzon](johnzon-dataformat.adoc)
+    * [Lzf](lzf-dataformat.adoc)
+    * [Syslog](syslog-dataformat.adoc)
+    * [SOAP](soap-dataformat.adoc)
+    * [Tagsoup](tagsoup-dataformat.adoc)
+    * [Univocity Parsers](univocity-parsers-dataformat.adoc)
+    * [XML Beans](xmlbeans-dataformat.adoc)
+    * [XML JSON](xmljson-dataformat.adoc)
+    * [XML Rpc](xmlrpc-dataformat.adoc)
+    * [XStream](xstream-dataformat.adoc)
+    * [YAML](yaml-dataformat.adoc)
+    * [Zipfile](zipfile-dataformat.adoc)
 
 * Example
     * [BAM Example](bam-example.adoc)

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ReadmeComponentMojo.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ReadmeComponentMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ReadmeComponentMojo.java
index 40247cd..f4f85fb 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ReadmeComponentMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ReadmeComponentMojo.java
@@ -140,6 +140,7 @@ public class ReadmeComponentMojo extends AbstractMojo {
                 String json = loadDataFormatJson(jsonFiles, dataFormatName);
                 if (json != null) {
                     File file = new File(docDir, dataFormatName + "-dataformat.adoc");
+
                     DataFormatModel model = generateDataFormatModel(dataFormatName, json);
 
                     boolean exists = file.exists();

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/tooling/maven/camel-package-maven-plugin/src/main/resources/component-options.mvel
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/component-options.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/component-options.mvel
index 98b16c9..ece05bb 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/component-options.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/component-options.mvel
@@ -6,7 +6,7 @@ The @{title} component supports @{componentOptions.size()} options which are lis
 
 @if{!componentOptions.isEmpty()}
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 @foreach{row : componentOptions}| @{row.name} | @{row.shortJavaType} | @{row.description}

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/tooling/maven/camel-package-maven-plugin/src/main/resources/dataformat-options.mvel
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/dataformat-options.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/dataformat-options.mvel
index 8fe798e..c729393 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/dataformat-options.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/dataformat-options.mvel
@@ -6,10 +6,10 @@ The @{title} dataformat supports @{dataFormatOptions.size()} options which are l
 
 @if{!dataFormatOptions.isEmpty()}
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,1m,6",options="header"]
 |=======================================================================
-| Name | Java Type | Description
-@foreach{row : dataFormatOptions}| @{row.name} | @{row.shortJavaType} | @{row.description}
+| Name | Default | Java Type | Description
+@foreach{row : dataFormatOptions}| @{row.name} | @{row.defaultValue} | @{row.shortJavaType} | @{row.description}
 @end{}|=======================================================================
 {% endraw %}
 @end{}
\ No newline at end of file


[3/6] camel git commit: CAMEL-9541: Generate readme for dataformat also.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc
----------------------------------------------------------------------
diff --git a/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc b/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc
new file mode 100644
index 0000000..ea8ec7a
--- /dev/null
+++ b/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc
@@ -0,0 +1,160 @@
+[[Protobuf-Protobuf-ProtocolBuffers]]
+Protobuf - Protocol Buffers
+---------------------------
+
+"Protocol Buffers - Google's data interchange format"
+
+INFO: Available from Camel 2.2
+
+Camel provides a link:data-format.html[Data Format] to serialse between
+Java and the Protocol Buffer protocol. The project's site details why
+you may wish to
+http://code.google.com/apis/protocolbuffers/docs/overview.html[choose
+this format over xml]. Protocol Buffer is language-neutral and
+platform-neutral, so messages produced by your Camel routes may be
+consumed by other language implementations.
+
+http://code.google.com/apis/protocolbuffers/[API Site] +
+ http://code.google.com/p/protobuf/[Protobuf Implementation] +
+
+http://code.google.com/apis/protocolbuffers/docs/javatutorial.html[Protobuf
+Java Tutorial]
+
+[[Protobuf-Protobufoverview]]
+Protobuf overview
+~~~~~~~~~~~~~~~~~
+
+This quick overview of how to use Protobuf. For more detail see the
+http://code.google.com/apis/protocolbuffers/docs/javatutorial.html[complete
+tutorial]
+
+[[Protobuf-Definingtheprotoformat]]
+Defining the proto format
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The first step is to define the format for the body of your exchange.
+This is defined in a .proto file as so:
+
+*addressbook.proto*
+
+[source,java]
+------------------------------------------------------------
+
+package org.apache.camel.component.protobuf;
+
+option java_package = "org.apache.camel.component.protobuf";
+option java_outer_classname = "AddressBookProtos";
+
+message Person {
+  required string name = 1;
+  required int32 id = 2;
+  optional string email = 3;
+
+  enum PhoneType {
+    MOBILE = 0;
+    HOME = 1;
+    WORK = 2;
+  }
+
+  message PhoneNumber {
+    required string number = 1;
+    optional PhoneType type = 2 [default = HOME];
+  }
+
+  repeated PhoneNumber phone = 4;
+}
+
+message AddressBook {
+  repeated Person person = 1;
+}
+------------------------------------------------------------
+
+[[Protobuf-GeneratingJavaclasses]]
+Generating Java classes
+^^^^^^^^^^^^^^^^^^^^^^^
+
+The Protobuf SDK provides a compiler which will generate the Java
+classes for the format we defined in our .proto file. You can run the
+compiler for any additional supported languages you require.
+
+`protoc --java_out=. ./addressbook.proto`
+
+This will generate a single Java class named AddressBookProtos which
+contains inner classes for Person and AddressBook. Builders are also
+implemented for you. The generated classes implement
+com.google.protobuf.Message which is required by the serialisation
+mechanism. For this reason it important that only these classes are used
+in the body of your exchanges. Camel will throw an exception on route
+creation if you attempt to tell the link:data-format.html[Data Format]
+to use a class that does not implement com.google.protobuf.Message. Use
+the generated builders to translate the data from any of your existing
+domain classes.
+
+[[Protobuf-JavaDSL]]
+Java DSL
+~~~~~~~~
+
+You can use create the ProtobufDataFormat instance and pass it to Camel
+DataFormat marshal and unmarsha API like this.
+
+[source,java]
+-----------------------------------------------------------------------------------
+   ProtobufDataFormat format = new ProtobufDataFormat(Person.getDefaultInstance());
+
+   from("direct:in").marshal(format);
+   from("direct:back").unmarshal(format).to("mock:reverse");
+-----------------------------------------------------------------------------------
+
+Or use the DSL protobuf() passing the unmarshal default instance or
+default instance class name like this.
+
+[source,java]
+--------------------------------------------------------------------------------------------------
+   // You don't need to specify the default instance for protobuf marshaling               
+   from("direct:marshal").marshal().protobuf();
+   from("direct:unmarshalA").unmarshal().
+       protobuf("org.apache.camel.dataformat.protobuf.generated.AddressBookProtos$Person").
+       to ("mock:reverse");
+                
+   from("direct:unmarshalB").unmarshal().protobuf(Person.getDefaultInstance()).to("mock:reverse");
+--------------------------------------------------------------------------------------------------
+
+[[Protobuf-SpringDSL]]
+Spring DSL
+~~~~~~~~~~
+
+The following example shows how to use Castor to unmarshal using Spring
+configuring the protobuf data type
+
+[source,java]
+----------------------------------------------------------------------------------------------------------
+<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
+  <route>
+    <from uri="direct:start"/>
+    <unmarshal>
+      <protobuf instanceClass="org.apache.camel.dataformat.protobuf.generated.AddressBookProtos$Person" />
+    </unmarshal>
+    <to uri="mock:result"/>
+  </route>
+</camelContext>
+----------------------------------------------------------------------------------------------------------
+
+[[Protobuf-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+To use Protobuf in your camel routes you need to add the a dependency on
+*camel-protobuf* which implements this data format.
+
+If you use maven you could just add the following to your pom.xml,
+substituting the version number for the latest & greatest release (see
+link:download.html[the download page for the latest versions]).
+
+[source,java]
+-----------------------------------------
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-protobuf</artifactId>
+  <version>2.2.0</version>
+</dependency>
+-----------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-protobuf/src/main/docs/protobuf.adoc
----------------------------------------------------------------------
diff --git a/components/camel-protobuf/src/main/docs/protobuf.adoc b/components/camel-protobuf/src/main/docs/protobuf.adoc
deleted file mode 100644
index ea8ec7a..0000000
--- a/components/camel-protobuf/src/main/docs/protobuf.adoc
+++ /dev/null
@@ -1,160 +0,0 @@
-[[Protobuf-Protobuf-ProtocolBuffers]]
-Protobuf - Protocol Buffers
----------------------------
-
-"Protocol Buffers - Google's data interchange format"
-
-INFO: Available from Camel 2.2
-
-Camel provides a link:data-format.html[Data Format] to serialse between
-Java and the Protocol Buffer protocol. The project's site details why
-you may wish to
-http://code.google.com/apis/protocolbuffers/docs/overview.html[choose
-this format over xml]. Protocol Buffer is language-neutral and
-platform-neutral, so messages produced by your Camel routes may be
-consumed by other language implementations.
-
-http://code.google.com/apis/protocolbuffers/[API Site] +
- http://code.google.com/p/protobuf/[Protobuf Implementation] +
-
-http://code.google.com/apis/protocolbuffers/docs/javatutorial.html[Protobuf
-Java Tutorial]
-
-[[Protobuf-Protobufoverview]]
-Protobuf overview
-~~~~~~~~~~~~~~~~~
-
-This quick overview of how to use Protobuf. For more detail see the
-http://code.google.com/apis/protocolbuffers/docs/javatutorial.html[complete
-tutorial]
-
-[[Protobuf-Definingtheprotoformat]]
-Defining the proto format
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The first step is to define the format for the body of your exchange.
-This is defined in a .proto file as so:
-
-*addressbook.proto*
-
-[source,java]
-------------------------------------------------------------
-
-package org.apache.camel.component.protobuf;
-
-option java_package = "org.apache.camel.component.protobuf";
-option java_outer_classname = "AddressBookProtos";
-
-message Person {
-  required string name = 1;
-  required int32 id = 2;
-  optional string email = 3;
-
-  enum PhoneType {
-    MOBILE = 0;
-    HOME = 1;
-    WORK = 2;
-  }
-
-  message PhoneNumber {
-    required string number = 1;
-    optional PhoneType type = 2 [default = HOME];
-  }
-
-  repeated PhoneNumber phone = 4;
-}
-
-message AddressBook {
-  repeated Person person = 1;
-}
-------------------------------------------------------------
-
-[[Protobuf-GeneratingJavaclasses]]
-Generating Java classes
-^^^^^^^^^^^^^^^^^^^^^^^
-
-The Protobuf SDK provides a compiler which will generate the Java
-classes for the format we defined in our .proto file. You can run the
-compiler for any additional supported languages you require.
-
-`protoc --java_out=. ./addressbook.proto`
-
-This will generate a single Java class named AddressBookProtos which
-contains inner classes for Person and AddressBook. Builders are also
-implemented for you. The generated classes implement
-com.google.protobuf.Message which is required by the serialisation
-mechanism. For this reason it important that only these classes are used
-in the body of your exchanges. Camel will throw an exception on route
-creation if you attempt to tell the link:data-format.html[Data Format]
-to use a class that does not implement com.google.protobuf.Message. Use
-the generated builders to translate the data from any of your existing
-domain classes.
-
-[[Protobuf-JavaDSL]]
-Java DSL
-~~~~~~~~
-
-You can use create the ProtobufDataFormat instance and pass it to Camel
-DataFormat marshal and unmarsha API like this.
-
-[source,java]
------------------------------------------------------------------------------------
-   ProtobufDataFormat format = new ProtobufDataFormat(Person.getDefaultInstance());
-
-   from("direct:in").marshal(format);
-   from("direct:back").unmarshal(format).to("mock:reverse");
------------------------------------------------------------------------------------
-
-Or use the DSL protobuf() passing the unmarshal default instance or
-default instance class name like this.
-
-[source,java]
---------------------------------------------------------------------------------------------------
-   // You don't need to specify the default instance for protobuf marshaling               
-   from("direct:marshal").marshal().protobuf();
-   from("direct:unmarshalA").unmarshal().
-       protobuf("org.apache.camel.dataformat.protobuf.generated.AddressBookProtos$Person").
-       to ("mock:reverse");
-                
-   from("direct:unmarshalB").unmarshal().protobuf(Person.getDefaultInstance()).to("mock:reverse");
---------------------------------------------------------------------------------------------------
-
-[[Protobuf-SpringDSL]]
-Spring DSL
-~~~~~~~~~~
-
-The following example shows how to use Castor to unmarshal using Spring
-configuring the protobuf data type
-
-[source,java]
-----------------------------------------------------------------------------------------------------------
-<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
-  <route>
-    <from uri="direct:start"/>
-    <unmarshal>
-      <protobuf instanceClass="org.apache.camel.dataformat.protobuf.generated.AddressBookProtos$Person" />
-    </unmarshal>
-    <to uri="mock:result"/>
-  </route>
-</camelContext>
-----------------------------------------------------------------------------------------------------------
-
-[[Protobuf-Dependencies]]
-Dependencies
-^^^^^^^^^^^^
-
-To use Protobuf in your camel routes you need to add the a dependency on
-*camel-protobuf* which implements this data format.
-
-If you use maven you could just add the following to your pom.xml,
-substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
-
-[source,java]
------------------------------------------
-<dependency>
-  <groupId>org.apache.camel</groupId>
-  <artifactId>camel-protobuf</artifactId>
-  <version>2.2.0</version>
-</dependency>
------------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-quartz/src/main/docs/quartz-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-quartz/src/main/docs/quartz-component.adoc b/components/camel-quartz/src/main/docs/quartz-component.adoc
index be1db78..d9156d0 100644
--- a/components/camel-quartz/src/main/docs/quartz-component.adoc
+++ b/components/camel-quartz/src/main/docs/quartz-component.adoc
@@ -48,13 +48,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The Quartz component supports 7 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | factory | SchedulerFactory | To use the custom SchedulerFactory which is used to create the Scheduler.
@@ -70,6 +71,7 @@ The Quartz component supports 7 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Quartz component supports 15 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-quartz2/src/main/docs/quartz2-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-quartz2/src/main/docs/quartz2-component.adoc b/components/camel-quartz2/src/main/docs/quartz2-component.adoc
index f21f45f..7bdd17f 100644
--- a/components/camel-quartz2/src/main/docs/quartz2-component.adoc
+++ b/components/camel-quartz2/src/main/docs/quartz2-component.adoc
@@ -51,13 +51,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The Quartz2 component supports 9 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | autoStartScheduler | boolean | Whether or not the scheduler should be auto started. This options is default true
@@ -75,6 +76,7 @@ The Quartz2 component supports 9 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Quartz2 component supports 21 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-restlet/src/main/docs/restlet-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-restlet/src/main/docs/restlet-component.adoc b/components/camel-restlet/src/main/docs/restlet-component.adoc
index 03a3e8a..753b8e0 100644
--- a/components/camel-restlet/src/main/docs/restlet-component.adoc
+++ b/components/camel-restlet/src/main/docs/restlet-component.adoc
@@ -64,13 +64,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The Restlet component supports 20 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | controllerDaemon | Boolean | Indicates if the controller thread should be a daemon (not blocking JVM exit).
@@ -99,6 +100,7 @@ The Restlet component supports 20 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Restlet component supports 21 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc b/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
index 616c501..c8d48f4 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
@@ -203,13 +203,14 @@ Options
 
 
 
+
 // component options: START
 The Salesforce component supports 55 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | loginConfig | SalesforceLoginConfig | To use the shared SalesforceLoginConfig as login configuration. Properties of the shared configuration can also be set individually.
@@ -279,6 +280,7 @@ The Salesforce component supports 55 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Salesforce component supports 39 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-saxon/src/main/docs/xquery-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-saxon/src/main/docs/xquery-component.adoc b/components/camel-saxon/src/main/docs/xquery-component.adoc
index b88a4fb..bfabb63 100644
--- a/components/camel-saxon/src/main/docs/xquery-component.adoc
+++ b/components/camel-saxon/src/main/docs/xquery-component.adoc
@@ -15,13 +15,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The XQuery component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | moduleURIResolver | ModuleURIResolver | To use the custom ModuleURIResolver
@@ -31,6 +32,7 @@ The XQuery component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The XQuery component supports 31 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-sjms/src/main/docs/sjms-batch-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-sjms/src/main/docs/sjms-batch-component.adoc b/components/camel-sjms/src/main/docs/sjms-batch-component.adoc
index 4c81839..f7f607c 100644
--- a/components/camel-sjms/src/main/docs/sjms-batch-component.adoc
+++ b/components/camel-sjms/src/main/docs/sjms-batch-component.adoc
@@ -115,13 +115,14 @@ Component Options and Configurations
 
 
 
+
 // component options: START
 The Simple JMS Batch component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | connectionFactory | ConnectionFactory | A ConnectionFactory is required to enable the SjmsBatchComponent.
@@ -136,6 +137,7 @@ The Simple JMS Batch component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Simple JMS Batch component supports 21 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-sjms/src/main/docs/sjms-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-sjms/src/main/docs/sjms-component.adoc b/components/camel-sjms/src/main/docs/sjms-component.adoc
index fa3a68d..a5fe12c 100644
--- a/components/camel-sjms/src/main/docs/sjms-component.adoc
+++ b/components/camel-sjms/src/main/docs/sjms-component.adoc
@@ -102,13 +102,14 @@ Component Options and Configurations
 
 
 
+
 // component options: START
 The Simple JMS component supports 9 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | connectionFactory | ConnectionFactory | A ConnectionFactory is required to enable the SjmsComponent. It can be set directly or set set as part of a ConnectionResource.
@@ -130,6 +131,7 @@ The Simple JMS component supports 9 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Simple JMS component supports 32 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-slack/src/main/docs/slack-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-slack/src/main/docs/slack-component.adoc b/components/camel-slack/src/main/docs/slack-component.adoc
index 08563b8..91cb32d 100644
--- a/components/camel-slack/src/main/docs/slack-component.adoc
+++ b/components/camel-slack/src/main/docs/slack-component.adoc
@@ -46,13 +46,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The Slack component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | webhookUrl | String | The incoming webhook URL
@@ -62,6 +63,7 @@ The Slack component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Slack component supports 7 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-smpp/src/main/docs/smpp-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-smpp/src/main/docs/smpp-component.adoc b/components/camel-smpp/src/main/docs/smpp-component.adoc
index 72a8e1d..e4cacec 100644
--- a/components/camel-smpp/src/main/docs/smpp-component.adoc
+++ b/components/camel-smpp/src/main/docs/smpp-component.adoc
@@ -177,13 +177,14 @@ URI Options
 
 
 
+
 // component options: START
 The SMPP component supports 36 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | SmppConfiguration | To use the shared SmppConfiguration as configuration. Properties of the shared configuration can also be set individually.
@@ -230,6 +231,7 @@ The SMPP component supports 36 options which are listed below.
 
 
 
+
 // endpoint options: START
 The SMPP component supports 40 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-spark-rest/src/main/docs/spark-rest-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-spark-rest/src/main/docs/spark-rest-component.adoc b/components/camel-spark-rest/src/main/docs/spark-rest-component.adoc
index 53d9125..8741320 100644
--- a/components/camel-spark-rest/src/main/docs/spark-rest-component.adoc
+++ b/components/camel-spark-rest/src/main/docs/spark-rest-component.adoc
@@ -36,13 +36,14 @@ URI Options
 ^^^^^^^^^^^
 
 
+
 // component options: START
 The Spark Rest component supports 11 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | port | int | Port number. Will by default use 4567
@@ -62,6 +63,7 @@ The Spark Rest component supports 11 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Spark Rest component supports 13 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-spark/src/main/docs/spark-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-spark/src/main/docs/spark-component.adoc b/components/camel-spark/src/main/docs/spark-component.adoc
index 6620eb1..daf8b82 100644
--- a/components/camel-spark/src/main/docs/spark-component.adoc
+++ b/components/camel-spark/src/main/docs/spark-component.adoc
@@ -59,13 +59,14 @@ Spark options
 +++++++++++++
 
 
+
 // component options: START
 The Apache Spark component supports 2 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | rdd | JavaRDDLike | RDD to compute against.
@@ -76,6 +77,7 @@ The Apache Spark component supports 2 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Apache Spark component supports 8 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-splunk/src/main/docs/splunk-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-splunk/src/main/docs/splunk-component.adoc b/components/camel-splunk/src/main/docs/splunk-component.adoc
index 1e63732..31e01dd 100644
--- a/components/camel-splunk/src/main/docs/splunk-component.adoc
+++ b/components/camel-splunk/src/main/docs/splunk-component.adoc
@@ -94,13 +94,14 @@ URI Options
 ^^^^^^^^^^^
 
 
+
 // component options: START
 The Splunk component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | splunkConfigurationFactory | SplunkConfigurationFactory | To use the SplunkConfigurationFactory
@@ -110,6 +111,7 @@ The Splunk component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Splunk component supports 43 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-spring-batch/src/main/docs/spring-batch-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-spring-batch/src/main/docs/spring-batch-component.adoc b/components/camel-spring-batch/src/main/docs/spring-batch-component.adoc
index 2064f4b..3ee74a6 100644
--- a/components/camel-spring-batch/src/main/docs/spring-batch-component.adoc
+++ b/components/camel-spring-batch/src/main/docs/spring-batch-component.adoc
@@ -42,13 +42,14 @@ Options
 
 
 
+
 // component options: START
 The Spring Batch component supports 2 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | jobLauncher | JobLauncher | Explicitly specifies a JobLauncher to be used.
@@ -63,6 +64,7 @@ The Spring Batch component supports 2 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Spring Batch component supports 6 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-spring/src/main/docs/spring-event-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-spring/src/main/docs/spring-event-component.adoc b/components/camel-spring/src/main/docs/spring-event-component.adoc
index ac6d00c..3e8b6f9 100644
--- a/components/camel-spring/src/main/docs/spring-event-component.adoc
+++ b/components/camel-spring/src/main/docs/spring-event-component.adoc
@@ -27,13 +27,14 @@ Spring Event Options
 ^^^^^^^^^^^^^^^^^^^^
 
 
+
 // component options: START
 The Spring Event component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | applicationContext | ApplicationContext | The Spring ApplicationContext
@@ -43,6 +44,7 @@ The Spring Event component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Spring Event component supports 5 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-sql/src/main/docs/sql-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-sql/src/main/docs/sql-component.adoc b/components/camel-sql/src/main/docs/sql-component.adoc
index 41d17c4..8f96e76 100644
--- a/components/camel-sql/src/main/docs/sql-component.adoc
+++ b/components/camel-sql/src/main/docs/sql-component.adoc
@@ -109,13 +109,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The SQL component supports 2 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | dataSource | DataSource | Sets the DataSource to use to communicate with the database.
@@ -126,6 +127,7 @@ The SQL component supports 2 options which are listed below.
 
 
 
+
 // endpoint options: START
 The SQL component supports 46 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-sql/src/main/docs/sql-stored-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-sql/src/main/docs/sql-stored-component.adoc b/components/camel-sql/src/main/docs/sql-stored-component.adoc
index 70ed167..976327f 100644
--- a/components/camel-sql/src/main/docs/sql-stored-component.adoc
+++ b/components/camel-sql/src/main/docs/sql-stored-component.adoc
@@ -67,13 +67,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The SQL StoredProcedure component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | dataSource | DataSource | Sets the DataSource to use to communicate with the database.
@@ -83,6 +84,7 @@ The SQL StoredProcedure component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The SQL StoredProcedure component supports 8 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-ssh/src/main/docs/ssh-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-ssh/src/main/docs/ssh-component.adoc b/components/camel-ssh/src/main/docs/ssh-component.adoc
index bdccfd8..93b5dc8 100644
--- a/components/camel-ssh/src/main/docs/ssh-component.adoc
+++ b/components/camel-ssh/src/main/docs/ssh-component.adoc
@@ -34,13 +34,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The SSH component supports 11 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | SshConfiguration | To use the shared SSH configuration
@@ -60,6 +61,7 @@ The SSH component supports 11 options which are listed below.
 
 
 
+
 // endpoint options: START
 The SSH component supports 27 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-stomp/src/main/docs/stomp-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-stomp/src/main/docs/stomp-component.adoc b/components/camel-stomp/src/main/docs/stomp-component.adoc
index 4d6bf26..b7e69dd 100644
--- a/components/camel-stomp/src/main/docs/stomp-component.adoc
+++ b/components/camel-stomp/src/main/docs/stomp-component.adoc
@@ -38,13 +38,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The Stomp component supports 5 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | StompConfiguration | To use the shared stomp configuration
@@ -59,6 +60,7 @@ The Stomp component supports 5 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Stomp component supports 10 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-syslog/src/main/docs/syslog-dataformat.adoc
----------------------------------------------------------------------
diff --git a/components/camel-syslog/src/main/docs/syslog-dataformat.adoc b/components/camel-syslog/src/main/docs/syslog-dataformat.adoc
new file mode 100644
index 0000000..3cead3e
--- /dev/null
+++ b/components/camel-syslog/src/main/docs/syslog-dataformat.adoc
@@ -0,0 +1,137 @@
+[[Syslog-SyslogDataFormat]]
+Syslog DataFormat
+~~~~~~~~~~~~~~~~~
+
+*Available as of Camel 2.6*
+
+The *syslog* dataformat is used for working with
+http://www.ietf.org/rfc/rfc3164.txt[RFC3164]�and RFC5424 messages.
+
+This component supports the following:
+
+* UDP consumption of syslog messages
+* Agnostic data format using either plain String objects or
+SyslogMessage model objects.
+* link:type-converter.html[Type Converter] from/to SyslogMessage and
+String
+* Integration with the link:mina.html[camel-mina] component.
+* Integration with the link:netty.html[camel-netty] component.
+* *Camel 2.14:* Encoder and decoder for
+the�link:netty.html[camel-netty]�component.
+* *Camel 2.14:*�Support for RFC5424 also.
+
+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-syslog</artifactId>
+    <version>x.x.x</version>
+    <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------
+
+[[Syslog-RFC3164Syslogprotocol]]
+RFC3164 Syslog protocol
+^^^^^^^^^^^^^^^^^^^^^^^
+
+Syslog uses the user datagram protocol (UDP)
+https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=CAMEL&title=1&linkCreation=true&fromPageId=24185759[1]
+as its underlying transport layer mechanism.  +
+ The UDP port that has been assigned to syslog is 514.
+
+To expose a Syslog listener service we reuse the existing
+link:mina.html[camel-mina] component or link:netty.html[camel-netty]
+where we just use the `Rfc3164SyslogDataFormat` to marshal and unmarshal
+messages. Notice that from�*Camel 2.14* onwards the syslog dataformat is
+renamed to `SyslogDataFormat`.
+
+[[Syslog-RFC5424Syslogprotocol]]
+RFC5424 Syslog protocol
+^^^^^^^^^^^^^^^^^^^^^^^
+
+*Available as of Camel 2.14*
+
+To expose a Syslog listener service we reuse the
+existing�link:mina.html[camel-mina]�component
+or�link:netty.html[camel-netty]�where we just use
+the�`SyslogDataFormat`�to marshal and unmarshal messages
+
+[[Syslog-ExposingaSysloglistener]]
+Exposing a Syslog listener
+++++++++++++++++++++++++++
+
+In our Spring XML file, we configure an endpoint to listen for udp
+messages on port 10514, note that in netty we disable the defaultCodec,
+this  +
+ will allow a fallback to a NettyTypeConverter and delivers the message
+as an InputStream:
+
+[source,xml]
+------------------------------------------------------------------------------------------
+<camelContext id="myCamel" xmlns="http://camel.apache.org/schema/spring">
+
+    <dataFormats>
+          <syslog id="mySyslog"/>
+    </dataFormats>
+
+    <route>
+          <from uri="netty:udp://localhost:10514?sync=false&amp;allowDefaultCodec=false"/>
+          <unmarshal ref="mySyslog"/>
+          <to uri="mock:stop1"/>
+    </route>
+
+</camelContext>
+------------------------------------------------------------------------------------------
+
+The same route using link:mina.html[camel-mina]
+
+[source,xml]
+-------------------------------------------------------------------------
+<camelContext id="myCamel" xmlns="http://camel.apache.org/schema/spring">
+
+    <dataFormats>
+          <syslog id="mySyslog"/>
+    </dataFormats>
+
+    <route>
+          <from uri="mina:udp://localhost:10514"/>
+          <unmarshal ref="mySyslog"/>
+          <to uri="mock:stop1"/>
+    </route>
+
+</camelContext>
+-------------------------------------------------------------------------
+
+[[Syslog-Sendingsyslogmessagestoaremotedestination]]
+Sending syslog messages to a remote destination
++++++++++++++++++++++++++++++++++++++++++++++++
+
+[source,xml]
+-------------------------------------------------------------------------
+<camelContext id="myCamel" xmlns="http://camel.apache.org/schema/spring">
+
+    <dataFormats>
+        <syslog id="mySyslog"/>
+    </dataFormats>
+
+    <route>
+        <from uri="direct:syslogMessages"/>
+        <marshal ref="mySyslog"/>
+        <to uri="mina:udp://remotehost:10514"/>
+    </route>
+
+</camelContext>
+-------------------------------------------------------------------------
+
+[[Syslog-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/96f3710b/components/camel-syslog/src/main/docs/syslog.adoc
----------------------------------------------------------------------
diff --git a/components/camel-syslog/src/main/docs/syslog.adoc b/components/camel-syslog/src/main/docs/syslog.adoc
deleted file mode 100644
index 3cead3e..0000000
--- a/components/camel-syslog/src/main/docs/syslog.adoc
+++ /dev/null
@@ -1,137 +0,0 @@
-[[Syslog-SyslogDataFormat]]
-Syslog DataFormat
-~~~~~~~~~~~~~~~~~
-
-*Available as of Camel 2.6*
-
-The *syslog* dataformat is used for working with
-http://www.ietf.org/rfc/rfc3164.txt[RFC3164]�and RFC5424 messages.
-
-This component supports the following:
-
-* UDP consumption of syslog messages
-* Agnostic data format using either plain String objects or
-SyslogMessage model objects.
-* link:type-converter.html[Type Converter] from/to SyslogMessage and
-String
-* Integration with the link:mina.html[camel-mina] component.
-* Integration with the link:netty.html[camel-netty] component.
-* *Camel 2.14:* Encoder and decoder for
-the�link:netty.html[camel-netty]�component.
-* *Camel 2.14:*�Support for RFC5424 also.
-
-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-syslog</artifactId>
-    <version>x.x.x</version>
-    <!-- use the same version as your Camel core version -->
-</dependency>
-------------------------------------------------------------
-
-[[Syslog-RFC3164Syslogprotocol]]
-RFC3164 Syslog protocol
-^^^^^^^^^^^^^^^^^^^^^^^
-
-Syslog uses the user datagram protocol (UDP)
-https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=CAMEL&title=1&linkCreation=true&fromPageId=24185759[1]
-as its underlying transport layer mechanism.  +
- The UDP port that has been assigned to syslog is 514.
-
-To expose a Syslog listener service we reuse the existing
-link:mina.html[camel-mina] component or link:netty.html[camel-netty]
-where we just use the `Rfc3164SyslogDataFormat` to marshal and unmarshal
-messages. Notice that from�*Camel 2.14* onwards the syslog dataformat is
-renamed to `SyslogDataFormat`.
-
-[[Syslog-RFC5424Syslogprotocol]]
-RFC5424 Syslog protocol
-^^^^^^^^^^^^^^^^^^^^^^^
-
-*Available as of Camel 2.14*
-
-To expose a Syslog listener service we reuse the
-existing�link:mina.html[camel-mina]�component
-or�link:netty.html[camel-netty]�where we just use
-the�`SyslogDataFormat`�to marshal and unmarshal messages
-
-[[Syslog-ExposingaSysloglistener]]
-Exposing a Syslog listener
-++++++++++++++++++++++++++
-
-In our Spring XML file, we configure an endpoint to listen for udp
-messages on port 10514, note that in netty we disable the defaultCodec,
-this  +
- will allow a fallback to a NettyTypeConverter and delivers the message
-as an InputStream:
-
-[source,xml]
-------------------------------------------------------------------------------------------
-<camelContext id="myCamel" xmlns="http://camel.apache.org/schema/spring">
-
-    <dataFormats>
-          <syslog id="mySyslog"/>
-    </dataFormats>
-
-    <route>
-          <from uri="netty:udp://localhost:10514?sync=false&amp;allowDefaultCodec=false"/>
-          <unmarshal ref="mySyslog"/>
-          <to uri="mock:stop1"/>
-    </route>
-
-</camelContext>
-------------------------------------------------------------------------------------------
-
-The same route using link:mina.html[camel-mina]
-
-[source,xml]
--------------------------------------------------------------------------
-<camelContext id="myCamel" xmlns="http://camel.apache.org/schema/spring">
-
-    <dataFormats>
-          <syslog id="mySyslog"/>
-    </dataFormats>
-
-    <route>
-          <from uri="mina:udp://localhost:10514"/>
-          <unmarshal ref="mySyslog"/>
-          <to uri="mock:stop1"/>
-    </route>
-
-</camelContext>
--------------------------------------------------------------------------
-
-[[Syslog-Sendingsyslogmessagestoaremotedestination]]
-Sending syslog messages to a remote destination
-+++++++++++++++++++++++++++++++++++++++++++++++
-
-[source,xml]
--------------------------------------------------------------------------
-<camelContext id="myCamel" xmlns="http://camel.apache.org/schema/spring">
-
-    <dataFormats>
-        <syslog id="mySyslog"/>
-    </dataFormats>
-
-    <route>
-        <from uri="direct:syslogMessages"/>
-        <marshal ref="mySyslog"/>
-        <to uri="mina:udp://remotehost:10514"/>
-    </route>
-
-</camelContext>
--------------------------------------------------------------------------
-
-[[Syslog-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/96f3710b/components/camel-twitter/src/main/docs/twitter-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-twitter/src/main/docs/twitter-component.adoc b/components/camel-twitter/src/main/docs/twitter-component.adoc
index 69723fb..77152c6 100644
--- a/components/camel-twitter/src/main/docs/twitter-component.adoc
+++ b/components/camel-twitter/src/main/docs/twitter-component.adoc
@@ -56,13 +56,14 @@ settings which is mandatory to configure before using.
 
 
 
+
 // component options: START
 The Twitter component supports 8 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | accessToken | String | The access token
@@ -80,6 +81,7 @@ The Twitter component supports 8 options which are listed below.
 
 
 
+
 You can also configure these options directly in the endpoint.
 
 [[Twitter-ConsumerEndpoints]]

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-undertow/src/main/docs/undertow-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-undertow/src/main/docs/undertow-component.adoc b/components/camel-undertow/src/main/docs/undertow-component.adoc
index 7fd77d7..5374c8b 100644
--- a/components/camel-undertow/src/main/docs/undertow-component.adoc
+++ b/components/camel-undertow/src/main/docs/undertow-component.adoc
@@ -42,13 +42,14 @@ Options
 
 
 
+
 // component options: START
 The Undertow component supports 2 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | undertowHttpBinding | UndertowHttpBinding | To use a custom HttpBinding to control the mapping between Camel message and HttpClient.
@@ -62,6 +63,7 @@ The Undertow component supports 2 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Undertow component supports 17 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-velocity/src/main/docs/velocity-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-velocity/src/main/docs/velocity-component.adoc b/components/camel-velocity/src/main/docs/velocity-component.adoc
index 26ab6db..7d2d473 100644
--- a/components/camel-velocity/src/main/docs/velocity-component.adoc
+++ b/components/camel-velocity/src/main/docs/velocity-component.adoc
@@ -41,13 +41,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The Velocity component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | velocityEngine | VelocityEngine | To use the VelocityEngine otherwise a new engine is created
@@ -57,6 +58,7 @@ The Velocity component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Velocity component supports 7 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-vertx/src/main/docs/vertx-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-vertx/src/main/docs/vertx-component.adoc b/components/camel-vertx/src/main/docs/vertx-component.adoc
index 734343b..2aeb289 100644
--- a/components/camel-vertx/src/main/docs/vertx-component.adoc
+++ b/components/camel-vertx/src/main/docs/vertx-component.adoc
@@ -40,13 +40,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The Vert.x component supports 6 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | vertxFactory | VertxFactory | To use a custom VertxFactory implementation
@@ -61,6 +62,7 @@ The Vert.x component supports 6 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Vert.x component supports 6 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-websocket/src/main/docs/websocket-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-websocket/src/main/docs/websocket-component.adoc b/components/camel-websocket/src/main/docs/websocket-component.adoc
index 21068b8..d490a92 100644
--- a/components/camel-websocket/src/main/docs/websocket-component.adoc
+++ b/components/camel-websocket/src/main/docs/websocket-component.adoc
@@ -36,13 +36,14 @@ Websocket Options
 
 
 
+
 // component options: START
 The Jetty Websocket component supports 12 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | staticResources | String | Set a resource path for static resources (such as .html files etc). The resources can be loaded from classpath if you prefix with classpath: otherwise the resources is loaded from file system or from JAR files. For example to load from root classpath use classpath:. or classpath:WEB-INF/static If not configured (eg null) then no static resource is in use.
@@ -69,6 +70,7 @@ The Jetty Websocket component supports 12 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Jetty Websocket component supports 20 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-xmlbeans/src/main/docs/xmlBeans-dataformat.adoc
----------------------------------------------------------------------
diff --git a/components/camel-xmlbeans/src/main/docs/xmlBeans-dataformat.adoc b/components/camel-xmlbeans/src/main/docs/xmlBeans-dataformat.adoc
new file mode 100644
index 0000000..1b960c6
--- /dev/null
+++ b/components/camel-xmlbeans/src/main/docs/xmlBeans-dataformat.adoc
@@ -0,0 +1,36 @@
+[[XmlBeans-XmlBeans]]
+XmlBeans
+~~~~~~~~
+
+XmlBeans is a link:data-format.html[Data Format] which uses the
+http://xmlbeans.apache.org/[XmlBeans library] to unmarshal an XML
+payload into Java objects or to marshal Java objects into an XML
+payload.
+
+[source,java]
+-------------------------------
+from("activemq:My.Queue").
+  unmarshal().xmlBeans().
+  to("mqseries:Another.Queue");
+-------------------------------
+
+[[XmlBeans-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+To use XmlBeans in your camel routes you need to add the dependency on
+*camel-xmlbeans* which implements this data format.
+
+If you use maven you could just add the following to your pom.xml,
+substituting the version number for the latest & greatest release (see
+link:download.html[the download page for the latest versions]).
+
+[source,xml]
+----------------------------------------------------------
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-xmlbeans</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-xmlbeans/src/main/docs/xmlbeans.adoc
----------------------------------------------------------------------
diff --git a/components/camel-xmlbeans/src/main/docs/xmlbeans.adoc b/components/camel-xmlbeans/src/main/docs/xmlbeans.adoc
deleted file mode 100644
index 1b960c6..0000000
--- a/components/camel-xmlbeans/src/main/docs/xmlbeans.adoc
+++ /dev/null
@@ -1,36 +0,0 @@
-[[XmlBeans-XmlBeans]]
-XmlBeans
-~~~~~~~~
-
-XmlBeans is a link:data-format.html[Data Format] which uses the
-http://xmlbeans.apache.org/[XmlBeans library] to unmarshal an XML
-payload into Java objects or to marshal Java objects into an XML
-payload.
-
-[source,java]
--------------------------------
-from("activemq:My.Queue").
-  unmarshal().xmlBeans().
-  to("mqseries:Another.Queue");
--------------------------------
-
-[[XmlBeans-Dependencies]]
-Dependencies
-^^^^^^^^^^^^
-
-To use XmlBeans in your camel routes you need to add the dependency on
-*camel-xmlbeans* which implements this data format.
-
-If you use maven you could just add the following to your pom.xml,
-substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
-
-[source,xml]
-----------------------------------------------------------
-<dependency>
-  <groupId>org.apache.camel</groupId>
-  <artifactId>camel-xmlbeans</artifactId>
-  <version>x.x.x</version>
-  <!-- use the same version as your Camel core version -->
-</dependency>
-----------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-xmljson/src/main/docs/xmljson-dataformat.adoc
----------------------------------------------------------------------
diff --git a/components/camel-xmljson/src/main/docs/xmljson-dataformat.adoc b/components/camel-xmljson/src/main/docs/xmljson-dataformat.adoc
new file mode 100644
index 0000000..c5fc195
--- /dev/null
+++ b/components/camel-xmljson/src/main/docs/xmljson-dataformat.adoc
@@ -0,0 +1,378 @@
+[[XmlJson-XMLJSONDataFormat]]
+XML JSON Data Format (`camel-xmljson`)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+*Available as of Camel 2.10*
+
+Camel already supports a number of data formats to perform XML and
+JSON-related conversions, but all of them require a POJO either as an
+input (for marshalling) or produce a POJO as output (for unmarshalling).
+This data format provides the capability to convert from XML to JSON and
+vice-versa directly, without stepping through intermediate POJOs.
+
+This data format leverages the
+http://json-lib.sourceforge.net/[Json-lib] library to achieve direct
+conversion. In this context, XML is considered the high-level format,
+while JSON is the low-level format. Hence, the marshal/unmarshal
+semantics are assigned as follows:
+
+* marshalling => converting from XML to JSON
+* unmarshalling => converting from JSON to XML.
+
+[[XmlJson-Options]]
+Options
+^^^^^^^
+
+This data format supports the following options. You can set them via
+all DSLs. The defaults marked with (*) are determined by json-lib,
+rather than the code of the data format itself. They are reflected here
+for convenience so that you don't have to dot back and forth with the
+json-lib docs.
+
+[width="100%",cols="1s,1m,1m,4",options="header",]
+|=======================================================================
+|Name |Type |Default |Description
+|`encoding` |`String` |UTF-8 (*) |*Used when* *unmarshalling* *(JSON to
+XML conversion).* Sets the encoding for the call to
+http://json-lib.sourceforge.net/apidocs/net/sf/json/xml/XMLSerializer.html#write(net.sf.json.JSON,%20java.lang.String)[`XMLSerializer.write()`]
+method, hence it is only used when producing XML. +
+When producing JSON, the encoding is determined by the input String
+being processed. If the conversion is performed on an InputStream,
+json-lib uses the platform's default encoding (e.g. determined by the
+`file.encoding` system property).
+
+|`elementName` |`String` |'e' (*) |*Used when* *unmarshalling***�(JSON
+to XML conversion).** Specifies the name of the XML elements
+representing each array element. See
+http://json-lib.sourceforge.net/snippets.html#JSONObject_to_XML_change_node_names[json-lib
+doc].
+
+|`arrayName` |`String` |'a' (*) |*Used when* *unmarshalling***�(JSON to
+XML conversion).** Specifies the name of the top-level XML element. +
+For example, when converting�`[1, 2, 3]`, it will be output by default
+as `<a><e>1</e><e>2</e><e>3</e></a>`. By setting this option or
+rootName, you can alter the name of element 'a'.
+
+|`rootName` |`String` |none (*) |*Used when* *unmarshalling***�(JSON to
+XML conversion).** When converting any JSON construct (object, array,
+null) to XML (unmarshalling), it specifies the name of the top-level
+element. +
+If not set, json-lib will use `arrayName` or�`objectName` (default
+value: 'o', at the current time it is not configurable in this data
+format). If set to 'root', the JSON string `{ 'x': 'value1', 'y' :
+'value2' }` would turn into `<root><x>value1</x><y>value2</y></root>`,
+otherwise the 'root' element would be named 'o'.
+
+|`namespaceLenient` |`Boolean` |false (*) |*Used when*
+*unmarshalling***�(JSON to XML conversion).** According to the json-lib
+docs: "Flag to be tolerant to incomplete namespace prefixes." In most
+cases, json-lib automatically changes this flag at runtime to match the
+processing.
+
+|`namespaceMappings` |`List<NamespacesPerElementMapping>` |none |*Used
+when* *unmarshalling***�(JSON to XML conversion).** Binds namespace
+prefixes and URIs to specific JSON
+elements.�`NamespacesPerElementMapping` is a wrapper around an element
+name + a Map of prefixes against URIs.
+
+|`expandableProperties` |`List<String>` |none |*Used when*
+*unmarshalling***�(JSON to XML conversion).** With expandable
+properties, JSON array elements are converted to XML as a sequence of
+repetitive XML elements with the local name equal to the JSON key, for
+example: `{ number: 1,2,3 }`, normally converted to:
+`<number><e>1</e><e>2</e><e>3</e></number>` (where e can be modified by
+setting `elementName`), would instead translate to
+`<number>1</number><number>2</number><number>3</number>`, if `number` is
+set as an expandable property
+
+|`typeHints` |`TypeHintsEnum` |YES a|
+*Used when* *unmarshalling***�(JSON to XML conversion).** Adds type
+hints to the resulting XML to aid conversion back to JSON.�See
+documentation
+http://json-lib.sourceforge.net/apidocs/net/sf/json/xml/XMLSerializer.html[here]
+for an explanation. `TypeHintsEnum` comprises the following values,
+which lead to different combinations of the underlying XMLSerializer's
+`typeHintsEnabled` and `typeHintsCompatibility` flags:
+
+* `TypeHintsEnum.NO` => `typeHintsEnabled`�= `false`
+* `TypeHintsEnum.YES` =>��`typeHintsEnabled` =
+true,��`typeHintsCompatibility` = `true`
+* `TypeHintsEnum.WITH_PREFIX` =>��`typeHintsEnabled` =
+true,��`typeHintsCompatibility` = `false`
+
+|`forceTopLevelObject` |`Boolean` |false (*) |*Used when* *marshalling*
+*(XML to JSON conversion).* Determines whether the resulting JSON will
+start off with a top-most element whose name matches the XML root
+element. If disabled, XML string `<a><x>1</x><y>2</y></a>` turns into�`{
+'x: '1', 'y': '2' }`. Otherwise, it turns into�`{ 'a': {�'x: '1', 'y':
+'2' }}`.
+
+|`skipWhitespace` |`Boolean` |false (*) |*Used when*
+*marshalling***�(XML to JSON conversion).** Determines whether white
+spaces between XML elements will be regarded as text values or
+disregarded.
+
+|`trimSpaces` |`Boolean` |false�(*) |*Used when* *marshalling***�(XML to
+JSON conversion).** Determines whether leading and trailing white spaces
+will be omitted from String values.
+
+|`skipNamespaces` |`Boolean` |false�(*) |*Used when*
+*marshalling***�(XML to JSON conversion).** Signals whether namespaces
+should be ignored. By default they will be added to the JSON output
+using `@xmlns` elements.
+
+|`removeNamespacePrefixes` |`Boolean` |false�(*) |*Used when*
+*marshalling***�(XML to JSON conversion).** Removes the namespace
+prefixes from XML qualified elements, so that the resulting JSON string
+does not contain them.
+|=======================================================================
+
+[[XmlJson-BasicUsagewithJavaDSL]]
+Basic Usage with Java DSL
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+[[XmlJson-Explicitlyinstantiatingthedataformat]]
+Explicitly instantiating the data format
+++++++++++++++++++++++++++++++++++++++++
+
+Just instantiate the `XmlJsonDataFormat` from package
+`org.apache.camel.dataformat.xmljson`. Make sure you have installed the
+`camel-xmljson` feature (if running on OSGi) or that you've included
+`camel-xmljson-{version}.jar` and its transitive dependencies in your
+classpath. Example initialization with a default configuration:
+
+[source,java]
+----
+XmlJsonDataFormat xmlJsonFormat = new XmlJsonDataFormat();
+----
+
+To tune the behaviour of the data format as per the options above, use
+the appropriate setters:
+
+[source,java]
+----
+XmlJsonDataFormat xmlJsonFormat = new XmlJsonDataFormat();
+xmlJsonFormat.setEncoding("UTF-8");
+xmlJsonFormat.setForceTopLevelObject(true);
+xmlJsonFormat.setTrimSpaces(true);
+xmlJsonFormat.setRootName("newRoot");
+xmlJsonFormat.setSkipNamespaces(true);
+xmlJsonFormat.setRemoveNamespacePrefixes(true);
+xmlJsonFormat.setExpandableProperties(Arrays.asList("d", "e"));
+----
+
+Once you've instantiated the data format, the next step is to actually
+use the it from within the `marshal()` and `unmarshal()` DSL elements:
+
+[source,java]
+----
+// from XML to JSON
+from("direct:marshal").marshal(xmlJsonFormat).to("mock:json");
+// from JSON to XML
+from("direct:unmarshal").unmarshal(xmlJsonFormat).to("mock:xml");
+----
+
+[[XmlJson-Definingthedataformatin-line]]
+Defining the data format in-line
+++++++++++++++++++++++++++++++++
+
+Alternatively, you can define the data format inline by using the
+`xmljson()` DSL element:
+
+[source,java]
+----
+// from XML to JSON - inline dataformat
+from("direct:marshalInline").marshal().xmljson().to("mock:jsonInline");
+// from JSON to XML - inline dataformat
+from("direct:unmarshalInline").unmarshal().xmljson().to("mock:xmlInline");
+----
+
+If you wish, you can even pass in a `Map<String, String>` to the inline
+methods to provide custom options:
+
+[source,java]
+----
+Map<String, String> xmlJsonOptions = new HashMap<String, String>();
+xmlJsonOptions.put(org.apache.camel.model.dataformat.XmlJsonDataFormat.ENCODING, "UTF-8");
+xmlJsonOptions.put(org.apache.camel.model.dataformat.XmlJsonDataFormat.ROOT_NAME, "newRoot");
+xmlJsonOptions.put(org.apache.camel.model.dataformat.XmlJsonDataFormat.SKIP_NAMESPACES, "true");
+xmlJsonOptions.put(org.apache.camel.model.dataformat.XmlJsonDataFormat.REMOVE_NAMESPACE_PREFIXES, "true");
+xmlJsonOptions.put(org.apache.camel.model.dataformat.XmlJsonDataFormat.EXPANDABLE_PROPERTIES, "d e");
+
+// from XML to JSON - inline dataformat w/ options
+from("direct:marshalInlineOptions").marshal().xmljson(xmlJsonOptions).to("mock:jsonInlineOptions");
+// form JSON to XML - inline dataformat w/ options
+from("direct:unmarshalInlineOptions").unmarshal().xmljson(xmlJsonOptions).to("mock:xmlInlineOptions");
+----
+
+[[XmlJson-BasicusagewithSpringorBlueprintDSL]]
+Basic usage with Spring or Blueprint DSL
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Within the `<dataFormats>` block, simply configure an `xmljson` element
+with unique IDs:
+
+[source,xml]
+----
+<dataFormats>
+    <xmljson id="xmljson"/>
+    <xmljson id="xmljsonWithOptions" forceTopLevelObject="true" trimSpaces="true" rootName="newRoot" skipNamespaces="true"
+             removeNamespacePrefixes="true" expandableProperties="d e"/>
+</dataFormats>
+----
+
+Then you simply refer to the data format object within your
+`<marshal />` and `<unmarshal />` DSLs:
+
+[source,xml]
+----
+<route>
+    <from uri="direct:marshal"/>
+    <marshal ref="xmljson"/>
+    <to uri="mock:json" />
+</route>
+
+<route>
+    <from uri="direct:unmarshalWithOptions"/>
+    <unmarshal ref="xmljsonWithOptions"/>
+    <to uri="mock:xmlWithOptions"/>
+</route>
+----
+
+Enabling XML DSL autocompletion for this component is easy: just refer
+to the appropriate http://camel.apache.org/xml-reference.html[Schema
+locations], depending on whether you're using
+http://camel.apache.org/schema/spring/[Spring] or
+http://camel.apache.org/schema/blueprint/[Blueprint] DSL. Remember that
+this data format is available from Camel 2.10 onwards, so only schemas
+from that version onwards will include these new XML elements and
+attributes.
+
+The syntax with link:using-osgi-blueprint-with-camel.html[Blueprint] is
+identical to that of the Spring DSL. Just ensure the correct namespaces
+and schemaLocations are in use.
+
+[[XmlJson-Namespacemappings]]
+Namespace mappings
+^^^^^^^^^^^^^^^^^^
+
+XML has namespaces to fully qualify elements and attributes; JSON
+doesn't. You need to take this into account when performing XML-JSON
+conversions.
+
+To bridge the gap, http://json-lib.sourceforge.net/[Json-lib] has an
+option to bind namespace declarations in the form of prefixes and
+namespace URIs to XML output elements while unmarshalling (i.e.
+converting from JSON to XML). For example, provided the following JSON
+string:
+
+[source,json]
+----
+{ "pref1:a": "value1", "pref2:b": "value2" }
+----
+
+you can ask Json-lib to output namespace declarations on elements
+`pref1:a` and `pref2:b` to bind the prefixes `pref1` and `pref2` to
+specific namespace URIs.
+
+To use this feature, simply create
+`XmlJsonDataFormat.NamespacesPerElementMapping` objects and add them to
+the `namespaceMappings` option (which is a `List`).
+
+The `XmlJsonDataFormat.NamespacesPerElementMapping` holds an element
+name and a Map of [prefix => namespace URI]. To facilitate mapping
+multiple prefixes and namespace URIs, the
+`NamespacesPerElementMapping(String element, String pipeSeparatedMappings)`
+constructor takes a String-based pipe-separated sequence of [prefix,
+namespaceURI] pairs in the following way:
+`|ns2|http://camel.apache.org/personalData|ns3|http://camel.apache.org/personalData2|`.
+
+In order to define a default namespace, just leave the corresponding key
+field empty:
+`|ns1|http://camel.apache.org/test1||http://camel.apache.org/default|`.
+
+Binding namespace declarations to an element name = empty string will
+attach those namespaces to the root element.
+
+The full code would look like that:
+
+[source,java]
+----
+XmlJsonDataFormat namespacesFormat = new XmlJsonDataFormat();
+List<XmlJsonDataFormat.NamespacesPerElementMapping> namespaces = new ArrayList<XmlJsonDataFormat.NamespacesPerElementMapping>();
+namespaces.add(new XmlJsonDataFormat.
+                       NamespacesPerElementMapping("", "|ns1|http://camel.apache.org/test1||http://camel.apache.org/default|"));
+namespaces.add(new XmlJsonDataFormat.
+                       NamespacesPerElementMapping("surname", "|ns2|http://camel.apache.org/personalData|" +
+                           "ns3|http://camel.apache.org/personalData2|"));
+namespacesFormat.setNamespaceMappings(namespaces);
+namespacesFormat.setRootElement("person");
+----
+
+And you can achieve the same in Spring DSL.
+
+[[XmlJson-Example]]
+Example
++++++++
+
+Using the namespace bindings in the Java snippet above on the following
+JSON string:
+
+[source,json]
+----
+{ "name": "Raul", "surname": "Kripalani", "f": true, "g": null}
+----
+
+�
+
+Would yield the following XML:
+
+[source,xml]
+----
+<person xmlns="http://camel.apache.org/default" xmlns:ns1="http://camel.apache.org/test1">
+    <f>true</f>
+    <g null="true"/>
+    <name>Raul</name>
+    <surname xmlns:ns2="http://camel.apache.org/personalData" xmlns:ns3="http://camel.apache.org/personalData2">Kripalani</surname>
+</person>
+----
+
+Remember that the JSON spec defines a JSON object as follows:
+
+_________________________________________________________
+An object is an unordered set of name/value pairs. [...].
+_________________________________________________________
+
+That's why the elements are in a different order in the output XML.
+
+[[XmlJson-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+To use the link:xmljson.html[XmlJson] dataformat in your camel routes
+you need to add the following dependency to your pom:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-xmljson</artifactId>
+  <version>x.x.x</version>
+  <!-- Use the same version as camel-core, but remember that this component is only available from 2.10 onwards -->
+</dependency>
+
+<!-- And also XOM must be included. XOM cannot be included by default due to an incompatible
+license with ASF; so add this manually -->
+<dependency>
+  <groupId>xom</groupId>
+  <artifactId>xom</artifactId>
+  <version>1.2.5</version>
+</dependency>
+----
+
+[[XmlJson-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:data-format.html[Data Format]
+* http://json-lib.sourceforge.net/[json-lib]

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-xmljson/src/main/docs/xmljson.adoc
----------------------------------------------------------------------
diff --git a/components/camel-xmljson/src/main/docs/xmljson.adoc b/components/camel-xmljson/src/main/docs/xmljson.adoc
deleted file mode 100644
index c5fc195..0000000
--- a/components/camel-xmljson/src/main/docs/xmljson.adoc
+++ /dev/null
@@ -1,378 +0,0 @@
-[[XmlJson-XMLJSONDataFormat]]
-XML JSON Data Format (`camel-xmljson`)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-*Available as of Camel 2.10*
-
-Camel already supports a number of data formats to perform XML and
-JSON-related conversions, but all of them require a POJO either as an
-input (for marshalling) or produce a POJO as output (for unmarshalling).
-This data format provides the capability to convert from XML to JSON and
-vice-versa directly, without stepping through intermediate POJOs.
-
-This data format leverages the
-http://json-lib.sourceforge.net/[Json-lib] library to achieve direct
-conversion. In this context, XML is considered the high-level format,
-while JSON is the low-level format. Hence, the marshal/unmarshal
-semantics are assigned as follows:
-
-* marshalling => converting from XML to JSON
-* unmarshalling => converting from JSON to XML.
-
-[[XmlJson-Options]]
-Options
-^^^^^^^
-
-This data format supports the following options. You can set them via
-all DSLs. The defaults marked with (*) are determined by json-lib,
-rather than the code of the data format itself. They are reflected here
-for convenience so that you don't have to dot back and forth with the
-json-lib docs.
-
-[width="100%",cols="1s,1m,1m,4",options="header",]
-|=======================================================================
-|Name |Type |Default |Description
-|`encoding` |`String` |UTF-8 (*) |*Used when* *unmarshalling* *(JSON to
-XML conversion).* Sets the encoding for the call to
-http://json-lib.sourceforge.net/apidocs/net/sf/json/xml/XMLSerializer.html#write(net.sf.json.JSON,%20java.lang.String)[`XMLSerializer.write()`]
-method, hence it is only used when producing XML. +
-When producing JSON, the encoding is determined by the input String
-being processed. If the conversion is performed on an InputStream,
-json-lib uses the platform's default encoding (e.g. determined by the
-`file.encoding` system property).
-
-|`elementName` |`String` |'e' (*) |*Used when* *unmarshalling***�(JSON
-to XML conversion).** Specifies the name of the XML elements
-representing each array element. See
-http://json-lib.sourceforge.net/snippets.html#JSONObject_to_XML_change_node_names[json-lib
-doc].
-
-|`arrayName` |`String` |'a' (*) |*Used when* *unmarshalling***�(JSON to
-XML conversion).** Specifies the name of the top-level XML element. +
-For example, when converting�`[1, 2, 3]`, it will be output by default
-as `<a><e>1</e><e>2</e><e>3</e></a>`. By setting this option or
-rootName, you can alter the name of element 'a'.
-
-|`rootName` |`String` |none (*) |*Used when* *unmarshalling***�(JSON to
-XML conversion).** When converting any JSON construct (object, array,
-null) to XML (unmarshalling), it specifies the name of the top-level
-element. +
-If not set, json-lib will use `arrayName` or�`objectName` (default
-value: 'o', at the current time it is not configurable in this data
-format). If set to 'root', the JSON string `{ 'x': 'value1', 'y' :
-'value2' }` would turn into `<root><x>value1</x><y>value2</y></root>`,
-otherwise the 'root' element would be named 'o'.
-
-|`namespaceLenient` |`Boolean` |false (*) |*Used when*
-*unmarshalling***�(JSON to XML conversion).** According to the json-lib
-docs: "Flag to be tolerant to incomplete namespace prefixes." In most
-cases, json-lib automatically changes this flag at runtime to match the
-processing.
-
-|`namespaceMappings` |`List<NamespacesPerElementMapping>` |none |*Used
-when* *unmarshalling***�(JSON to XML conversion).** Binds namespace
-prefixes and URIs to specific JSON
-elements.�`NamespacesPerElementMapping` is a wrapper around an element
-name + a Map of prefixes against URIs.
-
-|`expandableProperties` |`List<String>` |none |*Used when*
-*unmarshalling***�(JSON to XML conversion).** With expandable
-properties, JSON array elements are converted to XML as a sequence of
-repetitive XML elements with the local name equal to the JSON key, for
-example: `{ number: 1,2,3 }`, normally converted to:
-`<number><e>1</e><e>2</e><e>3</e></number>` (where e can be modified by
-setting `elementName`), would instead translate to
-`<number>1</number><number>2</number><number>3</number>`, if `number` is
-set as an expandable property
-
-|`typeHints` |`TypeHintsEnum` |YES a|
-*Used when* *unmarshalling***�(JSON to XML conversion).** Adds type
-hints to the resulting XML to aid conversion back to JSON.�See
-documentation
-http://json-lib.sourceforge.net/apidocs/net/sf/json/xml/XMLSerializer.html[here]
-for an explanation. `TypeHintsEnum` comprises the following values,
-which lead to different combinations of the underlying XMLSerializer's
-`typeHintsEnabled` and `typeHintsCompatibility` flags:
-
-* `TypeHintsEnum.NO` => `typeHintsEnabled`�= `false`
-* `TypeHintsEnum.YES` =>��`typeHintsEnabled` =
-true,��`typeHintsCompatibility` = `true`
-* `TypeHintsEnum.WITH_PREFIX` =>��`typeHintsEnabled` =
-true,��`typeHintsCompatibility` = `false`
-
-|`forceTopLevelObject` |`Boolean` |false (*) |*Used when* *marshalling*
-*(XML to JSON conversion).* Determines whether the resulting JSON will
-start off with a top-most element whose name matches the XML root
-element. If disabled, XML string `<a><x>1</x><y>2</y></a>` turns into�`{
-'x: '1', 'y': '2' }`. Otherwise, it turns into�`{ 'a': {�'x: '1', 'y':
-'2' }}`.
-
-|`skipWhitespace` |`Boolean` |false (*) |*Used when*
-*marshalling***�(XML to JSON conversion).** Determines whether white
-spaces between XML elements will be regarded as text values or
-disregarded.
-
-|`trimSpaces` |`Boolean` |false�(*) |*Used when* *marshalling***�(XML to
-JSON conversion).** Determines whether leading and trailing white spaces
-will be omitted from String values.
-
-|`skipNamespaces` |`Boolean` |false�(*) |*Used when*
-*marshalling***�(XML to JSON conversion).** Signals whether namespaces
-should be ignored. By default they will be added to the JSON output
-using `@xmlns` elements.
-
-|`removeNamespacePrefixes` |`Boolean` |false�(*) |*Used when*
-*marshalling***�(XML to JSON conversion).** Removes the namespace
-prefixes from XML qualified elements, so that the resulting JSON string
-does not contain them.
-|=======================================================================
-
-[[XmlJson-BasicUsagewithJavaDSL]]
-Basic Usage with Java DSL
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[[XmlJson-Explicitlyinstantiatingthedataformat]]
-Explicitly instantiating the data format
-++++++++++++++++++++++++++++++++++++++++
-
-Just instantiate the `XmlJsonDataFormat` from package
-`org.apache.camel.dataformat.xmljson`. Make sure you have installed the
-`camel-xmljson` feature (if running on OSGi) or that you've included
-`camel-xmljson-{version}.jar` and its transitive dependencies in your
-classpath. Example initialization with a default configuration:
-
-[source,java]
-----
-XmlJsonDataFormat xmlJsonFormat = new XmlJsonDataFormat();
-----
-
-To tune the behaviour of the data format as per the options above, use
-the appropriate setters:
-
-[source,java]
-----
-XmlJsonDataFormat xmlJsonFormat = new XmlJsonDataFormat();
-xmlJsonFormat.setEncoding("UTF-8");
-xmlJsonFormat.setForceTopLevelObject(true);
-xmlJsonFormat.setTrimSpaces(true);
-xmlJsonFormat.setRootName("newRoot");
-xmlJsonFormat.setSkipNamespaces(true);
-xmlJsonFormat.setRemoveNamespacePrefixes(true);
-xmlJsonFormat.setExpandableProperties(Arrays.asList("d", "e"));
-----
-
-Once you've instantiated the data format, the next step is to actually
-use the it from within the `marshal()` and `unmarshal()` DSL elements:
-
-[source,java]
-----
-// from XML to JSON
-from("direct:marshal").marshal(xmlJsonFormat).to("mock:json");
-// from JSON to XML
-from("direct:unmarshal").unmarshal(xmlJsonFormat).to("mock:xml");
-----
-
-[[XmlJson-Definingthedataformatin-line]]
-Defining the data format in-line
-++++++++++++++++++++++++++++++++
-
-Alternatively, you can define the data format inline by using the
-`xmljson()` DSL element:
-
-[source,java]
-----
-// from XML to JSON - inline dataformat
-from("direct:marshalInline").marshal().xmljson().to("mock:jsonInline");
-// from JSON to XML - inline dataformat
-from("direct:unmarshalInline").unmarshal().xmljson().to("mock:xmlInline");
-----
-
-If you wish, you can even pass in a `Map<String, String>` to the inline
-methods to provide custom options:
-
-[source,java]
-----
-Map<String, String> xmlJsonOptions = new HashMap<String, String>();
-xmlJsonOptions.put(org.apache.camel.model.dataformat.XmlJsonDataFormat.ENCODING, "UTF-8");
-xmlJsonOptions.put(org.apache.camel.model.dataformat.XmlJsonDataFormat.ROOT_NAME, "newRoot");
-xmlJsonOptions.put(org.apache.camel.model.dataformat.XmlJsonDataFormat.SKIP_NAMESPACES, "true");
-xmlJsonOptions.put(org.apache.camel.model.dataformat.XmlJsonDataFormat.REMOVE_NAMESPACE_PREFIXES, "true");
-xmlJsonOptions.put(org.apache.camel.model.dataformat.XmlJsonDataFormat.EXPANDABLE_PROPERTIES, "d e");
-
-// from XML to JSON - inline dataformat w/ options
-from("direct:marshalInlineOptions").marshal().xmljson(xmlJsonOptions).to("mock:jsonInlineOptions");
-// form JSON to XML - inline dataformat w/ options
-from("direct:unmarshalInlineOptions").unmarshal().xmljson(xmlJsonOptions).to("mock:xmlInlineOptions");
-----
-
-[[XmlJson-BasicusagewithSpringorBlueprintDSL]]
-Basic usage with Spring or Blueprint DSL
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Within the `<dataFormats>` block, simply configure an `xmljson` element
-with unique IDs:
-
-[source,xml]
-----
-<dataFormats>
-    <xmljson id="xmljson"/>
-    <xmljson id="xmljsonWithOptions" forceTopLevelObject="true" trimSpaces="true" rootName="newRoot" skipNamespaces="true"
-             removeNamespacePrefixes="true" expandableProperties="d e"/>
-</dataFormats>
-----
-
-Then you simply refer to the data format object within your
-`<marshal />` and `<unmarshal />` DSLs:
-
-[source,xml]
-----
-<route>
-    <from uri="direct:marshal"/>
-    <marshal ref="xmljson"/>
-    <to uri="mock:json" />
-</route>
-
-<route>
-    <from uri="direct:unmarshalWithOptions"/>
-    <unmarshal ref="xmljsonWithOptions"/>
-    <to uri="mock:xmlWithOptions"/>
-</route>
-----
-
-Enabling XML DSL autocompletion for this component is easy: just refer
-to the appropriate http://camel.apache.org/xml-reference.html[Schema
-locations], depending on whether you're using
-http://camel.apache.org/schema/spring/[Spring] or
-http://camel.apache.org/schema/blueprint/[Blueprint] DSL. Remember that
-this data format is available from Camel 2.10 onwards, so only schemas
-from that version onwards will include these new XML elements and
-attributes.
-
-The syntax with link:using-osgi-blueprint-with-camel.html[Blueprint] is
-identical to that of the Spring DSL. Just ensure the correct namespaces
-and schemaLocations are in use.
-
-[[XmlJson-Namespacemappings]]
-Namespace mappings
-^^^^^^^^^^^^^^^^^^
-
-XML has namespaces to fully qualify elements and attributes; JSON
-doesn't. You need to take this into account when performing XML-JSON
-conversions.
-
-To bridge the gap, http://json-lib.sourceforge.net/[Json-lib] has an
-option to bind namespace declarations in the form of prefixes and
-namespace URIs to XML output elements while unmarshalling (i.e.
-converting from JSON to XML). For example, provided the following JSON
-string:
-
-[source,json]
-----
-{ "pref1:a": "value1", "pref2:b": "value2" }
-----
-
-you can ask Json-lib to output namespace declarations on elements
-`pref1:a` and `pref2:b` to bind the prefixes `pref1` and `pref2` to
-specific namespace URIs.
-
-To use this feature, simply create
-`XmlJsonDataFormat.NamespacesPerElementMapping` objects and add them to
-the `namespaceMappings` option (which is a `List`).
-
-The `XmlJsonDataFormat.NamespacesPerElementMapping` holds an element
-name and a Map of [prefix => namespace URI]. To facilitate mapping
-multiple prefixes and namespace URIs, the
-`NamespacesPerElementMapping(String element, String pipeSeparatedMappings)`
-constructor takes a String-based pipe-separated sequence of [prefix,
-namespaceURI] pairs in the following way:
-`|ns2|http://camel.apache.org/personalData|ns3|http://camel.apache.org/personalData2|`.
-
-In order to define a default namespace, just leave the corresponding key
-field empty:
-`|ns1|http://camel.apache.org/test1||http://camel.apache.org/default|`.
-
-Binding namespace declarations to an element name = empty string will
-attach those namespaces to the root element.
-
-The full code would look like that:
-
-[source,java]
-----
-XmlJsonDataFormat namespacesFormat = new XmlJsonDataFormat();
-List<XmlJsonDataFormat.NamespacesPerElementMapping> namespaces = new ArrayList<XmlJsonDataFormat.NamespacesPerElementMapping>();
-namespaces.add(new XmlJsonDataFormat.
-                       NamespacesPerElementMapping("", "|ns1|http://camel.apache.org/test1||http://camel.apache.org/default|"));
-namespaces.add(new XmlJsonDataFormat.
-                       NamespacesPerElementMapping("surname", "|ns2|http://camel.apache.org/personalData|" +
-                           "ns3|http://camel.apache.org/personalData2|"));
-namespacesFormat.setNamespaceMappings(namespaces);
-namespacesFormat.setRootElement("person");
-----
-
-And you can achieve the same in Spring DSL.
-
-[[XmlJson-Example]]
-Example
-+++++++
-
-Using the namespace bindings in the Java snippet above on the following
-JSON string:
-
-[source,json]
-----
-{ "name": "Raul", "surname": "Kripalani", "f": true, "g": null}
-----
-
-�
-
-Would yield the following XML:
-
-[source,xml]
-----
-<person xmlns="http://camel.apache.org/default" xmlns:ns1="http://camel.apache.org/test1">
-    <f>true</f>
-    <g null="true"/>
-    <name>Raul</name>
-    <surname xmlns:ns2="http://camel.apache.org/personalData" xmlns:ns3="http://camel.apache.org/personalData2">Kripalani</surname>
-</person>
-----
-
-Remember that the JSON spec defines a JSON object as follows:
-
-_________________________________________________________
-An object is an unordered set of name/value pairs. [...].
-_________________________________________________________
-
-That's why the elements are in a different order in the output XML.
-
-[[XmlJson-Dependencies]]
-Dependencies
-^^^^^^^^^^^^
-
-To use the link:xmljson.html[XmlJson] dataformat in your camel routes
-you need to add the following dependency to your pom:
-
-[source,xml]
-----
-<dependency>
-  <groupId>org.apache.camel</groupId>
-  <artifactId>camel-xmljson</artifactId>
-  <version>x.x.x</version>
-  <!-- Use the same version as camel-core, but remember that this component is only available from 2.10 onwards -->
-</dependency>
-
-<!-- And also XOM must be included. XOM cannot be included by default due to an incompatible
-license with ASF; so add this manually -->
-<dependency>
-  <groupId>xom</groupId>
-  <artifactId>xom</artifactId>
-  <version>1.2.5</version>
-</dependency>
-----
-
-[[XmlJson-SeeAlso]]
-See Also
-^^^^^^^^
-
-* link:data-format.html[Data Format]
-* http://json-lib.sourceforge.net/[json-lib]

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-xmlsecurity/src/main/docs/xmlsecurity-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-xmlsecurity/src/main/docs/xmlsecurity-component.adoc b/components/camel-xmlsecurity/src/main/docs/xmlsecurity-component.adoc
index 19f284a..e330b78 100644
--- a/components/camel-xmlsecurity/src/main/docs/xmlsecurity-component.adoc
+++ b/components/camel-xmlsecurity/src/main/docs/xmlsecurity-component.adoc
@@ -233,13 +233,14 @@ Component Options
 
 
 
+
 // component options: START
 The XML Security component supports 43 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | signerConfiguration | XmlSignerConfiguration | To use a shared XmlSignerConfiguration configuration to use as base for configuring endpoints. Properties of the shared configuration can also be set individually.
@@ -293,6 +294,7 @@ The XML Security component supports 43 options which are listed below.
 
 
 
+
 [[XMLSecuritycomponent-EndpointOptions]]
 Endpoint Options
 ^^^^^^^^^^^^^^^^

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-xstream/src/main/docs/xstream-dataformat.adoc
----------------------------------------------------------------------
diff --git a/components/camel-xstream/src/main/docs/xstream-dataformat.adoc b/components/camel-xstream/src/main/docs/xstream-dataformat.adoc
new file mode 100644
index 0000000..14ce541
--- /dev/null
+++ b/components/camel-xstream/src/main/docs/xstream-dataformat.adoc
@@ -0,0 +1,124 @@
+[[XStream-XStream]]
+XStream
+~~~~~~~
+
+XStream is a link:data-format.html[Data Format] which uses the
+http://xstream.codehaus.org/[XStream library] to marshal and unmarshal
+Java objects to and from XML.
+
+To use XStream in your camel routes you need to add the a dependency
+on�*camel-xstream*�which implements this data format.
+
+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-xstream</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----------------------------------------------------------
+
+[[XStream-UsingtheJavaDSL]]
+Using the Java DSL
+^^^^^^^^^^^^^^^^^^
+
+[source,java]
+-----------------------------------------------------------
+// lets turn Object messages into XML then send to MQSeries
+from("activemq:My.Queue").
+  marshal().xstream().
+  to("mqseries:Another.Queue");
+-----------------------------------------------------------
+
+If you would like to configure the `XStream` instance used by the Camel
+for the message transformation, you can simply pass a reference to that
+instance on the DSL level.
+
+[source,java]
+---------------------------------------------------------
+XStream xStream = new XStream();
+xStream.aliasField("money", PurchaseOrder.class, "cash");
+// new Added setModel option since Camel 2.14
+xStream.setModel("NO_REFERENCES");
+...
+
+from("direct:marshal").
+  marshal(new XStreamDataFormat(xStream)).
+  to("mock:marshaled");
+---------------------------------------------------------
+
+[[XStream-XMLInputFactoryandXMLOutputFactory]]
+XMLInputFactory and XMLOutputFactory
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+http://xstream.codehaus.org/[The XStream library] uses the
+`javax.xml.stream.XMLInputFactory` and
+`javax.xml.stream.XMLOutputFactory`, you can control which
+implementation of this factory should be used.
+
+The Factory is discovered using this algorithm: 
+ 1. Use the `javax.xml.stream.XMLInputFactory` ,
+`javax.xml.stream.XMLOutputFactory` system property. 
+ 2. Use the `lib/xml.stream.properties` file in the `JRE_HOME`
+directory. 
+ 3. Use the Services API, if available, to determine the classname by
+looking in the `META-INF/services/javax.xml.stream.XMLInputFactory`,
+`META-INF/services/javax.xml.stream.XMLOutputFactory` files in jars
+available to the JRE. 
+ 4. Use the platform default XMLInputFactory,XMLOutputFactory instance.
+
+[[XStream-HowtosettheXMLencodinginXstreamDataFormat]]
+How to set the XML encoding in Xstream DataFormat?
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+From Camel 2.2.0, you can set the encoding of XML in Xstream DataFormat
+by setting the Exchange's property with the key `Exchange.CHARSET_NAME`,
+or setting the encoding property on Xstream from DSL or Spring config.
+
+[source,java]
+-------------------------------
+from("activemq:My.Queue").
+  marshal().xstream("UTF-8").
+  to("mqseries:Another.Queue");
+-------------------------------
+
+[[XStream-SettingthetypepermissionsofXstreamDataFormat]]
+Setting the type permissions of Xstream DataFormat
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+In Camel, one can always use its own processing step in the route to
+filter and block certain XML documents to be routed to the XStream's
+unmarhall step. From Camel 2.16.1, 2.15.5, you can
+set�http://x-stream.github.io/security.html[XStream's type
+permissions]�to automatically allow or deny the instantiation of certain
+types.
+
+The default type permissions setting used by Camel denies all types
+except for those from java.lang and java.util packages. This setting can
+be changed by setting System property
+org.apache.camel.xstream.permissions. Its value is a string of
+comma-separated permission terms, each representing a type being allowed
+or denied, depending on whether the term is prefixed with '+' (note '+'
+may be omitted) or with '-', respectively.
+
+Each term may contain a wildcard character '*'. For example, value
+"-*,java.lang.*,java.util.*" indicates denying all types except for
+java.lang.* and java.util.* classes. Setting this value to an empty
+string "" reverts to the default XStream's type permissions handling
+which denies certain blacklisted classes and allow others.
+
+The type permissions setting can be extended at an individual XStream
+DataFormat instance by setting its type permissions property.
+
+[source,java]
+-------------------------------------------------------------------
+    <dataFormats>
+        <xstream id="xstream-default" 
+                 permissions="org.apache.camel.samples.xstream.*"/>
+        ...
+
+-------------------------------------------------------------------


[4/6] camel git commit: CAMEL-9541: Generate readme for dataformat also.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-http/src/main/docs/http-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-http/src/main/docs/http-component.adoc b/components/camel-http/src/main/docs/http-component.adoc
index 4022639..ee3d24b 100644
--- a/components/camel-http/src/main/docs/http-component.adoc
+++ b/components/camel-http/src/main/docs/http-component.adoc
@@ -118,13 +118,14 @@ Http Options
 
 
 
+
 // component options: START
 The HTTP component supports 6 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | httpClientConfigurer | HttpClientConfigurer | To use the custom HttpClientConfigurer to perform configuration of the HttpClient that will be used.
@@ -144,6 +145,7 @@ The HTTP component supports 6 options which are listed below.
 
 
 
+
 // endpoint options: START
 The HTTP component supports 26 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-http4/src/main/docs/http4-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-http4/src/main/docs/http4-component.adoc b/components/camel-http4/src/main/docs/http4-component.adoc
index 7dd204e..fd17c3b 100644
--- a/components/camel-http4/src/main/docs/http4-component.adoc
+++ b/components/camel-http4/src/main/docs/http4-component.adoc
@@ -55,13 +55,14 @@ Http4 Component Options
 
 
 
+
 // component options: START
 The HTTP4 component supports 13 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | httpClientConfigurer | HttpClientConfigurer | To use the custom HttpClientConfigurer to perform configuration of the HttpClient that will be used.
@@ -89,6 +90,7 @@ The HTTP4 component supports 13 options which are listed below.
 
 
 
+
 // endpoint options: START
 The HTTP4 component supports 32 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-ibatis/src/main/docs/ibatis-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-ibatis/src/main/docs/ibatis-component.adoc b/components/camel-ibatis/src/main/docs/ibatis-component.adoc
index ef532b0..d3dcaf5 100644
--- a/components/camel-ibatis/src/main/docs/ibatis-component.adoc
+++ b/components/camel-ibatis/src/main/docs/ibatis-component.adoc
@@ -58,13 +58,14 @@ Options
 
 
 
+
 // component options: START
 The iBatis component supports 3 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | sqlMapClient | SqlMapClient | To use the given com.ibatis.sqlmap.client.SqlMapClient
@@ -80,6 +81,7 @@ The iBatis component supports 3 options which are listed below.
 
 
 
+
 // endpoint options: START
 The iBatis component supports 28 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-ical/src/main/docs/ical-dataformat.adoc
----------------------------------------------------------------------
diff --git a/components/camel-ical/src/main/docs/ical-dataformat.adoc b/components/camel-ical/src/main/docs/ical-dataformat.adoc
new file mode 100644
index 0000000..121a18c
--- /dev/null
+++ b/components/camel-ical/src/main/docs/ical-dataformat.adoc
@@ -0,0 +1,68 @@
+[[ICal-ICalDataFormat]]
+ICal DataFormat
+~~~~~~~~~~~~~~~
+
+*Available as of Camel 2.11.1*
+
+The *ICal* dataformat is used for working with
+http://en.wikipedia.org/wiki/ICalendar[iCalendar] messages.
+
+A typical iCalendar message looks like:
+
+[source,java]
+----------------------------------------------------------------------
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//Events Calendar//iCal4j 1.0//EN
+CALSCALE:GREGORIAN
+BEGIN:VEVENT
+DTSTAMP:20130324T180000Z
+DTSTART:20130401T170000
+DTEND:20130401T210000
+SUMMARY:Progress Meeting
+TZID:America/New_York
+UID:00000000
+ATTENDEE;ROLE=REQ-PARTICIPANT;CN=Developer 1:mailto:dev1@mycompany.com
+ATTENDEE;ROLE=OPT-PARTICIPANT;CN=Developer 2:mailto:dev2@mycompany.com
+END:VEVENT
+END:VCALENDAR
+----------------------------------------------------------------------
+
+[[ICal-BasicUsage]]
+Basic Usage
+^^^^^^^^^^^
+
+To unmarshal and marshal the message shown above, your route will look
+like the following:
+
+[source,java]
+-----------------------------
+from("direct:ical-unmarshal")
+  .unmarshal("ical")
+  .to("mock:unmarshaled")
+  .marshal("ical")
+  .to("mock:marshaled");
+-----------------------------
+
+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-ical</artifactId>
+    <version>x.x.x</version>
+    <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------
+
+[[ICal-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/96f3710b/components/camel-ical/src/main/docs/ical.adoc
----------------------------------------------------------------------
diff --git a/components/camel-ical/src/main/docs/ical.adoc b/components/camel-ical/src/main/docs/ical.adoc
deleted file mode 100644
index 121a18c..0000000
--- a/components/camel-ical/src/main/docs/ical.adoc
+++ /dev/null
@@ -1,68 +0,0 @@
-[[ICal-ICalDataFormat]]
-ICal DataFormat
-~~~~~~~~~~~~~~~
-
-*Available as of Camel 2.11.1*
-
-The *ICal* dataformat is used for working with
-http://en.wikipedia.org/wiki/ICalendar[iCalendar] messages.
-
-A typical iCalendar message looks like:
-
-[source,java]
-----------------------------------------------------------------------
-BEGIN:VCALENDAR
-VERSION:2.0
-PRODID:-//Events Calendar//iCal4j 1.0//EN
-CALSCALE:GREGORIAN
-BEGIN:VEVENT
-DTSTAMP:20130324T180000Z
-DTSTART:20130401T170000
-DTEND:20130401T210000
-SUMMARY:Progress Meeting
-TZID:America/New_York
-UID:00000000
-ATTENDEE;ROLE=REQ-PARTICIPANT;CN=Developer 1:mailto:dev1@mycompany.com
-ATTENDEE;ROLE=OPT-PARTICIPANT;CN=Developer 2:mailto:dev2@mycompany.com
-END:VEVENT
-END:VCALENDAR
-----------------------------------------------------------------------
-
-[[ICal-BasicUsage]]
-Basic Usage
-^^^^^^^^^^^
-
-To unmarshal and marshal the message shown above, your route will look
-like the following:
-
-[source,java]
------------------------------
-from("direct:ical-unmarshal")
-  .unmarshal("ical")
-  .to("mock:unmarshaled")
-  .marshal("ical")
-  .to("mock:marshaled");
------------------------------
-
-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-ical</artifactId>
-    <version>x.x.x</version>
-    <!-- use the same version as your Camel core version -->
-</dependency>
-------------------------------------------------------------
-
-[[ICal-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/96f3710b/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc
----------------------------------------------------------------------
diff --git a/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc b/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc
new file mode 100644
index 0000000..0e7b449
--- /dev/null
+++ b/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc
@@ -0,0 +1,307 @@
+[[JAXB-JAXB]]
+JAXB
+~~~~
+
+JAXB is a link:data-format.html[Data Format] which uses the JAXB2 XML
+marshalling standard which is included in Java 6 to unmarshal an XML
+payload into Java objects or to marshal Java objects into an XML
+payload.
+
+[[JAXB-UsingtheJavaDSL]]
+Using the Java DSL
+^^^^^^^^^^^^^^^^^^
+
+For example the following uses a named DataFormat of _jaxb_ which is
+configured with a number of Java package names to initialize the
+http://java.sun.com/javase/6/docs/api/javax/xml/bind/JAXBContext.html[JAXBContext].
+
+[source,java]
+-------------------------------------------------------
+DataFormat jaxb = new JaxbDataFormat("com.acme.model");
+
+from("activemq:My.Queue").
+  unmarshal(jaxb).
+  to("mqseries:Another.Queue");
+-------------------------------------------------------
+
+You can if you prefer use a named reference to a data format which can
+then be defined in your link:registry.html[Registry] such as via your
+link:spring.html[Spring] XML file. e.g.
+
+[source,java]
+-------------------------------
+from("activemq:My.Queue").
+  unmarshal("myJaxbDataType").
+  to("mqseries:Another.Queue");
+-------------------------------
+
+[[JAXB-UsingSpringXML]]
+Using Spring XML
+^^^^^^^^^^^^^^^^
+
+The following example shows how to use JAXB to unmarshal using
+link:spring.html[Spring] configuring the jaxb data type
+
+This example shows how to configure the data type just once and reuse it
+on multiple routes.
+
+*Multiple context paths*
+
+It is possible to use this data format with more than one context path.
+You can specify context path using `:` as separator, for example
+`com.mycompany:com.mycompany2`. Note that this is handled by JAXB
+implementation and might change if you use different vendor than RI.
+
+[[JAXB-Partialmarshalling/unmarshalling]]
+Partial marshalling/unmarshalling
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+*This feature is new to Camel 2.2.0.* +
+ JAXB 2 supports marshalling and unmarshalling XML tree fragments. By
+default JAXB looks for `@XmlRootElement` annotation on given class to
+operate on whole XML tree. This is useful but not always - sometimes
+generated code does not have @XmlRootElement annotation, sometimes you
+need unmarshall only part of tree. +
+ In that case you can use partial unmarshalling. To enable this
+behaviours you need set property `partClass`. Camel will pass this class
+to JAXB's unmarshaler.
+
+For marshalling you have to add `partNamespace` attribute with QName of
+destination namespace. Example of Spring DSL you can find above.
+
+[[JAXB-Fragment]]
+Fragment
+^^^^^^^^
+
+*This feature is new to Camel 2.8.0.* +
+ JaxbDataFormat has new property fragment which can set the the
+`Marshaller.JAXB_FRAGMENT` encoding property on the JAXB Marshaller. If
+you don't want the JAXB Marshaller to generate the XML declaration, you
+can set this option to be true. The default value of this property is
+false.
+
+[[JAXB-IgnoringtheNonXMLCharacter]]
+Ignoring the NonXML Character
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+*This feature is new to Camel 2.2.0.* +
+ JaxbDataFromat supports to ignore the
+http://www.w3.org/TR/2004/REC-xml-20040204/#NT-Char[NonXML Character],
+you just need to set the filterNonXmlChars property to be true,
+JaxbDataFormat will replace the NonXML character with " " when it is
+marshaling or unmarshaling the message. You can also do it by setting
+the link:exchange.html[Exchange] property
+`Exchange.FILTER_NON_XML_CHARS`.
+
+�
+[width="100%",cols="30%,10%,60%",options="header",]
+|=======================================================================
+|   | JDK 1.5 | JDK 1.6+
+
+|Filtering in use |StAX API and implementation |No
+
+|Filtering not in use |StAX API only |No
+|=======================================================================
+
+This feature has been tested with Woodstox 3.2.9 and Sun JDK 1.6 StAX
+implementation.
+
+*New for Camel 2.12.1* +
+ JaxbDataFormat now allows you to customize the XMLStreamWriter used to
+marshal the stream to XML. Using this configuration, you can add your
+own stream writer to completely remove, escape, or replace non-xml
+characters.
+
+[source,java]
+--------------------------------------------------------------------------------------
+   JaxbDataFormat customWriterFormat = new JaxbDataFormat("org.apache.camel.foo.bar");
+  customWriterFormat.setXmlStreamWriterWrapper(new TestXmlStreamWriter());
+--------------------------------------------------------------------------------------
+
+The following example shows using the Spring DSL and also enabling
+Camel's NonXML filtering:
+
+[source,xml]
+------------------------------------------------------------------------------------------------------------------------------
+<bean id="testXmlStreamWriterWrapper" class="org.apache.camel.jaxb.TestXmlStreamWriter"/>
+<jaxb filterNonXmlChars="true"  contextPath="org.apache.camel.foo.bar" xmlStreamWriterWrapper="#testXmlStreamWriterWrapper" />
+------------------------------------------------------------------------------------------------------------------------------
+
+[[JAXB-WorkingwiththeObjectFactory]]
+Working with the ObjectFactory
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+If you use XJC to create the java class from the schema, you will get an
+ObjectFactory for you JAXB context. Since the ObjectFactory uses
+http://java.sun.com/javase/6/docs/api/javax/xml/bind/JAXBElement.html[JAXBElement]
+to hold the reference of the schema and element instance value,
+jaxbDataformat will ignore the JAXBElement by default and you will get
+the element instance value instead of the JAXBElement object form the
+unmarshaled message body.  +
+ If you want to get the JAXBElement object form the unmarshaled message
+body, you need to set the JaxbDataFormat object's ignoreJAXBElement
+property to be false.
+
+[[JAXB-Settingencoding]]
+Setting encoding
+^^^^^^^^^^^^^^^^
+
+You can set the *encoding* option to use when marshalling. Its the
+`Marshaller.JAXB_ENCODING` encoding property on the JAXB Marshaller. +
+ You can setup which encoding to use when you declare the JAXB data
+format. You can also provide the encoding in the
+link:exchange.html[Exchange] property `Exchange.CHARSET_NAME`. This
+property will overrule the encoding set on the JAXB data format.
+
+In this Spring DSL we have defined to use `iso-8859-1` as the encoding:
+
+[[JAXB-Controllingnamespaceprefixmapping]]
+Controlling namespace prefix mapping
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+*Available as of Camel 2.11*
+
+When marshalling using link:jaxb.html[JAXB] or link:soap.html[SOAP] then
+the JAXB implementation will automatic assign namespace prefixes, such
+as ns2, ns3, ns4 etc. To control this mapping, Camel allows you to refer
+to a map which contains the desired mapping.
+
+Notice this requires having JAXB-RI 2.1 or better (from SUN) on the
+classpath, as the mapping functionality is dependent on the
+implementation of JAXB, whether its supported.
+
+For example in Spring XML we can define a Map with the mapping. In the
+mapping file below, we map SOAP to use soap as prefix. While our custom
+namespace "http://www.mycompany.com/foo/2" is not using any prefix.
+
+[source,xml]
+-----------------------------------------------------------------------
+  <util:map id="myMap">
+    <entry key="http://www.w3.org/2003/05/soap-envelope" value="soap"/>
+    <!-- we dont want any prefix for our namespace -->
+    <entry key="http://www.mycompany.com/foo/2" value=""/>
+  </util:map>
+-----------------------------------------------------------------------
+
+To use this in link:jaxb.html[JAXB] or link:soap.html[SOAP] you refer to
+this map, using the `namespacePrefixRef` attribute as shown below. Then
+Camel will lookup in the link:registry.html[Registry] a `java.util.Map`
+with the id "myMap", which was what we defined above.
+
+[source,xml]
+----------------------------------------------------------------------------------------
+  <marshal>
+    <soapjaxb version="1.2" contextPath="com.mycompany.foo" namespacePrefixRef="myMap"/>
+  </marshal>
+----------------------------------------------------------------------------------------
+
+[[JAXB-Schemavalidation]]
+Schema validation
+^^^^^^^^^^^^^^^^^
+
+*Available as of Camel 2.11*
+
+The JAXB link:data-format.html[Data Format] supports validation by
+marshalling and unmarshalling from/to XML. Your can use the prefix
+*classpath:*, *file:* or *http:* to specify how the resource should by
+resolved. You can separate multiple schema files by using the *','*
+character.
+
+*Known issue*
+
+Camel 2.11.0 and 2.11.1 has a known issue by validation multiple
+`Exchange`'s in parallel. See
+https://issues.apache.org/jira/browse/CAMEL-6630[CAMEL-6630]. This is
+fixed with Camel 2.11.2/2.12.0.
+
+Using the Java DSL, you can configure it in the following way:
+
+[source,java]
+-----------------------------------------------------------------------
+JaxbDataFormat jaxbDataFormat = new JaxbDataFormat();
+jaxbDataFormat.setContextPath(Person.class.getPackage().getName());
+jaxbDataFormat.setSchema("classpath:person.xsd,classpath:address.xsd");
+-----------------------------------------------------------------------
+
+You can do the same using the XML DSL:
+
+[source,xml]
+-------------------------------------------------------------------------
+<marshal>
+    <jaxb id="jaxb" schema="classpath:person.xsd,classpath:address.xsd"/>
+</marshal>
+-------------------------------------------------------------------------
+
+Camel will create and pool the underling `SchemaFactory` instances on
+the fly, because the `SchemaFactory` shipped with the JDK is not thread
+safe. +
+ However, if you have a `SchemaFactory` implementation which is thread
+safe, you can configure the JAXB data format to use this one:
+
+[source,java]
+--------------------------------------------------------
+JaxbDataFormat jaxbDataFormat = new JaxbDataFormat();
+jaxbDataFormat.setSchemaFactory(thradSafeSchemaFactory);
+--------------------------------------------------------
+
+[[JAXB-SchemaLocation]]
+Schema Location
+^^^^^^^^^^^^^^^
+
+*Available as of Camel 2.14*
+
+The JAXB�link:data-format.html[Data Format]�supports to specify the
+SchemaLocation when marshaling the XML.�
+
+Using the Java DSL, you can configure it in the following way:
+
+[source,java]
+-------------------------------------------------------------------
+JaxbDataFormat jaxbDataFormat = new JaxbDataFormat();
+jaxbDataFormat.setContextPath(Person.class.getPackage().getName());
+jaxbDataFormat.setSchemaLocation("schema/person.xsd");
+-------------------------------------------------------------------
+
+You can do the same using the XML DSL:
+
+[source,xml]
+--------------------------------------------------------
+<marshal>
+    <jaxb id="jaxb" schemaLocation="schema/person.xsd"/>
+</marshal>
+--------------------------------------------------------
+
+[[JAXB-MarshaldatathatisalreadyXML]]
+Marshal data that is already XML
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+*Available as of Camel 2.14.1*
+
+The JAXB marshaller requires that the message body is JAXB compatible,
+eg its a JAXBElement, eg a java instance that has JAXB annotations, or
+extend JAXBElement. There can be situations where the message body is
+already in XML, eg from a String type. There is a new
+option�`mustBeJAXBElement` you can set to false, to relax this check, so
+the JAXB marshaller only attempts to marshal JAXBElements
+(javax.xml.bind.JAXBIntrospector#isElement returns true). And in those
+situations the marshaller fallbacks to marshal the message body as-is.
+
+[[JAXB-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+To use JAXB in your camel routes you need to add the a dependency on
+*camel-jaxb* which implements this data format.
+
+If you use maven you could just add the following to your pom.xml,
+substituting the version number for the latest & greatest release (see
+link:download.html[the download page for the latest versions]).
+
+[source,java]
+-------------------------------------
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-jaxb</artifactId>
+  <version>x.x.x</version>
+</dependency>
+-------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-jaxb/src/main/docs/jaxb.adoc
----------------------------------------------------------------------
diff --git a/components/camel-jaxb/src/main/docs/jaxb.adoc b/components/camel-jaxb/src/main/docs/jaxb.adoc
deleted file mode 100644
index 0e7b449..0000000
--- a/components/camel-jaxb/src/main/docs/jaxb.adoc
+++ /dev/null
@@ -1,307 +0,0 @@
-[[JAXB-JAXB]]
-JAXB
-~~~~
-
-JAXB is a link:data-format.html[Data Format] which uses the JAXB2 XML
-marshalling standard which is included in Java 6 to unmarshal an XML
-payload into Java objects or to marshal Java objects into an XML
-payload.
-
-[[JAXB-UsingtheJavaDSL]]
-Using the Java DSL
-^^^^^^^^^^^^^^^^^^
-
-For example the following uses a named DataFormat of _jaxb_ which is
-configured with a number of Java package names to initialize the
-http://java.sun.com/javase/6/docs/api/javax/xml/bind/JAXBContext.html[JAXBContext].
-
-[source,java]
--------------------------------------------------------
-DataFormat jaxb = new JaxbDataFormat("com.acme.model");
-
-from("activemq:My.Queue").
-  unmarshal(jaxb).
-  to("mqseries:Another.Queue");
--------------------------------------------------------
-
-You can if you prefer use a named reference to a data format which can
-then be defined in your link:registry.html[Registry] such as via your
-link:spring.html[Spring] XML file. e.g.
-
-[source,java]
--------------------------------
-from("activemq:My.Queue").
-  unmarshal("myJaxbDataType").
-  to("mqseries:Another.Queue");
--------------------------------
-
-[[JAXB-UsingSpringXML]]
-Using Spring XML
-^^^^^^^^^^^^^^^^
-
-The following example shows how to use JAXB to unmarshal using
-link:spring.html[Spring] configuring the jaxb data type
-
-This example shows how to configure the data type just once and reuse it
-on multiple routes.
-
-*Multiple context paths*
-
-It is possible to use this data format with more than one context path.
-You can specify context path using `:` as separator, for example
-`com.mycompany:com.mycompany2`. Note that this is handled by JAXB
-implementation and might change if you use different vendor than RI.
-
-[[JAXB-Partialmarshalling/unmarshalling]]
-Partial marshalling/unmarshalling
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-*This feature is new to Camel 2.2.0.* +
- JAXB 2 supports marshalling and unmarshalling XML tree fragments. By
-default JAXB looks for `@XmlRootElement` annotation on given class to
-operate on whole XML tree. This is useful but not always - sometimes
-generated code does not have @XmlRootElement annotation, sometimes you
-need unmarshall only part of tree. +
- In that case you can use partial unmarshalling. To enable this
-behaviours you need set property `partClass`. Camel will pass this class
-to JAXB's unmarshaler.
-
-For marshalling you have to add `partNamespace` attribute with QName of
-destination namespace. Example of Spring DSL you can find above.
-
-[[JAXB-Fragment]]
-Fragment
-^^^^^^^^
-
-*This feature is new to Camel 2.8.0.* +
- JaxbDataFormat has new property fragment which can set the the
-`Marshaller.JAXB_FRAGMENT` encoding property on the JAXB Marshaller. If
-you don't want the JAXB Marshaller to generate the XML declaration, you
-can set this option to be true. The default value of this property is
-false.
-
-[[JAXB-IgnoringtheNonXMLCharacter]]
-Ignoring the NonXML Character
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-*This feature is new to Camel 2.2.0.* +
- JaxbDataFromat supports to ignore the
-http://www.w3.org/TR/2004/REC-xml-20040204/#NT-Char[NonXML Character],
-you just need to set the filterNonXmlChars property to be true,
-JaxbDataFormat will replace the NonXML character with " " when it is
-marshaling or unmarshaling the message. You can also do it by setting
-the link:exchange.html[Exchange] property
-`Exchange.FILTER_NON_XML_CHARS`.
-
-�
-[width="100%",cols="30%,10%,60%",options="header",]
-|=======================================================================
-|   | JDK 1.5 | JDK 1.6+
-
-|Filtering in use |StAX API and implementation |No
-
-|Filtering not in use |StAX API only |No
-|=======================================================================
-
-This feature has been tested with Woodstox 3.2.9 and Sun JDK 1.6 StAX
-implementation.
-
-*New for Camel 2.12.1* +
- JaxbDataFormat now allows you to customize the XMLStreamWriter used to
-marshal the stream to XML. Using this configuration, you can add your
-own stream writer to completely remove, escape, or replace non-xml
-characters.
-
-[source,java]
---------------------------------------------------------------------------------------
-   JaxbDataFormat customWriterFormat = new JaxbDataFormat("org.apache.camel.foo.bar");
-  customWriterFormat.setXmlStreamWriterWrapper(new TestXmlStreamWriter());
---------------------------------------------------------------------------------------
-
-The following example shows using the Spring DSL and also enabling
-Camel's NonXML filtering:
-
-[source,xml]
-------------------------------------------------------------------------------------------------------------------------------
-<bean id="testXmlStreamWriterWrapper" class="org.apache.camel.jaxb.TestXmlStreamWriter"/>
-<jaxb filterNonXmlChars="true"  contextPath="org.apache.camel.foo.bar" xmlStreamWriterWrapper="#testXmlStreamWriterWrapper" />
-------------------------------------------------------------------------------------------------------------------------------
-
-[[JAXB-WorkingwiththeObjectFactory]]
-Working with the ObjectFactory
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-If you use XJC to create the java class from the schema, you will get an
-ObjectFactory for you JAXB context. Since the ObjectFactory uses
-http://java.sun.com/javase/6/docs/api/javax/xml/bind/JAXBElement.html[JAXBElement]
-to hold the reference of the schema and element instance value,
-jaxbDataformat will ignore the JAXBElement by default and you will get
-the element instance value instead of the JAXBElement object form the
-unmarshaled message body.  +
- If you want to get the JAXBElement object form the unmarshaled message
-body, you need to set the JaxbDataFormat object's ignoreJAXBElement
-property to be false.
-
-[[JAXB-Settingencoding]]
-Setting encoding
-^^^^^^^^^^^^^^^^
-
-You can set the *encoding* option to use when marshalling. Its the
-`Marshaller.JAXB_ENCODING` encoding property on the JAXB Marshaller. +
- You can setup which encoding to use when you declare the JAXB data
-format. You can also provide the encoding in the
-link:exchange.html[Exchange] property `Exchange.CHARSET_NAME`. This
-property will overrule the encoding set on the JAXB data format.
-
-In this Spring DSL we have defined to use `iso-8859-1` as the encoding:
-
-[[JAXB-Controllingnamespaceprefixmapping]]
-Controlling namespace prefix mapping
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-*Available as of Camel 2.11*
-
-When marshalling using link:jaxb.html[JAXB] or link:soap.html[SOAP] then
-the JAXB implementation will automatic assign namespace prefixes, such
-as ns2, ns3, ns4 etc. To control this mapping, Camel allows you to refer
-to a map which contains the desired mapping.
-
-Notice this requires having JAXB-RI 2.1 or better (from SUN) on the
-classpath, as the mapping functionality is dependent on the
-implementation of JAXB, whether its supported.
-
-For example in Spring XML we can define a Map with the mapping. In the
-mapping file below, we map SOAP to use soap as prefix. While our custom
-namespace "http://www.mycompany.com/foo/2" is not using any prefix.
-
-[source,xml]
------------------------------------------------------------------------
-  <util:map id="myMap">
-    <entry key="http://www.w3.org/2003/05/soap-envelope" value="soap"/>
-    <!-- we dont want any prefix for our namespace -->
-    <entry key="http://www.mycompany.com/foo/2" value=""/>
-  </util:map>
------------------------------------------------------------------------
-
-To use this in link:jaxb.html[JAXB] or link:soap.html[SOAP] you refer to
-this map, using the `namespacePrefixRef` attribute as shown below. Then
-Camel will lookup in the link:registry.html[Registry] a `java.util.Map`
-with the id "myMap", which was what we defined above.
-
-[source,xml]
-----------------------------------------------------------------------------------------
-  <marshal>
-    <soapjaxb version="1.2" contextPath="com.mycompany.foo" namespacePrefixRef="myMap"/>
-  </marshal>
-----------------------------------------------------------------------------------------
-
-[[JAXB-Schemavalidation]]
-Schema validation
-^^^^^^^^^^^^^^^^^
-
-*Available as of Camel 2.11*
-
-The JAXB link:data-format.html[Data Format] supports validation by
-marshalling and unmarshalling from/to XML. Your can use the prefix
-*classpath:*, *file:* or *http:* to specify how the resource should by
-resolved. You can separate multiple schema files by using the *','*
-character.
-
-*Known issue*
-
-Camel 2.11.0 and 2.11.1 has a known issue by validation multiple
-`Exchange`'s in parallel. See
-https://issues.apache.org/jira/browse/CAMEL-6630[CAMEL-6630]. This is
-fixed with Camel 2.11.2/2.12.0.
-
-Using the Java DSL, you can configure it in the following way:
-
-[source,java]
------------------------------------------------------------------------
-JaxbDataFormat jaxbDataFormat = new JaxbDataFormat();
-jaxbDataFormat.setContextPath(Person.class.getPackage().getName());
-jaxbDataFormat.setSchema("classpath:person.xsd,classpath:address.xsd");
------------------------------------------------------------------------
-
-You can do the same using the XML DSL:
-
-[source,xml]
--------------------------------------------------------------------------
-<marshal>
-    <jaxb id="jaxb" schema="classpath:person.xsd,classpath:address.xsd"/>
-</marshal>
--------------------------------------------------------------------------
-
-Camel will create and pool the underling `SchemaFactory` instances on
-the fly, because the `SchemaFactory` shipped with the JDK is not thread
-safe. +
- However, if you have a `SchemaFactory` implementation which is thread
-safe, you can configure the JAXB data format to use this one:
-
-[source,java]
---------------------------------------------------------
-JaxbDataFormat jaxbDataFormat = new JaxbDataFormat();
-jaxbDataFormat.setSchemaFactory(thradSafeSchemaFactory);
---------------------------------------------------------
-
-[[JAXB-SchemaLocation]]
-Schema Location
-^^^^^^^^^^^^^^^
-
-*Available as of Camel 2.14*
-
-The JAXB�link:data-format.html[Data Format]�supports to specify the
-SchemaLocation when marshaling the XML.�
-
-Using the Java DSL, you can configure it in the following way:
-
-[source,java]
--------------------------------------------------------------------
-JaxbDataFormat jaxbDataFormat = new JaxbDataFormat();
-jaxbDataFormat.setContextPath(Person.class.getPackage().getName());
-jaxbDataFormat.setSchemaLocation("schema/person.xsd");
--------------------------------------------------------------------
-
-You can do the same using the XML DSL:
-
-[source,xml]
---------------------------------------------------------
-<marshal>
-    <jaxb id="jaxb" schemaLocation="schema/person.xsd"/>
-</marshal>
---------------------------------------------------------
-
-[[JAXB-MarshaldatathatisalreadyXML]]
-Marshal data that is already XML
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-*Available as of Camel 2.14.1*
-
-The JAXB marshaller requires that the message body is JAXB compatible,
-eg its a JAXBElement, eg a java instance that has JAXB annotations, or
-extend JAXBElement. There can be situations where the message body is
-already in XML, eg from a String type. There is a new
-option�`mustBeJAXBElement` you can set to false, to relax this check, so
-the JAXB marshaller only attempts to marshal JAXBElements
-(javax.xml.bind.JAXBIntrospector#isElement returns true). And in those
-situations the marshaller fallbacks to marshal the message body as-is.
-
-[[JAXB-Dependencies]]
-Dependencies
-^^^^^^^^^^^^
-
-To use JAXB in your camel routes you need to add the a dependency on
-*camel-jaxb* which implements this data format.
-
-If you use maven you could just add the following to your pom.xml,
-substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
-
-[source,java]
--------------------------------------
-<dependency>
-  <groupId>org.apache.camel</groupId>
-  <artifactId>camel-jaxb</artifactId>
-  <version>x.x.x</version>
-</dependency>
--------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-jclouds/src/main/docs/jclouds-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-jclouds/src/main/docs/jclouds-component.adoc b/components/camel-jclouds/src/main/docs/jclouds-component.adoc
index fe18ff4..c281ac2 100644
--- a/components/camel-jclouds/src/main/docs/jclouds-component.adoc
+++ b/components/camel-jclouds/src/main/docs/jclouds-component.adoc
@@ -108,13 +108,14 @@ Blobstore URI Options
 
 
 
+
 // component options: START
 The JClouds component supports 2 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | blobStores | List | To use the given BlobStore which must be configured when using blobstore.
@@ -127,6 +128,7 @@ The JClouds component supports 2 options which are listed below.
 
 
 
+
 // endpoint options: START
 The JClouds component supports 17 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-jdbc/src/main/docs/jdbc-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-jdbc/src/main/docs/jdbc-component.adoc b/components/camel-jdbc/src/main/docs/jdbc-component.adoc
index 42ab2a5..62dfbb3 100644
--- a/components/camel-jdbc/src/main/docs/jdbc-component.adoc
+++ b/components/camel-jdbc/src/main/docs/jdbc-component.adoc
@@ -44,13 +44,14 @@ Options
 
 
 
+
 // component options: START
 The JDBC component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | dataSource | DataSource | To use the DataSource instance instead of looking up the data source by name from the registry.
@@ -62,6 +63,7 @@ The JDBC component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The JDBC component supports 15 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-jetty9/src/main/docs/jetty-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-jetty9/src/main/docs/jetty-component.adoc b/components/camel-jetty9/src/main/docs/jetty-component.adoc
index 5d47d69..03f7a3f 100644
--- a/components/camel-jetty9/src/main/docs/jetty-component.adoc
+++ b/components/camel-jetty9/src/main/docs/jetty-component.adoc
@@ -52,13 +52,14 @@ Options
 
 
 
+
 // component options: START
 The Jetty 9 component supports 30 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | sslKeyPassword | String | The key password which is used to access the certificate's key entry in the keystore (this is the same password that is supplied to the keystore command's -keypass option).
@@ -102,6 +103,7 @@ The Jetty 9 component supports 30 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Jetty 9 component supports 53 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-jgroups/src/main/docs/jgroups-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-jgroups/src/main/docs/jgroups-component.adoc b/components/camel-jgroups/src/main/docs/jgroups-component.adoc
index d6628fe..4f67d1c 100644
--- a/components/camel-jgroups/src/main/docs/jgroups-component.adoc
+++ b/components/camel-jgroups/src/main/docs/jgroups-component.adoc
@@ -53,13 +53,14 @@ Options
 
 
 
+
 // component options: START
 The JGroups component supports 3 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | channel | Channel | Channel to use
@@ -73,6 +74,7 @@ The JGroups component supports 3 options which are listed below.
 
 
 
+
 // endpoint options: START
 The JGroups component supports 7 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-jibx/src/main/docs/jibx-dataformat.adoc
----------------------------------------------------------------------
diff --git a/components/camel-jibx/src/main/docs/jibx-dataformat.adoc b/components/camel-jibx/src/main/docs/jibx-dataformat.adoc
new file mode 100644
index 0000000..a49bf89
--- /dev/null
+++ b/components/camel-jibx/src/main/docs/jibx-dataformat.adoc
@@ -0,0 +1,81 @@
+[[JiBX-JiBX]]
+JiBX
+~~~~
+
+*Available as of Camel 2.6*
+
+JiBX is a link:data-format.html[Data Format] which uses the
+http://jibx.sourceforge.net[JiBX library] to marshal and unmarshal Java
+objects to and from XML.
+
+[source,java]
+-----------------------------------------------------------
+// lets turn Object messages into XML then send to MQSeries
+from("activemq:My.Queue").
+  marshal().jibx().
+  to("mqseries:Another.Queue");
+-----------------------------------------------------------
+
+Please note that marshaling process can recognize the message type at
+the runtime. However while unmarshaling message from XML we need to
+specify target class explicitly.
+
+[source,java]
+-------------------------------------------
+// lets turn XML into PurchaseOrder message
+from("mqseries:Another.Queue").
+  unmarshal().jibx(PurchaseOrder.class).
+  to("activemq:My.Queue");
+-------------------------------------------
+
+[[JiBX-JiBXSpringDSL]]
+JiBX Spring DSL
+^^^^^^^^^^^^^^^
+
+JiBX data format is also supported by Camel Spring DSL.
+
+[source,xml]
+--------------------------------------------------------------------------------------
+<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
+
+  <!-- Define data formats -->
+  <dataFormats>
+    <jibx id="jibx" unmarshallClass="org.apache.camel.dataformat.jibx.PurchaseOrder"/>
+  </dataFormats>
+
+  <!-- Marshal message to XML -->
+  <route>
+    <from uri="direct:marshal"/>
+    <marshal ref="jibx"/>
+    <to uri="mock:result"/>
+  </route>
+
+  <!-- Unmarshal message from XML -->
+  <route>
+    <from uri="direct:unmarshal"/>
+    <unmarshal ref="jibx"/>
+    <to uri="mock:result"/>
+  </route>
+
+</camelContext>
+--------------------------------------------------------------------------------------
+
+[[JiBX-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+To use JiBX in your camel routes you need to add the a dependency on
+*camel-jibx* which implements this data format.
+
+If you use maven you could just add the following to your pom.xml,
+substituting the version number for the latest & greatest release (see
+link:download.html[the download page for the latest versions]).
+
+[source,xml]
+-------------------------------------
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-jibx</artifactId>
+  <version>2.6.0</version>
+</dependency>
+-------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-jibx/src/main/docs/jibx.adoc
----------------------------------------------------------------------
diff --git a/components/camel-jibx/src/main/docs/jibx.adoc b/components/camel-jibx/src/main/docs/jibx.adoc
deleted file mode 100644
index a49bf89..0000000
--- a/components/camel-jibx/src/main/docs/jibx.adoc
+++ /dev/null
@@ -1,81 +0,0 @@
-[[JiBX-JiBX]]
-JiBX
-~~~~
-
-*Available as of Camel 2.6*
-
-JiBX is a link:data-format.html[Data Format] which uses the
-http://jibx.sourceforge.net[JiBX library] to marshal and unmarshal Java
-objects to and from XML.
-
-[source,java]
------------------------------------------------------------
-// lets turn Object messages into XML then send to MQSeries
-from("activemq:My.Queue").
-  marshal().jibx().
-  to("mqseries:Another.Queue");
------------------------------------------------------------
-
-Please note that marshaling process can recognize the message type at
-the runtime. However while unmarshaling message from XML we need to
-specify target class explicitly.
-
-[source,java]
--------------------------------------------
-// lets turn XML into PurchaseOrder message
-from("mqseries:Another.Queue").
-  unmarshal().jibx(PurchaseOrder.class).
-  to("activemq:My.Queue");
--------------------------------------------
-
-[[JiBX-JiBXSpringDSL]]
-JiBX Spring DSL
-^^^^^^^^^^^^^^^
-
-JiBX data format is also supported by Camel Spring DSL.
-
-[source,xml]
---------------------------------------------------------------------------------------
-<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
-
-  <!-- Define data formats -->
-  <dataFormats>
-    <jibx id="jibx" unmarshallClass="org.apache.camel.dataformat.jibx.PurchaseOrder"/>
-  </dataFormats>
-
-  <!-- Marshal message to XML -->
-  <route>
-    <from uri="direct:marshal"/>
-    <marshal ref="jibx"/>
-    <to uri="mock:result"/>
-  </route>
-
-  <!-- Unmarshal message from XML -->
-  <route>
-    <from uri="direct:unmarshal"/>
-    <unmarshal ref="jibx"/>
-    <to uri="mock:result"/>
-  </route>
-
-</camelContext>
---------------------------------------------------------------------------------------
-
-[[JiBX-Dependencies]]
-Dependencies
-^^^^^^^^^^^^
-
-To use JiBX in your camel routes you need to add the a dependency on
-*camel-jibx* which implements this data format.
-
-If you use maven you could just add the following to your pom.xml,
-substituting the version number for the latest & greatest release (see
-link:download.html[the download page for the latest versions]).
-
-[source,xml]
--------------------------------------
-<dependency>
-  <groupId>org.apache.camel</groupId>
-  <artifactId>camel-jibx</artifactId>
-  <version>2.6.0</version>
-</dependency>
--------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-jms/src/main/docs/jms-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-jms/src/main/docs/jms-component.adoc b/components/camel-jms/src/main/docs/jms-component.adoc
index b157a66..7d148f5 100644
--- a/components/camel-jms/src/main/docs/jms-component.adoc
+++ b/components/camel-jms/src/main/docs/jms-component.adoc
@@ -212,13 +212,14 @@ Component options
 
 
 
+
 // component options: START
 The JMS component supports 74 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | JmsConfiguration | To use a shared JMS configuration
@@ -305,6 +306,7 @@ The JMS component supports 74 options which are listed below.
 
 
 
+
 [[JMS-Endpointoptions]]
 Endpoint options
 ++++++++++++++++

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-jolt/src/main/docs/jolt-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-jolt/src/main/docs/jolt-component.adoc b/components/camel-jolt/src/main/docs/jolt-component.adoc
index 42d5808..e9d03cf 100644
--- a/components/camel-jolt/src/main/docs/jolt-component.adoc
+++ b/components/camel-jolt/src/main/docs/jolt-component.adoc
@@ -45,13 +45,14 @@ Options
 
 
 
+
 // component options: START
 The JOLT component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | transform | Transform | Explicitly sets the Transform to use. If not set a Transform specified by the transformDsl will be created
@@ -63,6 +64,7 @@ The JOLT component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The JOLT component supports 7 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-jpa/src/main/docs/jpa-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-jpa/src/main/docs/jpa-component.adoc b/components/camel-jpa/src/main/docs/jpa-component.adoc
index 5b94672..d716ee6 100644
--- a/components/camel-jpa/src/main/docs/jpa-component.adoc
+++ b/components/camel-jpa/src/main/docs/jpa-component.adoc
@@ -90,13 +90,14 @@ Options
 
 
 
+
 // component options: START
 The JPA component supports 4 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | entityManagerFactory | EntityManagerFactory | To use the EntityManagerFactory. This is strongly recommended to configure.
@@ -113,6 +114,7 @@ The JPA component supports 4 options which are listed below.
 
 
 
+
 // endpoint options: START
 The JPA component supports 42 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-jsch/src/main/docs/scp-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-jsch/src/main/docs/scp-component.adoc b/components/camel-jsch/src/main/docs/scp-component.adoc
index d9a578b..f1620a7 100644
--- a/components/camel-jsch/src/main/docs/scp-component.adoc
+++ b/components/camel-jsch/src/main/docs/scp-component.adoc
@@ -43,13 +43,14 @@ Options
 
 
 
+
 // component options: START
 The SCP component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | verboseLogging | boolean | JSCH is verbose logging out of the box. Therefore we turn the logging down to DEBUG logging by default. But setting this option to true turns on the verbose logging again.
@@ -64,6 +65,7 @@ The SCP component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The SCP component supports 22 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-jt400/src/main/docs/jt400-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-jt400/src/main/docs/jt400-component.adoc b/components/camel-jt400/src/main/docs/jt400-component.adoc
index 1b7fbd7..2a55f11 100644
--- a/components/camel-jt400/src/main/docs/jt400-component.adoc
+++ b/components/camel-jt400/src/main/docs/jt400-component.adoc
@@ -43,13 +43,14 @@ JT400 options
 
 
 
+
 // component options: START
 The JT400 component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | connectionPool | AS400ConnectionPool | Returns the default connection pool used by this component.
@@ -63,6 +64,7 @@ The JT400 component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The JT400 component supports 33 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-kafka/src/main/docs/kafka-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-kafka/src/main/docs/kafka-component.adoc b/components/camel-kafka/src/main/docs/kafka-component.adoc
index 2c015f9..e78e91f 100644
--- a/components/camel-kafka/src/main/docs/kafka-component.adoc
+++ b/components/camel-kafka/src/main/docs/kafka-component.adoc
@@ -61,13 +61,14 @@ Options (Camel 2.16 or older)
 
 
 
+
 // component options: START
 The Kafka component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | workerPool | ExecutorService | To use a shared custom worker pool for continue routing Exchange after kafka server has acknowledge the message that was sent to it from KafkaProducer using asynchronous non-blocking processing. If using this option then you must handle the lifecycle of the thread pool to shut the pool down when no longer needed.
@@ -94,6 +95,7 @@ The Kafka component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Kafka component supports 77 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-kestrel/src/main/docs/kestrel-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-kestrel/src/main/docs/kestrel-component.adoc b/components/camel-kestrel/src/main/docs/kestrel-component.adoc
index f81c756..a147190 100644
--- a/components/camel-kestrel/src/main/docs/kestrel-component.adoc
+++ b/components/camel-kestrel/src/main/docs/kestrel-component.adoc
@@ -68,13 +68,14 @@ Options
 
 
 
+
 // component options: START
 The Kestrel component supports 4 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | KestrelConfiguration | To use a shared configured configuration as base for creating new endpoints.
@@ -90,6 +91,7 @@ The Kestrel component supports 4 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Kestrel component supports 8 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc b/components/camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc
index 64312ec..c04a77d 100644
--- a/components/camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc
+++ b/components/camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc
@@ -56,13 +56,14 @@ LinkedInComponent
 
 
 
+
 // component options: START
 The Linkedin component supports 12 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | LinkedInConfiguration | To use the shared configuration
@@ -84,6 +85,7 @@ The Linkedin component supports 12 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Linkedin component supports 16 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-lucene/src/main/docs/lucene-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-lucene/src/main/docs/lucene-component.adoc b/components/camel-lucene/src/main/docs/lucene-component.adoc
index 2157901..14e26ef 100644
--- a/components/camel-lucene/src/main/docs/lucene-component.adoc
+++ b/components/camel-lucene/src/main/docs/lucene-component.adoc
@@ -55,13 +55,14 @@ Insert Options
 
 
 
+
 // component options: START
 The Lucene component supports 7 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | config | LuceneConfiguration | To use a shared lucene configuration. Properties of the shared configuration can also be set individually.
@@ -80,6 +81,7 @@ The Lucene component supports 7 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Lucene component supports 8 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-lumberjack/src/main/docs/lumberjack-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-lumberjack/src/main/docs/lumberjack-component.adoc b/components/camel-lumberjack/src/main/docs/lumberjack-component.adoc
index 3b0083a..feb01ec 100644
--- a/components/camel-lumberjack/src/main/docs/lumberjack-component.adoc
+++ b/components/camel-lumberjack/src/main/docs/lumberjack-component.adoc
@@ -41,13 +41,14 @@ Options
 
 
 
+
 // component options: START
 The Lumberjack component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | sslContextParameters | SSLContextParameters | Sets the default SSL configuration to use for all the endpoints. You can also configure it directly at the endpoint level.
@@ -60,6 +61,7 @@ The Lumberjack component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Lumberjack component supports 7 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-lzf/src/main/docs/lzf-dataformat.adoc
----------------------------------------------------------------------
diff --git a/components/camel-lzf/src/main/docs/lzf-dataformat.adoc b/components/camel-lzf/src/main/docs/lzf-dataformat.adoc
new file mode 100644
index 0000000..34697f4
--- /dev/null
+++ b/components/camel-lzf/src/main/docs/lzf-dataformat.adoc
@@ -0,0 +1,76 @@
+[[LZF-LZFDataFormat]]
+LZF Data Format
+~~~~~~~~~~~~~~~
+
+The
+LZF�https://cwiki.apache.org/confluence/display/CAMEL/Data+Format[Data
+Format]�is a message compression and de-compression format. It uses the
+LZF deflate algorithm.�Messages marshalled using LZF compression can be
+unmarshalled using LZF decompression just prior to being consumed at the
+endpoint. The compression capability is quite useful when you deal with
+large XML and Text based payloads or when you read messages previously
+comressed using LZF algotithm.
+
+[[LZFDataFormat-Options]]
+Options
+^^^^^^^
+
+There are no options provided for this data format.
+
+[width="100%",cols="<25%,<25%,<25%,<25%",options="header",]
+|=======================================================================
+|Name |Type |Default |Description
+|usingParallelCompression |`boolean` |`false`
+|`Enable parallel compressor`�implementation which can encode (compress)
+content using multiple processing cores: concurrent compression works on
+chunk-by-chunk basis (64k max chunk size) so megabyte-sized content can
+be processed very efficiently.
+|=======================================================================
+
+[[LZFDataFormat-Marshal]]
+Marshal
+^^^^^^^
+
+In this example we marshal a regular text/XML payload to a compressed
+payload employing LZF compression format and send it an ActiveMQ queue
+called MY_QUEUE.
+
+[source,java]
+-------------------------------------------------------------------
+from("direct:start").marshal().lzf().to("activemq:queue:MY_QUEUE");
+-------------------------------------------------------------------
+
+[[LZFDataFormat-Unmarshal]]
+Unmarshal
+^^^^^^^^^
+
+In this example we unmarshal�a LZF payload from an ActiveMQ queue called
+MY_QUEUE�to its original format,�and forward it for�processing�to
+the�`UnGZippedMessageProcessor`.
+
+[source,java]
+----------------------------------------------------------------------------------------------
+from("activemq:queue:MY_QUEUE").unmarshal().lzf().process(new UnCompressedMessageProcessor());
+----------------------------------------------------------------------------------------------
+
+[[LZFDataFormat-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+To useLZF compression in your camel routes you need to add a dependency
+on�*camel-lzf*�which implements this data format.
+
+If you use Maven you can just add the following to your�`pom.xml`,
+substituting the version number for the latest & greatest release
+(see�https://cwiki.apache.org/confluence/display/CAMEL/Download[the
+download page for the latest versions]).
+
+[source,xml]
+----------------------------------------------------------
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-lzf</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-lzf/src/main/docs/lzf.adoc
----------------------------------------------------------------------
diff --git a/components/camel-lzf/src/main/docs/lzf.adoc b/components/camel-lzf/src/main/docs/lzf.adoc
deleted file mode 100644
index 34697f4..0000000
--- a/components/camel-lzf/src/main/docs/lzf.adoc
+++ /dev/null
@@ -1,76 +0,0 @@
-[[LZF-LZFDataFormat]]
-LZF Data Format
-~~~~~~~~~~~~~~~
-
-The
-LZF�https://cwiki.apache.org/confluence/display/CAMEL/Data+Format[Data
-Format]�is a message compression and de-compression format. It uses the
-LZF deflate algorithm.�Messages marshalled using LZF compression can be
-unmarshalled using LZF decompression just prior to being consumed at the
-endpoint. The compression capability is quite useful when you deal with
-large XML and Text based payloads or when you read messages previously
-comressed using LZF algotithm.
-
-[[LZFDataFormat-Options]]
-Options
-^^^^^^^
-
-There are no options provided for this data format.
-
-[width="100%",cols="<25%,<25%,<25%,<25%",options="header",]
-|=======================================================================
-|Name |Type |Default |Description
-|usingParallelCompression |`boolean` |`false`
-|`Enable parallel compressor`�implementation which can encode (compress)
-content using multiple processing cores: concurrent compression works on
-chunk-by-chunk basis (64k max chunk size) so megabyte-sized content can
-be processed very efficiently.
-|=======================================================================
-
-[[LZFDataFormat-Marshal]]
-Marshal
-^^^^^^^
-
-In this example we marshal a regular text/XML payload to a compressed
-payload employing LZF compression format and send it an ActiveMQ queue
-called MY_QUEUE.
-
-[source,java]
--------------------------------------------------------------------
-from("direct:start").marshal().lzf().to("activemq:queue:MY_QUEUE");
--------------------------------------------------------------------
-
-[[LZFDataFormat-Unmarshal]]
-Unmarshal
-^^^^^^^^^
-
-In this example we unmarshal�a LZF payload from an ActiveMQ queue called
-MY_QUEUE�to its original format,�and forward it for�processing�to
-the�`UnGZippedMessageProcessor`.
-
-[source,java]
-----------------------------------------------------------------------------------------------
-from("activemq:queue:MY_QUEUE").unmarshal().lzf().process(new UnCompressedMessageProcessor());
-----------------------------------------------------------------------------------------------
-
-[[LZFDataFormat-Dependencies]]
-Dependencies
-^^^^^^^^^^^^
-
-To useLZF compression in your camel routes you need to add a dependency
-on�*camel-lzf*�which implements this data format.
-
-If you use Maven you can just add the following to your�`pom.xml`,
-substituting the version number for the latest & greatest release
-(see�https://cwiki.apache.org/confluence/display/CAMEL/Download[the
-download page for the latest versions]).
-
-[source,xml]
-----------------------------------------------------------
-<dependency>
-  <groupId>org.apache.camel</groupId>
-  <artifactId>camel-lzf</artifactId>
-  <version>x.x.x</version>
-  <!-- use the same version as your Camel core version -->
-</dependency>
-----------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-mail/src/main/docs/imap-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-mail/src/main/docs/imap-component.adoc b/components/camel-mail/src/main/docs/imap-component.adoc
index b9e3e34..771c111 100644
--- a/components/camel-mail/src/main/docs/imap-component.adoc
+++ b/components/camel-mail/src/main/docs/imap-component.adoc
@@ -6,13 +6,14 @@ Mail Component IMAP
 
 
 
+
 // component options: START
 The IMAP component supports 38 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | MailConfiguration | Sets the Mail configuration. Properties of the shared configuration can also be set individually.
@@ -64,6 +65,7 @@ The IMAP component supports 38 options which are listed below.
 
 
 
+
 // endpoint options: START
 The IMAP component supports 63 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-mail/src/main/docs/imaps-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-mail/src/main/docs/imaps-component.adoc b/components/camel-mail/src/main/docs/imaps-component.adoc
index c06e83f..2427820 100644
--- a/components/camel-mail/src/main/docs/imaps-component.adoc
+++ b/components/camel-mail/src/main/docs/imaps-component.adoc
@@ -6,13 +6,14 @@ Mail Component IMAPs
 
 
 
+
 // component options: START
 The IMAPS component supports 38 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | MailConfiguration | Sets the Mail configuration. Properties of the shared configuration can also be set individually.
@@ -64,6 +65,7 @@ The IMAPS component supports 38 options which are listed below.
 
 
 
+
 // endpoint options: START
 The IMAPS component supports 63 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-mail/src/main/docs/pop3-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-mail/src/main/docs/pop3-component.adoc b/components/camel-mail/src/main/docs/pop3-component.adoc
index 579335c..c291f1b 100644
--- a/components/camel-mail/src/main/docs/pop3-component.adoc
+++ b/components/camel-mail/src/main/docs/pop3-component.adoc
@@ -6,13 +6,14 @@ Mail Component POP3
 
 
 
+
 // component options: START
 The POP3 component supports 38 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | MailConfiguration | Sets the Mail configuration. Properties of the shared configuration can also be set individually.
@@ -64,6 +65,7 @@ The POP3 component supports 38 options which are listed below.
 
 
 
+
 // endpoint options: START
 The POP3 component supports 63 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-mail/src/main/docs/pop3s-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-mail/src/main/docs/pop3s-component.adoc b/components/camel-mail/src/main/docs/pop3s-component.adoc
index a0ac23c..99172b2 100644
--- a/components/camel-mail/src/main/docs/pop3s-component.adoc
+++ b/components/camel-mail/src/main/docs/pop3s-component.adoc
@@ -6,13 +6,14 @@ Mail Component POP3s
 
 
 
+
 // component options: START
 The POP3S component supports 38 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | MailConfiguration | Sets the Mail configuration. Properties of the shared configuration can also be set individually.
@@ -64,6 +65,7 @@ The POP3S component supports 38 options which are listed below.
 
 
 
+
 // endpoint options: START
 The POP3S component supports 63 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-mail/src/main/docs/smtp-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-mail/src/main/docs/smtp-component.adoc b/components/camel-mail/src/main/docs/smtp-component.adoc
index b4c577b..b847980 100644
--- a/components/camel-mail/src/main/docs/smtp-component.adoc
+++ b/components/camel-mail/src/main/docs/smtp-component.adoc
@@ -6,13 +6,14 @@ Mail Component SMTP
 
 
 
+
 // component options: START
 The SMTP component supports 38 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | MailConfiguration | Sets the Mail configuration. Properties of the shared configuration can also be set individually.
@@ -64,6 +65,7 @@ The SMTP component supports 38 options which are listed below.
 
 
 
+
 // endpoint options: START
 The SMTP component supports 63 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-mail/src/main/docs/smtps-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-mail/src/main/docs/smtps-component.adoc b/components/camel-mail/src/main/docs/smtps-component.adoc
index 8badf2d..a02d7f2 100644
--- a/components/camel-mail/src/main/docs/smtps-component.adoc
+++ b/components/camel-mail/src/main/docs/smtps-component.adoc
@@ -6,13 +6,14 @@ Mail Component SMTPs
 
 
 
+
 // component options: START
 The SMTPS component supports 38 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | MailConfiguration | Sets the Mail configuration. Properties of the shared configuration can also be set individually.
@@ -64,6 +65,7 @@ The SMTPS component supports 38 options which are listed below.
 
 
 
+
 // endpoint options: START
 The SMTPS component supports 63 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-mina/src/main/docs/mina-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-mina/src/main/docs/mina-component.adoc b/components/camel-mina/src/main/docs/mina-component.adoc
index 3feb59c..822e8f2 100644
--- a/components/camel-mina/src/main/docs/mina-component.adoc
+++ b/components/camel-mina/src/main/docs/mina-component.adoc
@@ -66,13 +66,14 @@ Options
 
 
 
+
 // component options: START
 The Mina component supports 21 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | MinaConfiguration | To use the shared mina configuration. Properties of the shared configuration can also be set individually.
@@ -106,6 +107,7 @@ The Mina component supports 21 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Mina component supports 24 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-mina2/src/main/docs/mina2-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-mina2/src/main/docs/mina2-component.adoc b/components/camel-mina2/src/main/docs/mina2-component.adoc
index 94cfc23..a6d8ad5 100644
--- a/components/camel-mina2/src/main/docs/mina2-component.adoc
+++ b/components/camel-mina2/src/main/docs/mina2-component.adoc
@@ -67,13 +67,14 @@ Options
 
 
 
+
 // component options: START
 The Mina2 component supports 26 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | Mina2Configuration | To use the shared mina configuration. Properties of the shared configuration can also be set individually.
@@ -112,6 +113,7 @@ The Mina2 component supports 26 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Mina2 component supports 29 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-mqtt/src/main/docs/mqtt-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-mqtt/src/main/docs/mqtt-component.adoc b/components/camel-mqtt/src/main/docs/mqtt-component.adoc
index 83bcadb..c59af20 100644
--- a/components/camel-mqtt/src/main/docs/mqtt-component.adoc
+++ b/components/camel-mqtt/src/main/docs/mqtt-component.adoc
@@ -39,13 +39,14 @@ Options
 
 
 
+
 // component options: START
 The MQTT component supports 3 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | host | String | The URI of the MQTT broker to connect too - this component also supports SSL - e.g. ssl://127.0.0.1:8883
@@ -59,6 +60,7 @@ The MQTT component supports 3 options which are listed below.
 
 
 
+
 // endpoint options: START
 The MQTT component supports 39 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-msv/src/main/docs/msv-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-msv/src/main/docs/msv-component.adoc b/components/camel-msv/src/main/docs/msv-component.adoc
index b241cfe..0720e48 100644
--- a/components/camel-msv/src/main/docs/msv-component.adoc
+++ b/components/camel-msv/src/main/docs/msv-component.adoc
@@ -53,13 +53,14 @@ Options
 
 
 
+
 // component options: START
 The MSV component supports 2 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | schemaFactory | SchemaFactory | To use the javax.xml.validation.SchemaFactory.
@@ -72,6 +73,7 @@ The MSV component supports 2 options which are listed below.
 
 
 
+
 // endpoint options: START
 The MSV component supports 13 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-mustache/src/main/docs/mustache-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-mustache/src/main/docs/mustache-component.adoc b/components/camel-mustache/src/main/docs/mustache-component.adoc
index 77266d9..9df8638 100644
--- a/components/camel-mustache/src/main/docs/mustache-component.adoc
+++ b/components/camel-mustache/src/main/docs/mustache-component.adoc
@@ -44,13 +44,14 @@ Options
 
 {% raw %}
 
+
 // component options: START
 The Mustache component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | mustacheFactory | MustacheFactory | To use a custom MustacheFactory
@@ -64,6 +65,7 @@ The Mustache component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Mustache component supports 7 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-mybatis/src/main/docs/mybatis-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-mybatis/src/main/docs/mybatis-component.adoc b/components/camel-mybatis/src/main/docs/mybatis-component.adoc
index 613c87f..f2571bf 100644
--- a/components/camel-mybatis/src/main/docs/mybatis-component.adoc
+++ b/components/camel-mybatis/src/main/docs/mybatis-component.adoc
@@ -48,13 +48,14 @@ Options
 
 
 
+
 // component options: START
 The MyBatis component supports 2 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | sqlSessionFactory | SqlSessionFactory | To use the SqlSessionFactory
@@ -67,6 +68,7 @@ The MyBatis component supports 2 options which are listed below.
 
 
 
+
 // endpoint options: START
 The MyBatis component supports 29 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-nagios/src/main/docs/nagios-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-nagios/src/main/docs/nagios-component.adoc b/components/camel-nagios/src/main/docs/nagios-component.adoc
index b2aa95b..3626b36 100644
--- a/components/camel-nagios/src/main/docs/nagios-component.adoc
+++ b/components/camel-nagios/src/main/docs/nagios-component.adoc
@@ -42,13 +42,14 @@ Options
 
 
 
+
 // component options: START
 The Nagios component supports 7 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | NagiosConfiguration | To use a shared configuraiton. Properties of the shared configuration can also be set individually.
@@ -67,6 +68,7 @@ The Nagios component supports 7 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Nagios component supports 9 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-netty-http/src/main/docs/netty-http-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-netty-http/src/main/docs/netty-http-component.adoc b/components/camel-netty-http/src/main/docs/netty-http-component.adoc
index c8191c4..17dcfdd 100644
--- a/components/camel-netty-http/src/main/docs/netty-http-component.adoc
+++ b/components/camel-netty-http/src/main/docs/netty-http-component.adoc
@@ -80,13 +80,14 @@ options related to UDP transport.
 
 
 
+
 // component options: START
 The Netty HTTP component supports 68 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | nettyHttpBinding | NettyHttpBinding | To use a custom org.apache.camel.component.netty.http.NettyHttpBinding for binding to/from Netty and Camel Message API.
@@ -167,6 +168,7 @@ The Netty HTTP component supports 68 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Netty HTTP component supports 82 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-netty/src/main/docs/netty-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-netty/src/main/docs/netty-component.adoc b/components/camel-netty/src/main/docs/netty-component.adoc
index 6e64ea3..50ad393 100644
--- a/components/camel-netty/src/main/docs/netty-component.adoc
+++ b/components/camel-netty/src/main/docs/netty-component.adoc
@@ -60,13 +60,14 @@ Options
 
 
 
+
 // component options: START
 The Netty component supports 65 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | NettyConfiguration | To use the NettyConfiguration as configuration when creating endpoints. Properties of the shared configuration can also be set individually.
@@ -144,6 +145,7 @@ The Netty component supports 65 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Netty component supports 70 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc b/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
index 74909e5..592eb70 100644
--- a/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
+++ b/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
@@ -79,13 +79,14 @@ related to UDP transport.
 
 
 
+
 // component options: START
 The Netty4 HTTP component supports 72 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | nettyHttpBinding | NettyHttpBinding | To use a custom org.apache.camel.component.netty4.http.NettyHttpBinding for binding to/from Netty and Camel Message API.
@@ -172,6 +173,7 @@ The Netty4 HTTP component supports 72 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Netty4 HTTP component supports 81 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-netty4/src/main/docs/netty4-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-netty4/src/main/docs/netty4-component.adoc b/components/camel-netty4/src/main/docs/netty4-component.adoc
index d039a6e..864d445 100644
--- a/components/camel-netty4/src/main/docs/netty4-component.adoc
+++ b/components/camel-netty4/src/main/docs/netty4-component.adoc
@@ -57,13 +57,14 @@ Options
 
 
 
+
 // component options: START
 The Netty4 component supports 69 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | maximumPoolSize | int | The thread pool size for the EventExecutorGroup if its in use. The default value is 16.
@@ -148,6 +149,7 @@ The Netty4 component supports 69 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Netty4 component supports 73 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc b/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc
index b062775..8e477e6 100644
--- a/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc
+++ b/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc
@@ -47,13 +47,14 @@ Olingo2 Options
 
 
 
+
 // component options: START
 The Olingo2 component supports 11 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | Olingo2Configuration | To use the shared configuration. Properties of the shared configuration can also be set individually.
@@ -75,6 +76,7 @@ The Olingo2 component supports 11 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Olingo2 component supports 15 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-openshift/src/main/docs/openshift-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-openshift/src/main/docs/openshift-component.adoc b/components/camel-openshift/src/main/docs/openshift-component.adoc
index 4c869b6..f8ba7c7 100644
--- a/components/camel-openshift/src/main/docs/openshift-component.adoc
+++ b/components/camel-openshift/src/main/docs/openshift-component.adoc
@@ -37,13 +37,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The OpenShift component supports 4 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | username | String | The username to login to openshift server.
@@ -56,6 +57,7 @@ The OpenShift component supports 4 options which are listed below.
 
 
 
+
 // endpoint options: START
 The OpenShift component supports 27 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-paho/src/main/docs/paho-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-paho/src/main/docs/paho-component.adoc b/components/camel-paho/src/main/docs/paho-component.adoc
index 51daab7..a182056 100644
--- a/components/camel-paho/src/main/docs/paho-component.adoc
+++ b/components/camel-paho/src/main/docs/paho-component.adoc
@@ -125,13 +125,14 @@ Paho Options
 ^^^^^^^^^^^^
 
 
+
 // component options: START
 The Paho component supports 3 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | brokerUrl | String | The URL of the MQTT broker.
@@ -143,6 +144,7 @@ The Paho component supports 3 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Paho component supports 12 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-paxlogging/src/main/docs/paxlogging-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-paxlogging/src/main/docs/paxlogging-component.adoc b/components/camel-paxlogging/src/main/docs/paxlogging-component.adoc
index 994b751..1ff6de8 100644
--- a/components/camel-paxlogging/src/main/docs/paxlogging-component.adoc
+++ b/components/camel-paxlogging/src/main/docs/paxlogging-component.adoc
@@ -43,13 +43,14 @@ URI options
 ^^^^^^^^^^^
 
 
+
 // component options: START
 The OSGi PAX Logging component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | bundleContext | BundleContext | The OSGi BundleContext is automatic injected by Camel
@@ -59,6 +60,7 @@ The OSGi PAX Logging component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The OSGi PAX Logging component supports 5 endpoint options which are listed below:
 


[5/6] camel git commit: CAMEL-9541: Generate readme for dataformat also.

Posted by da...@apache.org.
http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-csv/src/main/docs/csv.adoc
----------------------------------------------------------------------
diff --git a/components/camel-csv/src/main/docs/csv.adoc b/components/camel-csv/src/main/docs/csv.adoc
deleted file mode 100644
index 5d56296..0000000
--- a/components/camel-csv/src/main/docs/csv.adoc
+++ /dev/null
@@ -1,465 +0,0 @@
-[[CSV-CSV]]
-CSV
-~~~
-
-The CSV link:data-format.html[Data Format] uses
-http://commons.apache.org/proper/commons-csv/[Apache Commons CSV] to
-handle CSV payloads (Comma Separated Values) such as those
-exported/imported by Excel.
-
-As of Camel 2.15.0, it now uses
-the�http://commons.apache.org/proper/commons-csv/archives/1.1/index.html[Apache
-Commons CSV 1.1] which is based on a completely different set of
-options.
-
-[[CSV-AvailableoptionsuntilCamel2.15]]
-Available options until Camel 2.15
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Option |Type |Description
-
-|config |CSVConfig |Can be used to set a custom `CSVConfig` object.
-
-|strategy |CSVStrategy |Can be used to set a custom `CSVStrategy`; the default is
-`CSVStrategy.DEFAULT_STRATEGY`.
-
-|autogenColumns |boolean |Whether or not columns are auto-generated in the resulting CSV. The
-default value is `true`; subsequent messages use the previously created
-columns with new fields being added at the end of the line.
-
-|delimiter |String |*Camel 2.4:* The column delimiter to use; the default value is "`,`".
-
-|skipFirstLine |boolean |*Camel 2.10:* Whether or not to skip the first line of CSV input when
-unmarshalling (e.g. if the content has headers on the first line); the
-default value is `false`.
-
-|lazyLoad |boolean |*Camel 2.12.2:*�Whether or not to Sequential access CSV input through an
-iterator which could avoid OOM exception when processing huge CSV file;
-the default value is false
-
-|useMaps |boolean |*Camel 2.13:* Whether to use List<Map> when unmarshalling instead of
-List<List>.
-|=======================================================================
-
-[[CSV-AvailableoptionsasofCamel2.15]]
-Available options as of Camel 2.15
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Option |Type |Description
-
-|`format` |`CSVFormat` |The reference format to use, it will be updated with the other format
-options, the default value is `CSVFormat.DEFAULT`
-
-|`commentMarkerDisabled` |`boolean` |Disables the comment marker of the reference format.
-This option is `false` by default.
-
-|`commentMarker` |`Character` |Overrides the comment marker of the reference format.
-This option is `null` by default. When `null` it keeps the value of the
-reference format which is `null` for `CSVFormat.DEFAULT`.
-
-|`delimiter` |`Character` |Overrides the delimiter of the reference format.
-This option is `null` by defaut. When `null` it keeps the value of the
-reference format which is `','` for `CSVFormat.DEFAULT`.
-
-|`escapeDisabled` |`boolean` |Disables the escape character of the reference format.
-This option is `false` by default.
-
-|`escape` |`Character` |Overrides the escape character of the reference format.
-This option is `null` by default. When `null` it keeps the value of the
-reference format which is `null` for `CSVFormat.DEFAULT`.
-
-|`headerDisabled` |`boolean` |Disables the header of the reference format.
-This option is `false` by default.
-
-|`header` |`String[]` |Overrides the header of the reference format.
-This option is `null` by default. When `null` it keeps the value of the
-reference format which is `null` for `CSVFormat.DEFAULT`.
-
-|`allowMissingColumnNames` |`Boolean` |Overrides the missing column names behavior of the reference format.
-This option is `null` by default. When `null` it keeps the value of the
-reference format which is `false` for `CSVFormat.DEFAULT`.
-
-|`ignoreEmptyLines` |`Boolean` |Overrides the empty line behavior of the reference format.
-This option is `null` by default. When `null` it keeps the value of the
-reference format which is `true` for `CSVFormat.DEFAULT`.
-
-|`ignoreSurroundingSpaces` |`Boolean` |Overrides the surrounding spaces behavior of the reference format.
-This option is `null` by default. When `null` it keeps the value of the
-reference format which is `false` for `CSVFormat.DEFAULT`.
-
-|`nullStringDisabled` |`boolean` |Disables the null string representation of the reference format.
-This option is `false` by default.
-
-|`nullString` |`String` |Overrides the null string representation of the reference format.
-This option is `null` by default. When `null` it keeps the value of the
-reference format which is `null` for `CSVFormat.DEFAULT`.
-
-|`quoteDisabled` |`boolean` |Disables the quote of the reference format.
-This option is `false` by default.
-
-|`quote` |`Character` |Overrides the quote symbol of the reference format.
-This option is `null` by default. When `null` it keeps the value of the
-reference format which is `'"'` (double quote) for `CSVFormat.DEFAULT`.
-
-|`quoteMode` |`QuoteMode` |Overrides the quote mode of the reference format.
-This option is `null` by default. When `null` it keeps the value of the
-reference format which is `null` for `CSVFormat.DEFAULT`.
-
-|`recordSeparatorDisabled` |`boolean` |Disables the record separator of the reference format.
-This option is `false` by default.
-
-|`recordSeparator` |`String` |Overrides the record separator of the reference format.
-This option is `null` by default. When `null` it keeps the value of the
-reference format which is `\r\n` (CRLF) for `CSVFormat.DEFAULT`.
-
-|`skipHeaderRecord` |`Boolean` |Overrides the header record behavior of the reference format.
-This option is `null` by default. When `null` it keeps the value of the
-reference format which is `false` for `CSVFormat.DEFAULT`.
-
-|`lazyLoad` |`boolean` |Whether the unmarshalling should produce an iterator that reads the
-lines on the fly or if all the lines must be read at one.
-This option is�`false`�by default.
-
-|`useMaps` |`boolean` |Whether the unmarshalling should produce maps for the lines values
-instead of lists. It requires to have header (either defined or
-collected). This options is�`false`�by default.
-
-|`recordConverter` |`CsvRecordConverter` |Sets the record converter to use. If defines the `useMaps` options is
-disabled. This option is `null` by default.
-|=======================================================================
-
-[[CSV-MarshallingaMaptoCSV]]
-Marshalling a Map to CSV
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-The component allows you to marshal a Java Map (or any other message
-type that can be link:type-converter.html[converted] in a Map) into a
-CSV payload.
-
-Considering the following body 
-
-[source,java]
--------------------------------------------------------
-Map<String, Object> body = new LinkedHashMap<>();
-body.put("foo", "abc");
-body.put("bar", 123);
--------------------------------------------------------
-
-and this Java route definition 
-
-[source,java]
--------------------------------------------------------
-from("direct:start")
-    .marshal().csv()
-    .to("mock:result");
--------------------------------------------------------
-
-or this XML route definition 
-
-[source,xml]
--------------------------------------------------------
-<route>
-    <from uri="direct:start" />
-    <marshal>
-        <csv />
-    </marshal>
-    <to uri="mock:result" />
-</route>
--------------------------------------------------------
-
-then it will produce 
-
-[source,java]
--------------------------------------------------------
-abc,123
--------------------------------------------------------
-
-[[CSV-UnmarshallingaCSVmessageintoaJavaList]]
-Unmarshalling a CSV message into a Java List
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Unmarshalling will transform a CSV messsage into a Java List with CSV
-file lines (containing another List with all the field values).
-
-An example: we have a CSV file with names of persons, their IQ and their
-current activity.
-
-[source,text]
------------------------------------------------------
-Jack Dalton, 115, mad at Averell
-Joe Dalton, 105, calming Joe
-William Dalton, 105, keeping Joe from killing Averell
-Averell Dalton, 80, playing with Rantanplan
-Lucky Luke, 120, capturing the Daltons
------------------------------------------------------
-
-We can now use the CSV component to unmarshal this file:
-
-[source,java]
----------------------------------------------------------------
-from("file:src/test/resources/?fileName=daltons.csv&noop=true")
-    .unmarshal().csv()
-    .to("mock:daltons");
----------------------------------------------------------------
-
-The resulting message will contain a `List<List<String>>` like...
-
-[source,java]
---------------------------------------------------------------------------------------------------------------
-List<List<String>> data = (List<List<String>>) exchange.getIn().getBody();
-for (List<String> line : data) {
-    LOG.debug(String.format("%s has an IQ of %s and is currently %s", line.get(0), line.get(1), line.get(2)));
-}
---------------------------------------------------------------------------------------------------------------
-
-[[CSV-MarshallingaList<Map>toCSV]]
-Marshalling a List<Map> to CSV
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-*Available as of Camel 2.1*
-
-If you have multiple rows of data you want to be marshalled into CSV
-format you can now store the message payload as a
-`List<Map<String, Object>>` object where the list contains a Map for
-each row.
-
-[[CSV-FilePollerofCSV,thenunmarshaling]]
-File Poller of CSV, then unmarshaling
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Given a bean which can handle the incoming data...
-
-*MyCsvHandler.java*
-
-[source,java]
--------------------------------------------------------
-// Some comments here
-public void doHandleCsvData(List<List<String>> csvData)
-{
-    // do magic here
-}
--------------------------------------------------------
-
-... your route then looks as follows
-
-[source,xml]
-------------------------------------------------------------------------------------------------
-<route>
-        <!-- poll every 10 seconds -->
-        <from uri="file:///some/path/to/pickup/csvfiles?delete=true&amp;consumer.delay=10000" />
-        <unmarshal><csv /></unmarshal>
-        <to uri="bean:myCsvHandler?method=doHandleCsvData" />
-</route>
-------------------------------------------------------------------------------------------------
-
-[[CSV-Marshalingwithapipeasdelimiter]]
-Marshaling with a pipe as delimiter
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Considering the following body
-
-[source,java]
--------------------------------------------------------
-Map<String, Object> body = new LinkedHashMap<>();
-body.put("foo", "abc");
-body.put("bar", 123);
-------------------------------------------------------- 
-
-and this Java route definition 
-
-[source,java]
--------------------------------------------------------
-// Camel version < 2.15
-CsvDataFormat oldCSV = new CsvDataFormat();
-oldCSV.setDelimiter("|");
-from("direct:start")
-    .marshal(oldCSV)
-    .to("mock:result")
- 
-// Camel version >= 2.15
-from("direct:start")
-    .marshal(new CsvDataFormat().setDelimiter(&#39;|&#39;))
-    .to("mock:result")
-------------------------------------------------------- 
-
-or this XML route definition 
-
-[source,xml]
--------------------------------------------------------
-<route>
-  <from uri="direct:start" />
-  <marshal>
-    <csv delimiter="|" />
-  </marshal>
-  <to uri="mock:result" />
-</route>
-------------------------------------------------------- 
-
-then it will produce 
-
-[source,java]
--------------------------------------------------------
-abc|123
-------------------------------------------------------- 
-
-[[CSV-UsingautogenColumns,configRefandstrategyRefattributesinsideXMLDSL]]
-Using autogenColumns, configRef and strategyRef attributes inside XML
-DSL
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-*Available as of Camel 2.9.2 / 2.10 and deleted for Camel 2.15*
-
-You can customize the CSV link:data-format.html[Data Format] to make use
-of your own `CSVConfig` and/or `CSVStrategy`. Also note that the default
-value of the `autogenColumns` option is true. The following example
-should illustrate this customization.
-
-[source,xml]
------------------------------------------------------------------------------------------------------------------------------
-<route>
-  <from uri="direct:start" />
-  <marshal>
-    <!-- make use of a strategy other than the default one which is 'org.apache.commons.csv.CSVStrategy.DEFAULT_STRATEGY' -->
-    <csv autogenColumns="false" delimiter="|" configRef="csvConfig" strategyRef="excelStrategy" />
-  </marshal>
-  <convertBodyTo type="java.lang.String" />
-  <to uri="mock:result" />
-</route>
-
-<bean id="csvConfig" class="org.apache.commons.csv.writer.CSVConfig">
-  <property name="fields">
-    <list>
-      <bean class="org.apache.commons.csv.writer.CSVField">
-        <property name="name" value="orderId" />
-      </bean>
-      <bean class="org.apache.commons.csv.writer.CSVField">
-        <property name="name" value="amount" />
-      </bean>
-    </list>
-  </property>
-</bean>
-
-<bean id="excelStrategy" class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean">
-  <property name="staticField" value="org.apache.commons.csv.CSVStrategy.EXCEL_STRATEGY" />
-</bean>
------------------------------------------------------------------------------------------------------------------------------
-
-[[CSV-UsingskipFirstLineoptionwhileunmarshaling]]
-Using skipFirstLine option while unmarshaling
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-*Available as of Camel 2.10 and deleted for Camel 2.15*
-
-You can instruct the CSV link:data-format.html[Data Format] to skip the
-first line which contains the CSV headers. Using the Spring/XML DSL:
-
-[source,xml]
----------------------------------------------------
-<route>
-  <from uri="direct:start" />
-  <unmarshal>
-    <csv skipFirstLine="true" />
-  </unmarshal>
-  <to uri="bean:myCsvHandler?method=doHandleCsv" />
-</route>
----------------------------------------------------
-
-Or the Java DSL:
-
-[source,java]
---------------------------------------------
-CsvDataFormat csv = new CsvDataFormat();
-csv.setSkipFirstLine(true);
-
-from("direct:start")
-  .unmarshal(csv)
-.to("bean:myCsvHandler?method=doHandleCsv");
---------------------------------------------
-
-[[CSV-Unmarshalingwithapipeasdelimiter]]
-Unmarshaling with a pipe as delimiter
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Using the Spring/XML DSL:
-
-[source,xml]
----------------------------------------------------
-<route>
-  <from uri="direct:start" />
-  <unmarshal>
-    <csv delimiter="|" />
-  </unmarshal>
-  <to uri="bean:myCsvHandler?method=doHandleCsv" />
-</route>
----------------------------------------------------
-
-Or the Java DSL:
-
-[source,java]
-----------------------------------------------------
-CsvDataFormat csv = new CsvDataFormat();
-CSVStrategy strategy = CSVStrategy.DEFAULT_STRATEGY;
-strategy.setDelimiter('|');
-csv.setStrategy(strategy);
-
-from("direct:start")
-  .unmarshal(csv)
-  .to("bean:myCsvHandler?method=doHandleCsv");
-----------------------------------------------------
-
-[source,java]
-----------------------------------------------
-CsvDataFormat csv = new CsvDataFormat();
-csv.setDelimiter("|");
-
-from("direct:start")
-  .unmarshal(csv)
-  .to("bean:myCsvHandler?method=doHandleCsv");
-----------------------------------------------
-
-[source,java]
-----------------------------------------------
-CsvDataFormat csv = new CsvDataFormat();
-CSVConfig csvConfig = new CSVConfig();
-csvConfig.setDelimiter(";");
-csv.setConfig(csvConfig);
-
-from("direct:start")
-  .unmarshal(csv)
-  .to("bean:myCsvHandler?method=doHandleCsv");
-----------------------------------------------
-
-*Issue in CSVConfig*
-
-It looks like that
-
-[source,java]
---------------------------------------
-CSVConfig csvConfig = new CSVConfig();
-csvConfig.setDelimiter(';');
---------------------------------------
-
-doesn't work. You have to set the delimiter as a String!
-
-[[CSV-Dependencies]]
-Dependencies
-^^^^^^^^^^^^
-
-To use CSV in your Camel routes you need to add a dependency on
-*camel-csv*, which implements this data format.
-
-If you use Maven you can just add the following to your pom.xml,
-substituting the version number for the latest and greatest release (see
-link:download.html[the download page for the latest versions]).
-
-[source,java]
--------------------------------------
-<dependency>
-  <groupId>org.apache.camel</groupId>
-  <artifactId>camel-csv</artifactId>
-  <version>x.x.x</version>
-</dependency>
--------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-cxf/src/main/docs/cxf-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/main/docs/cxf-component.adoc b/components/camel-cxf/src/main/docs/cxf-component.adoc
index ba16233..0736ddb 100644
--- a/components/camel-cxf/src/main/docs/cxf-component.adoc
+++ b/components/camel-cxf/src/main/docs/cxf-component.adoc
@@ -122,13 +122,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The CXF component supports 2 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | allowStreaming | Boolean | This option controls whether the CXF component when running in PAYLOAD mode will DOM parse the incoming messages into DOM Elements or keep the payload as a javax.xml.transform.Source object that would allow streaming in some cases.
@@ -140,6 +141,7 @@ The CXF component supports 2 options which are listed below.
 
 
 
+
 // endpoint options: START
 The CXF component supports 35 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-cxf/src/main/docs/cxfrs-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/main/docs/cxfrs-component.adoc b/components/camel-cxf/src/main/docs/cxfrs-component.adoc
index 06fa687..2493a2b 100644
--- a/components/camel-cxf/src/main/docs/cxfrs-component.adoc
+++ b/components/camel-cxf/src/main/docs/cxfrs-component.adoc
@@ -62,13 +62,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The CXF-RS component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | headerFilterStrategy | HeaderFilterStrategy | To use a custom HeaderFilterStrategy to filter header to and from Camel message.
@@ -78,6 +79,7 @@ The CXF-RS component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The CXF-RS component supports 29 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-disruptor/src/main/docs/disruptor-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-disruptor/src/main/docs/disruptor-component.adoc b/components/camel-disruptor/src/main/docs/disruptor-component.adoc
index c6d0da4..6068657 100644
--- a/components/camel-disruptor/src/main/docs/disruptor-component.adoc
+++ b/components/camel-disruptor/src/main/docs/disruptor-component.adoc
@@ -98,13 +98,14 @@ All the following options are valid for both the **disruptor:** and
 **disruptor-vm:** components.
 
 
+
 // component options: START
 The Disruptor component supports 7 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | defaultConcurrentConsumers | int | To configure the default number of concurrent consumers
@@ -120,6 +121,7 @@ The Disruptor component supports 7 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Disruptor component supports 13 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-ejb/src/main/docs/ejb-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-ejb/src/main/docs/ejb-component.adoc b/components/camel-ejb/src/main/docs/ejb-component.adoc
index 4339603..47261dc 100644
--- a/components/camel-ejb/src/main/docs/ejb-component.adoc
+++ b/components/camel-ejb/src/main/docs/ejb-component.adoc
@@ -36,13 +36,14 @@ Options
 ^^^^^^^
 
 
+
 // component options: START
 The EJB component supports 2 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | context | Context | The Context to use for looking up the EJBs
@@ -53,6 +54,7 @@ The EJB component supports 2 options which are listed below.
 
 
 
+
 // endpoint options: START
 The EJB component supports 7 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc b/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
index 31c3681..ea3234d 100644
--- a/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
+++ b/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
@@ -45,13 +45,14 @@ Endpoint Options
 ^^^^^^^^^^^^^^^^
 
 
+
 // component options: START
 The Elasticsearch component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | client | Client | To use an existing configured Elasticsearch client instead of creating a client per endpoint.
@@ -62,6 +63,7 @@ The Elasticsearch component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Elasticsearch component supports 13 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-facebook/src/main/docs/facebook-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-facebook/src/main/docs/facebook-component.adoc b/components/camel-facebook/src/main/docs/facebook-component.adoc
index 8f58063..df71580 100644
--- a/components/camel-facebook/src/main/docs/facebook-component.adoc
+++ b/components/camel-facebook/src/main/docs/facebook-component.adoc
@@ -56,13 +56,14 @@ to application APIs.
 
 
 
+
 // component options: START
 The Facebook component supports 28 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | FacebookConfiguration | To use the shared configuration. Properties of the shared configuration can also be set individually.
@@ -100,6 +101,7 @@ The Facebook component supports 28 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Facebook component supports 103 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-flink/src/main/docs/flink-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-flink/src/main/docs/flink-component.adoc b/components/camel-flink/src/main/docs/flink-component.adoc
index c40f126..56659b2 100644
--- a/components/camel-flink/src/main/docs/flink-component.adoc
+++ b/components/camel-flink/src/main/docs/flink-component.adoc
@@ -69,13 +69,14 @@ FlinkComponent Options
 
 
 
+
 // component options: START
 The Apache Flink component supports 4 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | dataSet | DataSet | DataSet to compute against.
@@ -89,6 +90,7 @@ The Apache Flink component supports 4 options which are listed below.
 
 
 
+
 Flink DataSet Callback
 ^^^^^^^^^^^^^^^^^^^^^^
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-freemarker/src/main/docs/freemarker-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-freemarker/src/main/docs/freemarker-component.adoc b/components/camel-freemarker/src/main/docs/freemarker-component.adoc
index 7e54a523..896c0b6 100644
--- a/components/camel-freemarker/src/main/docs/freemarker-component.adoc
+++ b/components/camel-freemarker/src/main/docs/freemarker-component.adoc
@@ -41,13 +41,14 @@ Options
 
 
 
+
 // component options: START
 The Freemarker component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | Configuration | To use an existing freemarker.template.Configuration instance as the configuration.
@@ -58,6 +59,7 @@ The Freemarker component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Freemarker component supports 7 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-ganglia/src/main/docs/ganglia-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-ganglia/src/main/docs/ganglia-component.adoc b/components/camel-ganglia/src/main/docs/ganglia-component.adoc
index 3c5e6e7..bd057a2 100644
--- a/components/camel-ganglia/src/main/docs/ganglia-component.adoc
+++ b/components/camel-ganglia/src/main/docs/ganglia-component.adoc
@@ -56,13 +56,14 @@ Ganglia component and endpoint URI options
 
 
 
+
 // component options: START
 The Ganglia component supports 15 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | GangliaConfiguration | To use the shared configuration. Properties of the shared configuration can also be set individually.
@@ -88,6 +89,7 @@ The Ganglia component supports 15 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Ganglia component supports 16 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc b/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
index 88b87a2..fbf7409 100644
--- a/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
+++ b/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
@@ -41,13 +41,14 @@ for this component:
 
 
 
+
 // component options: START
 The Google Calendar component supports 13 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | GoogleCalendarConfiguration | To use the shared configuration. Properties of the shared configuration can also be set individually.
@@ -73,6 +74,7 @@ The Google Calendar component supports 13 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Google Calendar component supports 16 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-google-drive/src/main/docs/google-drive-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-google-drive/src/main/docs/google-drive-component.adoc b/components/camel-google-drive/src/main/docs/google-drive-component.adoc
index faea67a..7a6feeb 100644
--- a/components/camel-google-drive/src/main/docs/google-drive-component.adoc
+++ b/components/camel-google-drive/src/main/docs/google-drive-component.adoc
@@ -66,13 +66,14 @@ GoogleDriveComponent
 
 
 
+
 // component options: START
 The Google Drive component supports 10 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | GoogleDriveConfiguration | To use the shared configuration. Properties of the shared configuration can also be set individually.
@@ -95,6 +96,7 @@ The Google Drive component supports 10 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Google Drive component supports 14 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-google-mail/src/main/docs/google-mail-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-google-mail/src/main/docs/google-mail-component.adoc b/components/camel-google-mail/src/main/docs/google-mail-component.adoc
index dcf6af5..d8f98cb 100644
--- a/components/camel-google-mail/src/main/docs/google-mail-component.adoc
+++ b/components/camel-google-mail/src/main/docs/google-mail-component.adoc
@@ -63,13 +63,14 @@ GoogleMailComponent
 
 
 
+
 // component options: START
 The Google Mail component supports 10 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | GoogleMailConfiguration | To use the shared configuration. Properties of the shared configuration can also be set individually.
@@ -91,6 +92,7 @@ The Google Mail component supports 10 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Google Mail component supports 13 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-guava-eventbus/src/main/docs/guava-eventbus-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-guava-eventbus/src/main/docs/guava-eventbus-component.adoc b/components/camel-guava-eventbus/src/main/docs/guava-eventbus-component.adoc
index dd943fe..037a0c8 100644
--- a/components/camel-guava-eventbus/src/main/docs/guava-eventbus-component.adoc
+++ b/components/camel-guava-eventbus/src/main/docs/guava-eventbus-component.adoc
@@ -49,13 +49,14 @@ Options
 
 
 
+
 // component options: START
 The Guava EventBus component supports 2 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | eventBus | EventBus | To use the given Guava EventBus instance
@@ -67,6 +68,7 @@ The Guava EventBus component supports 2 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Guava EventBus component supports 7 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-hazelcast/src/main/docs/hazelcast-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-component.adoc
index f14620d..965b46b 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-component.adoc
@@ -50,13 +50,14 @@ Options
 
 
 
+
 // component options: START
 The Hazelcast component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | hazelcastInstance | HazelcastInstance | The hazelcast instance reference which can be used for hazelcast endpoint. If you don't specify the instance reference camel use the default hazelcast instance from the camel-hazelcast instance.
@@ -68,6 +69,7 @@ The Hazelcast component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Hazelcast component supports 13 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-hbase/src/main/docs/hbase-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-hbase/src/main/docs/hbase-component.adoc b/components/camel-hbase/src/main/docs/hbase-component.adoc
index 7dd398c..68eba60 100644
--- a/components/camel-hbase/src/main/docs/hbase-component.adoc
+++ b/components/camel-hbase/src/main/docs/hbase-component.adoc
@@ -111,13 +111,14 @@ Supported URI options
 
 
 
+
 // component options: START
 The HBase component supports 2 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | configuration | Configuration | To use the shared configuration
@@ -130,6 +131,7 @@ The HBase component supports 2 options which are listed below.
 
 
 
+
 // endpoint options: START
 The HBase component supports 17 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-hdfs/src/main/docs/hdfs-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-hdfs/src/main/docs/hdfs-component.adoc b/components/camel-hdfs/src/main/docs/hdfs-component.adoc
index 41821a2..9a25c52 100644
--- a/components/camel-hdfs/src/main/docs/hdfs-component.adoc
+++ b/components/camel-hdfs/src/main/docs/hdfs-component.adoc
@@ -59,13 +59,14 @@ Options
 
 
 
+
 // component options: START
 The HDFS component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | jAASConfiguration | Configuration | To use the given configuration for security with JAAS.
@@ -78,6 +79,7 @@ The HDFS component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The HDFS component supports 41 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc b/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc
index 5d0ee27..d283911 100644
--- a/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc
+++ b/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc
@@ -57,13 +57,14 @@ Options
 
 
 
+
 // component options: START
 The HDFS2 component supports 1 options which are listed below.
 
 
 
 {% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
+[width="100%",cols="2s,1m,7",options="header"]
 |=======================================================================
 | Name | Java Type | Description
 | jAASConfiguration | Configuration | To use the given configuration for security with JAAS.
@@ -75,6 +76,7 @@ The HDFS2 component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The HDFS2 component supports 41 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-hessian/src/main/docs/hessian-dataformat.adoc
----------------------------------------------------------------------
diff --git a/components/camel-hessian/src/main/docs/hessian-dataformat.adoc b/components/camel-hessian/src/main/docs/hessian-dataformat.adoc
new file mode 100644
index 0000000..72997b7
--- /dev/null
+++ b/components/camel-hessian/src/main/docs/hessian-dataformat.adoc
@@ -0,0 +1,42 @@
+[[hessian-HessianDataFormat]]
+Hessian DataFormat
+~~~~~~~~~~~~~~~~~~
+
+Hessian is Data Format for marshalling and unmarshalling messages using Caucho's Hessian format.
+
+If you want to use Hessian Data Format from Maven, add the following dependency to your `pom.xml`:
+
+[source,xml]
+------------------------------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-hessian</artifactId>
+    <version>x.x.x</version>
+    <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------
+
+
+[[hessian-UsingHessianDataFormat]]
+Using the Hessian data format in Java DSL
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+[source,java]
+--------------------------------------------------------------------------------
+    from("direct:in")
+        .marshal().hessian();
+--------------------------------------------------------------------------------
+
+[[hessian-UsingHessianDataFormatXml]]
+Using the Hessian data format in Spring DSL
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+[source,xml]
+--------------------------------------------------------------------------------
+    <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
+        <route>
+            <from uri="direct:in"/>
+            <marshal ref="hessian"/>
+        </route>
+    </camelContext>
+--------------------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-hessian/src/main/docs/hessian.adoc
----------------------------------------------------------------------
diff --git a/components/camel-hessian/src/main/docs/hessian.adoc b/components/camel-hessian/src/main/docs/hessian.adoc
deleted file mode 100644
index 72997b7..0000000
--- a/components/camel-hessian/src/main/docs/hessian.adoc
+++ /dev/null
@@ -1,42 +0,0 @@
-[[hessian-HessianDataFormat]]
-Hessian DataFormat
-~~~~~~~~~~~~~~~~~~
-
-Hessian is Data Format for marshalling and unmarshalling messages using Caucho's Hessian format.
-
-If you want to use Hessian Data Format from Maven, add the following dependency to your `pom.xml`:
-
-[source,xml]
-------------------------------------------------------------
-<dependency>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>camel-hessian</artifactId>
-    <version>x.x.x</version>
-    <!-- use the same version as your Camel core version -->
-</dependency>
-------------------------------------------------------------
-
-
-[[hessian-UsingHessianDataFormat]]
-Using the Hessian data format in Java DSL
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[source,java]
---------------------------------------------------------------------------------
-    from("direct:in")
-        .marshal().hessian();
---------------------------------------------------------------------------------
-
-[[hessian-UsingHessianDataFormatXml]]
-Using the Hessian data format in Spring DSL
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[source,xml]
---------------------------------------------------------------------------------
-    <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
-        <route>
-            <from uri="direct:in"/>
-            <marshal ref="hessian"/>
-        </route>
-    </camelContext>
---------------------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/96f3710b/components/camel-hl7/src/main/docs/hl7-dataformat.adoc
----------------------------------------------------------------------
diff --git a/components/camel-hl7/src/main/docs/hl7-dataformat.adoc b/components/camel-hl7/src/main/docs/hl7-dataformat.adoc
new file mode 100644
index 0000000..43f12b8
--- /dev/null
+++ b/components/camel-hl7/src/main/docs/hl7-dataformat.adoc
@@ -0,0 +1,582 @@
+[[HL7-HL7Component]]
+HL7 Component
+~~~~~~~~~~~~~
+
+The *HL7* component is used for working with the HL7 MLLP protocol and
+http://www.hl7.org/implement/standards/product_brief.cfm?product_id=185[HL7
+v2 messages] using the http://hl7api.sourceforge.net[HAPI library].
+
+This component supports the following:
+
+* HL7 MLLP codec for link:mina2.html[Mina]
+* HL7 MLLP codec for�link:netty4.html[Netty4] from�*Camel 2.15* onwards
+* link:type-converter.html[Type Converter] from/to HAPI and String
+* HL7 DataFormat using the HAPI library
+* Even more ease-of-use as it's integrated well with the
+link:mina2.html[camel-mina2] component.
+
+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-hl7</artifactId>
+    <version>x.x.x</version>
+    <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------
+
+[[HL7-HL7MLLPprotocol]]
+HL7 MLLP protocol
+^^^^^^^^^^^^^^^^^
+
+HL7 is often used with the HL7 MLLP protocol, which is a text based TCP
+socket based protocol. This component ships with a Mina and Netty4 Codec
+that conforms to the MLLP protocol so you can easily expose an HL7
+listener accepting HL7 requests over the TCP transport layer. To expose
+a HL7 listener service, the link:mina2.html[camel-mina2]�or
+link:netty4.html[camel-netty4] component is used with the
+`HL7MLLPCodec`�(mina2) or `HL7MLLPNettyDecoder/HL7MLLPNettyEncoder`
+(Netty4).
+
+HL7 MLLP codec can be configured as follows:
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Name |Default Value |Description
+
+|`startByte` |`0x0b` |The start byte spanning the HL7 payload.
+
+|`endByte1` |`0x1c` |The first end byte spanning the HL7 payload.
+
+|`endByte2` |`0x0d` |The 2nd end byte spanning the HL7 payload.
+
+|`charset` |JVM Default |The encoding (a
+http://docs.oracle.com/javase/6/docs/api/java/nio/charset/Charset.html[charset
+name]) to use for the codec. If not provided, Camel will use the
+http://docs.oracle.com/javase/6/docs/api/java/nio/charset/Charset.html#defaultCharset()[JVM
+default Charset].
+
+|`produceString` |`true` |*(as of Camel 2.14.1)* If true, the codec creates a string using the
+defined charset. If false, the codec sends a plain byte array into the
+route, so that the HL7 Data Format can determine the actual charset from
+the HL7 message content.
+
+|`convertLFtoCR` |`false` |Will convert `\n` to `\r` (`0x0d`, 13 decimal) as HL7 stipulates `\r` as
+segment terminators. The HAPI library requires the use of `\r`.
+|=======================================================================
+
+[[HL7-ExposinganHL7listenerusingMina]]
+Exposing an HL7 listener using Mina
++++++++++++++++++++++++++++++++++++
+
+In the Spring XML file, we configure a mina2 endpoint to listen for HL7
+requests using TCP on port `8888`:
+
+[source,xml]
+---------------------------------------------------------------------------------------------------
+    <endpoint id="hl7MinaListener" uri="mina2:tcp://localhost:8888?sync=true&amp;codec=#hl7codec"/>
+---------------------------------------------------------------------------------------------------
+
+*sync=true* indicates that this listener is synchronous and therefore
+will return a HL7 response to the caller. The HL7 codec is setup with
+*codec=#hl7codec*. Note that `hl7codec` is just a Spring bean ID, so it
+could be named `mygreatcodecforhl7` or whatever. The codec is also set
+up in the Spring XML file:
+
+[source,xml]
+----------------------------------------------------------------------------
+    <bean id="hl7codec" class="org.apache.camel.component.hl7.HL7MLLPCodec">
+        <property name="charset" value="iso-8859-1"/>
+    </bean>
+----------------------------------------------------------------------------
+
+The endpoint *hl7MinaLlistener* can then be used in a route as a
+consumer, as this Java DSL example illustrates:
+
+[source,java]
+------------------------------------------------------------
+    from("hl7MinaListener").beanRef("patientLookupService");
+------------------------------------------------------------
+
+This is a very simple route that will listen for HL7 and route it to a
+service named *patientLookupService*. This is also Spring bean ID,
+configured in the Spring XML as:
+
+[source,xml]
+---------------------------------------------------------------------------------------------------
+    <bean id="patientLookupService" class="com.mycompany.healthcare.service.PatientLookupService"/>
+---------------------------------------------------------------------------------------------------
+
+The business logic can be implemented in POJO classes that do not depend
+on Camel, as shown here:
+
+[source,java]
+----------------------------------------------------------------------------------------------------
+import ca.uhn.hl7v2.HL7Exception;
+import ca.uhn.hl7v2.model.Message;
+import ca.uhn.hl7v2.model.v24.segment.QRD;
+
+public class PatientLookupService {
+    public Message lookupPatient(Message input) throws HL7Exception {
+        QRD qrd = (QRD)input.get("QRD");
+        String patientId = qrd.getWhoSubjectFilter(0).getIDNumber().getValue();
+
+        // find patient data based on the patient id and create a HL7 model object with the response
+        Message response = ... create and set response data
+        return response
+    }
+----------------------------------------------------------------------------------------------------
+
+[[HL7-ExposinganHL7listenerusingNetty]]
+Exposing an HL7 listener using Netty (available from Camel 2.15 onwards)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+In the Spring XML file, we configure a netty4 endpoint to listen for HL7
+requests using TCP on port `8888`:
+
+[source,xml]
+---------------------------------------------------------------------------------------------------------------------------------
+    <endpoint id="hl7NettyListener" uri="netty4:tcp://localhost:8888?sync=true&amp;encoder=#hl7encoder&amp;decoder=#hl7decoder"/>
+---------------------------------------------------------------------------------------------------------------------------------
+
+*sync=true* indicates that this listener is synchronous and therefore
+will return a HL7 response to the caller. The HL7 codec is setup with
+*encoder=#hl7encoder*and*decoder=#hl7decoder*. Note that `hl7encoder`
+and `hl7decoder` are just bean IDs, so they could be named differently.
+The beans can be set in the Spring XML file:
+
+[source,xml]
+---------------------------------------------------------------------------------------------
+    <bean id="hl7decoder" class="org.apache.camel.component.hl7.HL7MLLPNettyDecoderFactory"/>
+�   <bean id="hl7encoder" class="org.apache.camel.component.hl7.HL7MLLPNettyEncoderFactory"/>
+---------------------------------------------------------------------------------------------
+
+The endpoint *hl7NettyListener* can then be used in a route as a
+consumer, as this Java DSL example illustrates:
+
+[source,java]
+-------------------------------------------------------------
+    from("hl7NettyListener").beanRef("patientLookupService");
+-------------------------------------------------------------
+
+[[HL7-HL7Modelusingjava.lang.Stringorbyte]]
+HL7 Model using java.lang.String or byte[]
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The HL7 MLLP codec uses plain String as its data format. Camel uses its
+link:type-converter.html[Type Converter] to convert to/from strings to
+the HAPI HL7 model objects, but you can use the plain String objects if
+you prefer, for instance if you wish to parse the data yourself.
+
+As of Camel 2.14.1 you can also let both the Mina and Netty codecs use a
+plain�`byte[]` as its data format by setting the `produceString`
+property to false. The Type Converter is also capable of converting
+the�`byte[]` to/from HAPI HL7 model objects.
+
+[[HL7-HL7v2ModelusingHAPI]]
+HL7v2 Model using HAPI
+^^^^^^^^^^^^^^^^^^^^^^
+
+The HL7v2 model uses Java objects from the HAPI library. Using this
+library, you can encode and decode from the EDI format (ER7) that is
+mostly used with HL7v2.
+
+The sample below is a request to lookup a patient with the patient ID
+`0101701234`.
+
+[source,java]
+-----------------------------------------------------------------------------
+MSH|^~\\&|MYSENDER|MYRECEIVER|MYAPPLICATION||200612211200||QRY^A19|1234|P|2.4
+QRD|200612211200|R|I|GetPatient|||1^RD|0101701234|DEM||
+-----------------------------------------------------------------------------
+
+Using the HL7 model you can work with a `ca.uhn.hl7v2.model.Message`
+object, e.g. to retrieve a patient ID:
+
+[source,java]
+--------------------------------------------------------------------------------------
+Message msg = exchange.getIn().getBody(Message.class);
+QRD qrd = (QRD)msg.get("QRD");
+String patientId = qrd.getWhoSubjectFilter(0).getIDNumber().getValue();  // 0101701234
+--------------------------------------------------------------------------------------
+
+This is powerful when combined with the HL7 listener, because you don't
+have to work with `byte[]`, `String` or any other simple object formats.
+You can just use the HAPI HL7v2 model objects. If you know the message
+type in advance, you can be more type-safe:
+
+[source,java]
+--------------------------------------------------------------------------------
+QRY_A19 msg = exchange.getIn().getBody(QRY_A19.class);
+String patientId = msg.getQRD().getWhoSubjectFilter(0).getIDNumber().getValue();
+--------------------------------------------------------------------------------
+
+[[HL7-HL7DataFormat]]
+HL7 DataFormat
+^^^^^^^^^^^^^^
+
+The link:hl7.html[HL7] component ships with a HL7 data format that can
+be used to marshal or unmarshal HL7 model objects.
+
+* `marshal` = from Message to byte stream (can be used when responding
+using the HL7 MLLP codec)
+* `unmarshal` = from byte stream to Message (can be used when receiving
+streamed data from the HL7 MLLP
+
+To use the data format, simply instantiate an instance and invoke the
+marshal or unmarshal operation in the route builder:
+
+[source,java]
+-----------------------------------------------------------
+  DataFormat hl7 = new HL7DataFormat();
+  ...
+  from("direct:hl7in").marshal(hl7).to("jms:queue:hl7out");
+-----------------------------------------------------------
+
+In the sample above, the HL7 is marshalled from a HAPI Message object to
+a byte stream and put on a JMS queue. +
+ The next example is the opposite:
+
+[source,java]
+---------------------------------------------------------------------
+  DataFormat hl7 = new HL7DataFormat();
+  ...
+  from("jms:queue:hl7out").unmarshal(hl7).to("patientLookupService");
+---------------------------------------------------------------------
+
+Here we unmarshal the byte stream into a HAPI Message object that is
+passed to our patient lookup service.
+
+*Serializable messages*
+
+As of HAPI 2.0 (used by *Camel 2.11*), the HL7v2 model classes are fully
+serializable. So you can put HL7v2 messages directly into a JMS queue
+(i.e. without calling `marshal()` and read them again directly from the
+queue (i.e. without calling `unmarshal()`.
+
+*Segment separators*
+
+As of *Camel 2.11*, `unmarshal` does not automatically fix segment
+separators anymore by converting `\n` to `\r`. If you  +
+ need this conversion,
+`org.apache.camel.component.hl7.HL7#convertLFToCR` provides a handy
+`Expression` for this purpose.
+
+
+*Charset*
+
+As of *Camel 2.14.1*, both `marshal and unmarshal` evaluate the charset
+provided in the field�`MSH-18`. If this field is empty, by default the
+charset contained in the corresponding Camel charset property/header is
+assumed. You can even change this default behavior by overriding the
+`guessCharsetName` method when inheriting from the `HL7DataFormat`
+class.
+
+�
+
+There is a shorthand syntax in Camel for well-known data formats that
+are commonly used. Then you don't need to create an instance of the `HL7DataFormat`
+object:
+
+[source,java]
+------------------------------------------------------------------------
+  from("direct:hl7in").marshal().hl7().to("jms:queue:hl7out");
+  from("jms:queue:hl7out").unmarshal().hl7().to("patientLookupService");
+------------------------------------------------------------------------
+
+[[HL7-MessageHeaders]]
+Message Headers
+^^^^^^^^^^^^^^^
+
+The unmarshal operation adds these fields from the MSH segment as
+headers on the Camel message:
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Key |MSH field |Example
+
+|`CamelHL7SendingApplication` |`MSH-3` |`MYSERVER`
+
+|`CamelHL7SendingFacility` |`MSH-4` |`MYSERVERAPP`
+
+|`CamelHL7ReceivingApplication` |`MSH-5` |`MYCLIENT`
+
+|`CamelHL7ReceivingFacility` |`MSH-6` |`MYCLIENTAPP`
+
+|`CamelHL7Timestamp` |`MSH-7` |`20071231235900`
+
+|`CamelHL7Security` |`MSH-8` |`null`
+
+|`CamelHL7MessageType` |`MSH-9-1` |`ADT`
+
+|`CamelHL7TriggerEvent` |`MSH-9-2` |`A01`
+
+|`CamelHL7MessageControl` |`MSH-10` |`1234`
+
+|`CamelHL7ProcessingId` |`MSH-11` |`P`
+
+|`CamelHL7VersionId` |`MSH-12` |`2.4`
+
+|`CamelHL7Context |`` |` *(Camel 2.14)* contains the
+http://hl7api.sourceforge.net/base/apidocs/ca/uhn/hl7v2/HapiContext.html[HapiContext]
+that was used to parse the message
+
+|`CamelHL7Charset` |`MSH-18` |*(Camel 2.14.1)* `UNICODE UTF-8`
+|=======================================================================
+
+All headers except�`CamelHL7Context `are `String` types. If a header
+value is missing, its value is `null`.
+
+[[HL7-Options]]
+Options
+^^^^^^^
+
+The HL7 Data Format supports the following options:
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Option |Default |Description
+
+|`validate` |true |Whether the HAPI Parser should validate the message using the default
+validation rules. It is recommended to use the `parser` or `hapiContext`
+option and initialize it with the desired HAPI
+http://hl7api.sourceforge.net/base/apidocs/ca/uhn/hl7v2/validation/ValidationContext.html[`ValidationContext`]
+
+|`parser` |`ca.uhn.hl7v2.parser.GenericParser` |Custom parser to be used. Must be of type
+http://hl7api.sourceforge.net/base/apidocs/ca/uhn/hl7v2/parser/Parser.html[`ca.uhn.hl7v2.parser.Parser`].
+Note that
+http://hl7api.sourceforge.net/base/apidocs/ca/uhn/hl7v2/parser/GenericParser.html[`GenericParser`]
+also allows to parse XML-encoded HL7v2 messages
+
+|`hapiContext` |`ca.uhn.hl7v2.DefaultHapiContext` |*Camel 2.14:* Custom HAPI context that can define a custom parser,
+custom ValidationContext etc. This gives you full control over the HL7
+parsing and rendering process.
+|=======================================================================
+
+[[HL7-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+To use HL7 in your Camel routes you'll need to add a dependency on
+*camel-hl7* listed above, which implements this data format.
+
+The HAPI library is split into a
+http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-base[base library] and
+several structure libraries, one for each HL7v2 message version:
+
+* http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v21[v2.1
+structures library]
+* http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v22[v2.2
+structures library]
+* http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v23[v2.3
+structures library]
+* http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v231[v2.3.1
+structures library]
+* http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v24[v2.4
+structures library]
+* http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v25[v2.5
+structures library]
+* http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v251[v2.5.1
+structures library]
+* http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v26[v2.6
+structures library]
+
+By default `camel-hl7` only references the HAPI
+http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-base[base library].
+Applications are responsible for including structure libraries
+themselves. For example, if an application works with HL7v2 message
+versions 2.4 and 2.5 then the following dependencies must be added:
+
+[source,xml]
+-----------------------------------------------------------
+<dependency>
+    <groupId>ca.uhn.hapi</groupId>
+    <artifactId>hapi-structures-v24</artifactId>
+    <version>2.2</version>
+    <!-- use the same version as your hapi-base version -->
+</dependency>
+<dependency>
+    <groupId>ca.uhn.hapi</groupId>
+    <artifactId>hapi-structures-v25</artifactId>
+    <version>2.2</version>
+    <!-- use the same version as your hapi-base version -->
+</dependency>
+-----------------------------------------------------------
+
+Alternatively, an OSGi bundle containing the base library, all
+structures libraries and required dependencies (on the bundle classpath)
+can be downloaded from the
+http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-osgi-base[central Maven
+repository].
+
+[source,xml]
+-------------------------------------------
+<dependency>
+    <groupId>ca.uhn.hapi</groupId>
+    <artifactId>hapi-osgi-base</artifactId>
+    <version>2.2</version>
+</dependency>
+-------------------------------------------
+
+[[HL7-Terserlanguage]]
+Terser language
+^^^^^^^^^^^^^^^
+
+http://hl7api.sourceforge.net[HAPI] provides a
+http://hl7api.sourceforge.net/base/apidocs/ca/uhn/hl7v2/util/Terser.html[Terser]
+class that provides access to fields using a commonly used terse
+location specification syntax. The Terser language allows to use this
+syntax to extract values from messages and to use them as expressions
+and predicates for filtering, content-based routing etc.
+
+Sample:
+
+[source,java]
+--------------------------------------------------------------------------------------------------
+import static org.apache.camel.component.hl7.HL7.terser;
+...
+
+   // extract patient ID from field QRD-8 in the QRY_A19 message above and put into message header
+   from("direct:test1")
+      .setHeader("PATIENT_ID",terser("QRD-8(0)-1"))
+      .to("mock:test1");
+
+  �// continue processing if extracted field equals a message header
+   from("direct:test2")
+      .filter(terser("QRD-8(0)-1").isEqualTo(header("PATIENT_ID"))
+      .to("mock:test2");
+--------------------------------------------------------------------------------------------------
+
+[[HL7-HL7Validationpredicate]]
+HL7 Validation predicate
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+Often it is preferable to first parse a HL7v2 message and in a separate
+step validate it against a HAPI
+http://hl7api.sourceforge.net/base/apidocs/ca/uhn/hl7v2/validation/ValidationContext.html[ValidationContext].
+
+Sample:
+
+[source,java]
+----------------------------------------------------------------------
+import static org.apache.camel.component.hl7.HL7.messageConformsTo;
+import ca.uhn.hl7v2.validation.impl.DefaultValidation;
+...
+
+   // Use standard or define your own validation rules
+   ValidationContext defaultContext = new DefaultValidation(); 
+
+   // Throws PredicateValidationException if message does not validate
+   from("direct:test1")
+      .validate(messageConformsTo(defaultContext))
+      .to("mock:test1");
+----------------------------------------------------------------------
+
+[[HL7-HL7ValidationpredicateusingtheHapiContext]]
+HL7 Validation predicate using the HapiContext (Camel 2.14)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The HAPI Context is always configured with a
+http://hl7api.sourceforge.net/base/apidocs/ca/uhn/hl7v2/validation/ValidationContext.html[ValidationContext]
+(or a
+http://hl7api.sourceforge.net/base/apidocs/ca/uhn/hl7v2/validation/builder/ValidationRuleBuilder.html[ValidationRuleBuilder]),
+so you can access the validation rules indirectly. Furthermore, when
+unmarshalling the HL7DataFormat forwards the configured HAPI context in
+the `CamelHL7Context` header, and the validation rules of this context
+can be easily reused:
+
+[source,java]
+----------------------------------------------------------------------------------------------------------------
+import static org.apache.camel.component.hl7.HL7.messageConformsTo;
+import static org.apache.camel.component.hl7.HL7.messageConforms
+...
+
+  HapiContext hapiContext = new DefaultHapiContext();
+  hapiContext.getParserConfiguration().setValidating(false); // don't validate during parsing
+  
+  // customize HapiContext some more ... e.g. enforce that PID-8 in ADT_A01 messages of version 2.4 is not empty
+  ValidationRuleBuilder builder = new ValidationRuleBuilder() {
+      @Override
+      protected void configure() {
+         forVersion(Version.V24)
+              .message("ADT", "A01")
+              .terser("PID-8", not(empty()));
+         }
+      };
+  hapiContext.setValidationRuleBuilder(builder);
+
+  HL7DataFormat hl7 = new HL7DataFormat();
+  hl7.setHapiContext(hapiContext);
+
+  from("direct:test1")
+     .unmarshal(hl7)                // uses the GenericParser returned from the HapiContext
+     .validate(messageConforms())   // uses the validation rules returned from the HapiContext
+                                    // equivalent with .validate(messageConformsTo(hapiContext))
+     // route continues from here
+----------------------------------------------------------------------------------------------------------------
+
+�
+
+[[HL7-HL7Acknowledgementexpression]]
+HL7 Acknowledgement expression
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+A common task in HL7v2 processing is to generate an acknowledgement
+message as response to an incoming HL7v2 message, e.g. based on a
+validation result. The `ack` expression lets us accomplish this very
+elegantly:
+
+[source,java]
+------------------------------------------------------------------------------------------
+import static org.apache.camel.component.hl7.HL7.messageConformsTo;
+import static org.apache.camel.component.hl7.HL7.ack;
+import ca.uhn.hl7v2.validation.impl.DefaultValidation;
+...
+
+  // Use standard or define your own validation rules
+   ValidationContext defaultContext = new DefaultValidation(); 
+
+   from("direct:test1")
+      .onException(Exception.class)
+         .handled(true)
+         .transform(ack()) // auto-generates negative ack because of exception in Exchange
+         .end()
+      .validate(messageConformsTo(defaultContext))
+      // do something meaningful here
+      ...
+      // acknowledgement
+      .transform(ack())
+------------------------------------------------------------------------------------------
+
+[[HL7-MoreSamples]]
+More Samples
+^^^^^^^^^^^^
+
+In the following example, a plain `String` HL7 request is sent to an HL7
+listener that sends back a response:
+
+In the next sample, HL7 requests from the HL7 listener are routed to the
+business logic, which is implemented as plain POJO registered in the
+registry as `hl7service`.
+
+Then the Camel routes using the `RouteBuilder` may look as follows:
+
+Note that by using the HL7 DataFormat the Camel message headers are
+populated with the fields from the MSH segment. The headers are
+particularly useful for filtering or content-based routing as shown in
+the example above.
+
+�
+
+[[HL7-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/96f3710b/components/camel-hl7/src/main/docs/hl7.adoc
----------------------------------------------------------------------
diff --git a/components/camel-hl7/src/main/docs/hl7.adoc b/components/camel-hl7/src/main/docs/hl7.adoc
deleted file mode 100644
index 43f12b8..0000000
--- a/components/camel-hl7/src/main/docs/hl7.adoc
+++ /dev/null
@@ -1,582 +0,0 @@
-[[HL7-HL7Component]]
-HL7 Component
-~~~~~~~~~~~~~
-
-The *HL7* component is used for working with the HL7 MLLP protocol and
-http://www.hl7.org/implement/standards/product_brief.cfm?product_id=185[HL7
-v2 messages] using the http://hl7api.sourceforge.net[HAPI library].
-
-This component supports the following:
-
-* HL7 MLLP codec for link:mina2.html[Mina]
-* HL7 MLLP codec for�link:netty4.html[Netty4] from�*Camel 2.15* onwards
-* link:type-converter.html[Type Converter] from/to HAPI and String
-* HL7 DataFormat using the HAPI library
-* Even more ease-of-use as it's integrated well with the
-link:mina2.html[camel-mina2] component.
-
-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-hl7</artifactId>
-    <version>x.x.x</version>
-    <!-- use the same version as your Camel core version -->
-</dependency>
-------------------------------------------------------------
-
-[[HL7-HL7MLLPprotocol]]
-HL7 MLLP protocol
-^^^^^^^^^^^^^^^^^
-
-HL7 is often used with the HL7 MLLP protocol, which is a text based TCP
-socket based protocol. This component ships with a Mina and Netty4 Codec
-that conforms to the MLLP protocol so you can easily expose an HL7
-listener accepting HL7 requests over the TCP transport layer. To expose
-a HL7 listener service, the link:mina2.html[camel-mina2]�or
-link:netty4.html[camel-netty4] component is used with the
-`HL7MLLPCodec`�(mina2) or `HL7MLLPNettyDecoder/HL7MLLPNettyEncoder`
-(Netty4).
-
-HL7 MLLP codec can be configured as follows:
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Name |Default Value |Description
-
-|`startByte` |`0x0b` |The start byte spanning the HL7 payload.
-
-|`endByte1` |`0x1c` |The first end byte spanning the HL7 payload.
-
-|`endByte2` |`0x0d` |The 2nd end byte spanning the HL7 payload.
-
-|`charset` |JVM Default |The encoding (a
-http://docs.oracle.com/javase/6/docs/api/java/nio/charset/Charset.html[charset
-name]) to use for the codec. If not provided, Camel will use the
-http://docs.oracle.com/javase/6/docs/api/java/nio/charset/Charset.html#defaultCharset()[JVM
-default Charset].
-
-|`produceString` |`true` |*(as of Camel 2.14.1)* If true, the codec creates a string using the
-defined charset. If false, the codec sends a plain byte array into the
-route, so that the HL7 Data Format can determine the actual charset from
-the HL7 message content.
-
-|`convertLFtoCR` |`false` |Will convert `\n` to `\r` (`0x0d`, 13 decimal) as HL7 stipulates `\r` as
-segment terminators. The HAPI library requires the use of `\r`.
-|=======================================================================
-
-[[HL7-ExposinganHL7listenerusingMina]]
-Exposing an HL7 listener using Mina
-+++++++++++++++++++++++++++++++++++
-
-In the Spring XML file, we configure a mina2 endpoint to listen for HL7
-requests using TCP on port `8888`:
-
-[source,xml]
----------------------------------------------------------------------------------------------------
-    <endpoint id="hl7MinaListener" uri="mina2:tcp://localhost:8888?sync=true&amp;codec=#hl7codec"/>
----------------------------------------------------------------------------------------------------
-
-*sync=true* indicates that this listener is synchronous and therefore
-will return a HL7 response to the caller. The HL7 codec is setup with
-*codec=#hl7codec*. Note that `hl7codec` is just a Spring bean ID, so it
-could be named `mygreatcodecforhl7` or whatever. The codec is also set
-up in the Spring XML file:
-
-[source,xml]
-----------------------------------------------------------------------------
-    <bean id="hl7codec" class="org.apache.camel.component.hl7.HL7MLLPCodec">
-        <property name="charset" value="iso-8859-1"/>
-    </bean>
-----------------------------------------------------------------------------
-
-The endpoint *hl7MinaLlistener* can then be used in a route as a
-consumer, as this Java DSL example illustrates:
-
-[source,java]
-------------------------------------------------------------
-    from("hl7MinaListener").beanRef("patientLookupService");
-------------------------------------------------------------
-
-This is a very simple route that will listen for HL7 and route it to a
-service named *patientLookupService*. This is also Spring bean ID,
-configured in the Spring XML as:
-
-[source,xml]
----------------------------------------------------------------------------------------------------
-    <bean id="patientLookupService" class="com.mycompany.healthcare.service.PatientLookupService"/>
----------------------------------------------------------------------------------------------------
-
-The business logic can be implemented in POJO classes that do not depend
-on Camel, as shown here:
-
-[source,java]
-----------------------------------------------------------------------------------------------------
-import ca.uhn.hl7v2.HL7Exception;
-import ca.uhn.hl7v2.model.Message;
-import ca.uhn.hl7v2.model.v24.segment.QRD;
-
-public class PatientLookupService {
-    public Message lookupPatient(Message input) throws HL7Exception {
-        QRD qrd = (QRD)input.get("QRD");
-        String patientId = qrd.getWhoSubjectFilter(0).getIDNumber().getValue();
-
-        // find patient data based on the patient id and create a HL7 model object with the response
-        Message response = ... create and set response data
-        return response
-    }
-----------------------------------------------------------------------------------------------------
-
-[[HL7-ExposinganHL7listenerusingNetty]]
-Exposing an HL7 listener using Netty (available from Camel 2.15 onwards)
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-
-In the Spring XML file, we configure a netty4 endpoint to listen for HL7
-requests using TCP on port `8888`:
-
-[source,xml]
----------------------------------------------------------------------------------------------------------------------------------
-    <endpoint id="hl7NettyListener" uri="netty4:tcp://localhost:8888?sync=true&amp;encoder=#hl7encoder&amp;decoder=#hl7decoder"/>
----------------------------------------------------------------------------------------------------------------------------------
-
-*sync=true* indicates that this listener is synchronous and therefore
-will return a HL7 response to the caller. The HL7 codec is setup with
-*encoder=#hl7encoder*and*decoder=#hl7decoder*. Note that `hl7encoder`
-and `hl7decoder` are just bean IDs, so they could be named differently.
-The beans can be set in the Spring XML file:
-
-[source,xml]
----------------------------------------------------------------------------------------------
-    <bean id="hl7decoder" class="org.apache.camel.component.hl7.HL7MLLPNettyDecoderFactory"/>
-�   <bean id="hl7encoder" class="org.apache.camel.component.hl7.HL7MLLPNettyEncoderFactory"/>
----------------------------------------------------------------------------------------------
-
-The endpoint *hl7NettyListener* can then be used in a route as a
-consumer, as this Java DSL example illustrates:
-
-[source,java]
--------------------------------------------------------------
-    from("hl7NettyListener").beanRef("patientLookupService");
--------------------------------------------------------------
-
-[[HL7-HL7Modelusingjava.lang.Stringorbyte]]
-HL7 Model using java.lang.String or byte[]
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The HL7 MLLP codec uses plain String as its data format. Camel uses its
-link:type-converter.html[Type Converter] to convert to/from strings to
-the HAPI HL7 model objects, but you can use the plain String objects if
-you prefer, for instance if you wish to parse the data yourself.
-
-As of Camel 2.14.1 you can also let both the Mina and Netty codecs use a
-plain�`byte[]` as its data format by setting the `produceString`
-property to false. The Type Converter is also capable of converting
-the�`byte[]` to/from HAPI HL7 model objects.
-
-[[HL7-HL7v2ModelusingHAPI]]
-HL7v2 Model using HAPI
-^^^^^^^^^^^^^^^^^^^^^^
-
-The HL7v2 model uses Java objects from the HAPI library. Using this
-library, you can encode and decode from the EDI format (ER7) that is
-mostly used with HL7v2.
-
-The sample below is a request to lookup a patient with the patient ID
-`0101701234`.
-
-[source,java]
------------------------------------------------------------------------------
-MSH|^~\\&|MYSENDER|MYRECEIVER|MYAPPLICATION||200612211200||QRY^A19|1234|P|2.4
-QRD|200612211200|R|I|GetPatient|||1^RD|0101701234|DEM||
------------------------------------------------------------------------------
-
-Using the HL7 model you can work with a `ca.uhn.hl7v2.model.Message`
-object, e.g. to retrieve a patient ID:
-
-[source,java]
---------------------------------------------------------------------------------------
-Message msg = exchange.getIn().getBody(Message.class);
-QRD qrd = (QRD)msg.get("QRD");
-String patientId = qrd.getWhoSubjectFilter(0).getIDNumber().getValue();  // 0101701234
---------------------------------------------------------------------------------------
-
-This is powerful when combined with the HL7 listener, because you don't
-have to work with `byte[]`, `String` or any other simple object formats.
-You can just use the HAPI HL7v2 model objects. If you know the message
-type in advance, you can be more type-safe:
-
-[source,java]
---------------------------------------------------------------------------------
-QRY_A19 msg = exchange.getIn().getBody(QRY_A19.class);
-String patientId = msg.getQRD().getWhoSubjectFilter(0).getIDNumber().getValue();
---------------------------------------------------------------------------------
-
-[[HL7-HL7DataFormat]]
-HL7 DataFormat
-^^^^^^^^^^^^^^
-
-The link:hl7.html[HL7] component ships with a HL7 data format that can
-be used to marshal or unmarshal HL7 model objects.
-
-* `marshal` = from Message to byte stream (can be used when responding
-using the HL7 MLLP codec)
-* `unmarshal` = from byte stream to Message (can be used when receiving
-streamed data from the HL7 MLLP
-
-To use the data format, simply instantiate an instance and invoke the
-marshal or unmarshal operation in the route builder:
-
-[source,java]
------------------------------------------------------------
-  DataFormat hl7 = new HL7DataFormat();
-  ...
-  from("direct:hl7in").marshal(hl7).to("jms:queue:hl7out");
------------------------------------------------------------
-
-In the sample above, the HL7 is marshalled from a HAPI Message object to
-a byte stream and put on a JMS queue. +
- The next example is the opposite:
-
-[source,java]
----------------------------------------------------------------------
-  DataFormat hl7 = new HL7DataFormat();
-  ...
-  from("jms:queue:hl7out").unmarshal(hl7).to("patientLookupService");
----------------------------------------------------------------------
-
-Here we unmarshal the byte stream into a HAPI Message object that is
-passed to our patient lookup service.
-
-*Serializable messages*
-
-As of HAPI 2.0 (used by *Camel 2.11*), the HL7v2 model classes are fully
-serializable. So you can put HL7v2 messages directly into a JMS queue
-(i.e. without calling `marshal()` and read them again directly from the
-queue (i.e. without calling `unmarshal()`.
-
-*Segment separators*
-
-As of *Camel 2.11*, `unmarshal` does not automatically fix segment
-separators anymore by converting `\n` to `\r`. If you  +
- need this conversion,
-`org.apache.camel.component.hl7.HL7#convertLFToCR` provides a handy
-`Expression` for this purpose.
-
-
-*Charset*
-
-As of *Camel 2.14.1*, both `marshal and unmarshal` evaluate the charset
-provided in the field�`MSH-18`. If this field is empty, by default the
-charset contained in the corresponding Camel charset property/header is
-assumed. You can even change this default behavior by overriding the
-`guessCharsetName` method when inheriting from the `HL7DataFormat`
-class.
-
-�
-
-There is a shorthand syntax in Camel for well-known data formats that
-are commonly used. Then you don't need to create an instance of the `HL7DataFormat`
-object:
-
-[source,java]
-------------------------------------------------------------------------
-  from("direct:hl7in").marshal().hl7().to("jms:queue:hl7out");
-  from("jms:queue:hl7out").unmarshal().hl7().to("patientLookupService");
-------------------------------------------------------------------------
-
-[[HL7-MessageHeaders]]
-Message Headers
-^^^^^^^^^^^^^^^
-
-The unmarshal operation adds these fields from the MSH segment as
-headers on the Camel message:
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Key |MSH field |Example
-
-|`CamelHL7SendingApplication` |`MSH-3` |`MYSERVER`
-
-|`CamelHL7SendingFacility` |`MSH-4` |`MYSERVERAPP`
-
-|`CamelHL7ReceivingApplication` |`MSH-5` |`MYCLIENT`
-
-|`CamelHL7ReceivingFacility` |`MSH-6` |`MYCLIENTAPP`
-
-|`CamelHL7Timestamp` |`MSH-7` |`20071231235900`
-
-|`CamelHL7Security` |`MSH-8` |`null`
-
-|`CamelHL7MessageType` |`MSH-9-1` |`ADT`
-
-|`CamelHL7TriggerEvent` |`MSH-9-2` |`A01`
-
-|`CamelHL7MessageControl` |`MSH-10` |`1234`
-
-|`CamelHL7ProcessingId` |`MSH-11` |`P`
-
-|`CamelHL7VersionId` |`MSH-12` |`2.4`
-
-|`CamelHL7Context |`` |` *(Camel 2.14)* contains the
-http://hl7api.sourceforge.net/base/apidocs/ca/uhn/hl7v2/HapiContext.html[HapiContext]
-that was used to parse the message
-
-|`CamelHL7Charset` |`MSH-18` |*(Camel 2.14.1)* `UNICODE UTF-8`
-|=======================================================================
-
-All headers except�`CamelHL7Context `are `String` types. If a header
-value is missing, its value is `null`.
-
-[[HL7-Options]]
-Options
-^^^^^^^
-
-The HL7 Data Format supports the following options:
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Option |Default |Description
-
-|`validate` |true |Whether the HAPI Parser should validate the message using the default
-validation rules. It is recommended to use the `parser` or `hapiContext`
-option and initialize it with the desired HAPI
-http://hl7api.sourceforge.net/base/apidocs/ca/uhn/hl7v2/validation/ValidationContext.html[`ValidationContext`]
-
-|`parser` |`ca.uhn.hl7v2.parser.GenericParser` |Custom parser to be used. Must be of type
-http://hl7api.sourceforge.net/base/apidocs/ca/uhn/hl7v2/parser/Parser.html[`ca.uhn.hl7v2.parser.Parser`].
-Note that
-http://hl7api.sourceforge.net/base/apidocs/ca/uhn/hl7v2/parser/GenericParser.html[`GenericParser`]
-also allows to parse XML-encoded HL7v2 messages
-
-|`hapiContext` |`ca.uhn.hl7v2.DefaultHapiContext` |*Camel 2.14:* Custom HAPI context that can define a custom parser,
-custom ValidationContext etc. This gives you full control over the HL7
-parsing and rendering process.
-|=======================================================================
-
-[[HL7-Dependencies]]
-Dependencies
-^^^^^^^^^^^^
-
-To use HL7 in your Camel routes you'll need to add a dependency on
-*camel-hl7* listed above, which implements this data format.
-
-The HAPI library is split into a
-http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-base[base library] and
-several structure libraries, one for each HL7v2 message version:
-
-* http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v21[v2.1
-structures library]
-* http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v22[v2.2
-structures library]
-* http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v23[v2.3
-structures library]
-* http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v231[v2.3.1
-structures library]
-* http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v24[v2.4
-structures library]
-* http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v25[v2.5
-structures library]
-* http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v251[v2.5.1
-structures library]
-* http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-structures-v26[v2.6
-structures library]
-
-By default `camel-hl7` only references the HAPI
-http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-base[base library].
-Applications are responsible for including structure libraries
-themselves. For example, if an application works with HL7v2 message
-versions 2.4 and 2.5 then the following dependencies must be added:
-
-[source,xml]
------------------------------------------------------------
-<dependency>
-    <groupId>ca.uhn.hapi</groupId>
-    <artifactId>hapi-structures-v24</artifactId>
-    <version>2.2</version>
-    <!-- use the same version as your hapi-base version -->
-</dependency>
-<dependency>
-    <groupId>ca.uhn.hapi</groupId>
-    <artifactId>hapi-structures-v25</artifactId>
-    <version>2.2</version>
-    <!-- use the same version as your hapi-base version -->
-</dependency>
------------------------------------------------------------
-
-Alternatively, an OSGi bundle containing the base library, all
-structures libraries and required dependencies (on the bundle classpath)
-can be downloaded from the
-http://repo1.maven.org/maven2/ca/uhn/hapi/hapi-osgi-base[central Maven
-repository].
-
-[source,xml]
--------------------------------------------
-<dependency>
-    <groupId>ca.uhn.hapi</groupId>
-    <artifactId>hapi-osgi-base</artifactId>
-    <version>2.2</version>
-</dependency>
--------------------------------------------
-
-[[HL7-Terserlanguage]]
-Terser language
-^^^^^^^^^^^^^^^
-
-http://hl7api.sourceforge.net[HAPI] provides a
-http://hl7api.sourceforge.net/base/apidocs/ca/uhn/hl7v2/util/Terser.html[Terser]
-class that provides access to fields using a commonly used terse
-location specification syntax. The Terser language allows to use this
-syntax to extract values from messages and to use them as expressions
-and predicates for filtering, content-based routing etc.
-
-Sample:
-
-[source,java]
---------------------------------------------------------------------------------------------------
-import static org.apache.camel.component.hl7.HL7.terser;
-...
-
-   // extract patient ID from field QRD-8 in the QRY_A19 message above and put into message header
-   from("direct:test1")
-      .setHeader("PATIENT_ID",terser("QRD-8(0)-1"))
-      .to("mock:test1");
-
-  �// continue processing if extracted field equals a message header
-   from("direct:test2")
-      .filter(terser("QRD-8(0)-1").isEqualTo(header("PATIENT_ID"))
-      .to("mock:test2");
---------------------------------------------------------------------------------------------------
-
-[[HL7-HL7Validationpredicate]]
-HL7 Validation predicate
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-Often it is preferable to first parse a HL7v2 message and in a separate
-step validate it against a HAPI
-http://hl7api.sourceforge.net/base/apidocs/ca/uhn/hl7v2/validation/ValidationContext.html[ValidationContext].
-
-Sample:
-
-[source,java]
-----------------------------------------------------------------------
-import static org.apache.camel.component.hl7.HL7.messageConformsTo;
-import ca.uhn.hl7v2.validation.impl.DefaultValidation;
-...
-
-   // Use standard or define your own validation rules
-   ValidationContext defaultContext = new DefaultValidation(); 
-
-   // Throws PredicateValidationException if message does not validate
-   from("direct:test1")
-      .validate(messageConformsTo(defaultContext))
-      .to("mock:test1");
-----------------------------------------------------------------------
-
-[[HL7-HL7ValidationpredicateusingtheHapiContext]]
-HL7 Validation predicate using the HapiContext (Camel 2.14)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-The HAPI Context is always configured with a
-http://hl7api.sourceforge.net/base/apidocs/ca/uhn/hl7v2/validation/ValidationContext.html[ValidationContext]
-(or a
-http://hl7api.sourceforge.net/base/apidocs/ca/uhn/hl7v2/validation/builder/ValidationRuleBuilder.html[ValidationRuleBuilder]),
-so you can access the validation rules indirectly. Furthermore, when
-unmarshalling the HL7DataFormat forwards the configured HAPI context in
-the `CamelHL7Context` header, and the validation rules of this context
-can be easily reused:
-
-[source,java]
-----------------------------------------------------------------------------------------------------------------
-import static org.apache.camel.component.hl7.HL7.messageConformsTo;
-import static org.apache.camel.component.hl7.HL7.messageConforms
-...
-
-  HapiContext hapiContext = new DefaultHapiContext();
-  hapiContext.getParserConfiguration().setValidating(false); // don't validate during parsing
-  
-  // customize HapiContext some more ... e.g. enforce that PID-8 in ADT_A01 messages of version 2.4 is not empty
-  ValidationRuleBuilder builder = new ValidationRuleBuilder() {
-      @Override
-      protected void configure() {
-         forVersion(Version.V24)
-              .message("ADT", "A01")
-              .terser("PID-8", not(empty()));
-         }
-      };
-  hapiContext.setValidationRuleBuilder(builder);
-
-  HL7DataFormat hl7 = new HL7DataFormat();
-  hl7.setHapiContext(hapiContext);
-
-  from("direct:test1")
-     .unmarshal(hl7)                // uses the GenericParser returned from the HapiContext
-     .validate(messageConforms())   // uses the validation rules returned from the HapiContext
-                                    // equivalent with .validate(messageConformsTo(hapiContext))
-     // route continues from here
-----------------------------------------------------------------------------------------------------------------
-
-�
-
-[[HL7-HL7Acknowledgementexpression]]
-HL7 Acknowledgement expression
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-A common task in HL7v2 processing is to generate an acknowledgement
-message as response to an incoming HL7v2 message, e.g. based on a
-validation result. The `ack` expression lets us accomplish this very
-elegantly:
-
-[source,java]
-------------------------------------------------------------------------------------------
-import static org.apache.camel.component.hl7.HL7.messageConformsTo;
-import static org.apache.camel.component.hl7.HL7.ack;
-import ca.uhn.hl7v2.validation.impl.DefaultValidation;
-...
-
-  // Use standard or define your own validation rules
-   ValidationContext defaultContext = new DefaultValidation(); 
-
-   from("direct:test1")
-      .onException(Exception.class)
-         .handled(true)
-         .transform(ack()) // auto-generates negative ack because of exception in Exchange
-         .end()
-      .validate(messageConformsTo(defaultContext))
-      // do something meaningful here
-      ...
-      // acknowledgement
-      .transform(ack())
-------------------------------------------------------------------------------------------
-
-[[HL7-MoreSamples]]
-More Samples
-^^^^^^^^^^^^
-
-In the following example, a plain `String` HL7 request is sent to an HL7
-listener that sends back a response:
-
-In the next sample, HL7 requests from the HL7 listener are routed to the
-business logic, which is implemented as plain POJO registered in the
-registry as `hl7service`.
-
-Then the Camel routes using the `RouteBuilder` may look as follows:
-
-Note that by using the HL7 DataFormat the Camel message headers are
-populated with the fields from the MSH segment. The headers are
-particularly useful for filtering or content-based routing as shown in
-the example above.
-
-�
-
-[[HL7-SeeAlso]]
-See Also
-^^^^^^^^
-
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
-