Repository: camel
Updated Branches:
  refs/heads/master d6bcef78a -> 0be929fe8


Component docs. Allow to make build fail fast so we can easier see which 
components have adoc problems.


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

Branch: refs/heads/master
Commit: 0be929fe890f8593cb6a59a9bb2ae48ba4de8cd8
Parents: d6bcef7
Author: Claus Ibsen <davscl...@apache.org>
Authored: Tue Sep 6 14:44:32 2016 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Tue Sep 6 14:44:32 2016 +0200

----------------------------------------------------------------------
 .../src/main/docs/base64-dataformat.adoc        |  18 +-
 .../src/main/docs/castor-dataformat.adoc        |  22 +-
 .../src/main/docs/crypto-dataformat.adoc        | 295 +++++++++++++++++++
 .../src/main/docs/pgp-dataformat.adoc           |  13 +-
 .../camel-csv/src/main/docs/csv-dataformat.adoc | 148 +++-------
 .../src/main/docs/docker-component.adoc         | 221 +++++---------
 .../src/main/docs/dozer-component.adoc          |  46 ++-
 .../src/main/docs/jaxb-dataformat.adoc          |  33 +++
 .../src/main/docs/servlet-component.adoc        |  62 ++--
 components/pom.xml                              |   4 +
 .../maven/packaging/PrepareCatalogMojo.java     |   2 -
 .../maven/packaging/ReadmeComponentMojo.java    |  32 ++
 12 files changed, 575 insertions(+), 321 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/0be929fe/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
index dec53c5..f0d76cd 100644
--- a/components/camel-base64/src/main/docs/base64-dataformat.adoc
+++ b/components/camel-base64/src/main/docs/base64-dataformat.adoc
@@ -10,11 +10,21 @@ http://en.wikipedia.org/wiki/Base64[base64 encoding and 
decoding].
 Options
 ^^^^^^^
 
-// component options: START
-// component options: END
+// dataformat options: START
+The Base64 dataformat supports 3 options which are listed below.
 
-// endpoint options: START
-// endpoint options: END
+
+
+{% raw %}
+[width="100%",cols="2s,1m,1m,6",options="header"]
+|=======================================================================
+| Name | Default | Java Type | Description
+| lineLength | 76 | Integer | To specific a maximum line length for the 
encoded data. By default 76 is used.
+| lineSeparator | \r\n | String | The line separators to use. By default \r\n 
is used.
+| urlSafe | false | Boolean | Instead of emitting '' and '/' we emit '-' and 
'_' respectively. urlSafe is only applied to encode operations. Decoding 
seamlessly handles both modes. Is by default false.
+|=======================================================================
+{% endraw %}
+// dataformat options: END
 
 In Spring DSL, you configure the data format using this tag:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/0be929fe/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
index f09723d..f649094 100644
--- a/components/camel-castor/src/main/docs/castor-dataformat.adoc
+++ b/components/camel-castor/src/main/docs/castor-dataformat.adoc
@@ -112,11 +112,23 @@ on multiple routes. You have to set the <castor> element 
directly in
 Options
 ^^^^^^^
 
-// component options: START
-// component options: END
-
-// endpoint options: START
-// endpoint options: END
+// dataformat options: START
+The Castor dataformat supports 5 options which are listed below.
+
+
+
+{% raw %}
+[width="100%",cols="2s,1m,1m,6",options="header"]
+|=======================================================================
+| Name | Default | Java Type | Description
+| mappingFile |  | String | Path to a Castor mapping file to load from the 
classpath.
+| validation | true | Boolean | Whether validation is turned on or off. Is by 
default true.
+| encoding | UTF-8 | String | Encoding to use when marshalling an Object to 
XML. Is by default UTF-8
+| packages |  | String[] | Add additional packages to Castor XmlContext
+| classes |  | String[] | Add additional class names to Castor XmlContext
+|=======================================================================
+{% endraw %}
+// dataformat options: END
 
 [[Castor-Dependencies]]
 Dependencies

http://git-wip-us.apache.org/repos/asf/camel/blob/0be929fe/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
----------------------------------------------------------------------
diff --git a/components/camel-crypto/src/main/docs/crypto-dataformat.adoc 
b/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
new file mode 100644
index 0000000..f252e3a
--- /dev/null
+++ b/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
@@ -0,0 +1,295 @@
+[[Crypto-Crypto]]
+Crypto
+~~~~~~
+
+The Crypto link:data-format.html[Data Format] integrates the Java
+Cryptographic Extension into Camel, allowing simple and flexible
+encryption and decryption of messages using Camel's familiar marshall
+and unmarshal formatting mechanism. It assumes marshalling to mean
+encryption to cyphertext and unmarshalling to mean decryption back to
+the original plaintext. This data format implements only symmetric
+(shared-key) encryption and decyption.
+
+[[Crypto-PGPDataFormatOptions]]
+CryptoDataFormat Options
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+// dataformat options: START
+The Crypto (Java Cryptographic Extension) dataformat supports 9 options which 
are listed below.
+
+
+
+{% raw %}
+[width="100%",cols="2s,1m,1m,6",options="header"]
+|=======================================================================
+| Name | Default | Java Type | Description
+| algorithm | DES/CBC/PKCS5Padding | String | The JCE algorithm name 
indicating the cryptographic algorithm that will be used. Is by default 
DES/CBC/PKCS5Padding.
+| cryptoProvider |  | String | The name of the JCE Security Provider that 
should be used.
+| keyRef |  | String | Refers to the secret key to lookup from the register to 
use.
+| initVectorRef |  | String | Refers to a byte array containing the 
Initialization Vector that will be used to initialize the Cipher.
+| algorithmParameterRef |  | String | A JCE AlgorithmParameterSpec used to 
initialize the Cipher. Will lookup the type using the given name as a 
java.security.spec.AlgorithmParameterSpec type.
+| buffersize |  | Integer | The size of the buffer used in the signature 
process.
+| macAlgorithm | HmacSHA1 | String | The JCE algorithm name indicating the 
Message Authentication algorithm.
+| shouldAppendHMAC | false | Boolean | Flag indicating that a Message 
Authentication Code should be calculated and appended to the encrypted data.
+| inline | false | Boolean | Flag indicating that the configured IV should be 
inlined into the encrypted data stream. Is by default false.
+|=======================================================================
+{% endraw %}
+// dataformat options: END
+
+
+[[Basic Usage]]
+Basic Usage
+^^^^^^^^^^^
+
+At its most basic all that is required to encrypt/decrypt an exchange is a 
shared secret key.
+If one or more instances of the Crypto data format are configured with this 
key the format can
+be used to encrypt the payload in one route (or part of one) and decrypted in 
another.
+For example, using the Java DSL as follows:
+
+[source,java]
+----------------------------------------------------------
+KeyGenerator generator = KeyGenerator.getInstance("DES");
+
+CryptoDataFormat cryptoFormat = new CryptoDataFormat("DES", 
generator.generateKey());
+
+from("direct:basic-encryption")
+    .marshal(cryptoFormat)
+    .to("mock:encrypted")
+    .unmarshal(cryptoFormat)
+    .to("mock:unencrypted");
+----------------------------------------------------------
+
+
+In Spring the dataformat is configured first and then used in routes
+
+[source,xml]
+----------------------------------------------------------
+<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring";>
+  <dataFormats>
+    <crypto id="basic" algorithm="DES" keyRef="desKey" />
+  </dataFormats>
+    ...
+  <route>
+    <from uri="direct:basic-encryption" />
+    <marshal ref="basic" />
+    <to uri="mock:encrypted" />
+    <unmarshal ref="basic" />
+    <to uri="mock:unencrypted" />
+  </route>
+</camelContext>
+----------------------------------------------------------
+
+
+Specifying the Encryption Algorithm
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Changing the algorithm is a matter of supplying the JCE algorithm name. If you 
change the algorithm you will need to use a compatible key.
+
+[source,java]
+----------------------------------------------------------
+KeyGenerator generator = KeyGenerator.getInstance("DES");
+
+CryptoDataFormat cryptoFormat = new CryptoDataFormat("DES", 
generator.generateKey());
+cryptoFormat.setShouldAppendHMAC(true);
+cryptoFormat.setMacAlgorithm("HmacMD5");
+
+from("direct:hmac-algorithm")
+    .marshal(cryptoFormat)
+    .to("mock:encrypted")
+    .unmarshal(cryptoFormat)
+    .to("mock:unencrypted");
+----------------------------------------------------------
+
+A list of the available algorithms in Java 7 is available via the Java 
Cryptography Architecture Standard Algorithm Name Documentation.
+
+
+Specifying an Initialization Vector
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Some crypto algorithms, particularly block algorithms, require configuration 
with an initial block of data known as an Initialization Vector.
+In the JCE this is passed as an AlgorithmParameterSpec when the Cipher is 
initialized.
+To use such a vector with the CryptoDataFormat you can configure it with a 
byte[] containing the required data e.g.
+
+[source,java]
+----------------------------------------------------------
+KeyGenerator generator = KeyGenerator.getInstance("DES");
+byte[] initializationVector = new byte[] {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 
0x06, 0x07};
+
+CryptoDataFormat cryptoFormat = new CryptoDataFormat("DES/CBC/PKCS5Padding", 
generator.generateKey());
+cryptoFormat.setInitializationVector(initializationVector);
+
+from("direct:init-vector")
+    .marshal(cryptoFormat)
+    .to("mock:encrypted")
+    .unmarshal(cryptoFormat)
+    .to("mock:unencrypted");
+----------------------------------------------------------
+
+or with spring, suppling a reference to a byte[]
+
+[source,xml]
+----------------------------------------------------------
+<crypto id="initvector" algorithm="DES/CBC/PKCS5Padding" keyRef="desKey" 
initVectorRef="initializationVector" />
+----------------------------------------------------------
+
+The same vector is required in both the encryption and decryption phases. As 
it is not necessary to keep the IV a secret,
+the DataFormat allows for it to be inlined into the encrypted data and 
subsequently read out in the decryption
+phase to initialize the Cipher. To inline the IV set the /oinline flag.
+
+
+[source,java]
+----------------------------------------------------------
+KeyGenerator generator = KeyGenerator.getInstance("DES");
+byte[] initializationVector = new byte[] {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 
0x06, 0x07};
+SecretKey key = generator.generateKey();
+
+CryptoDataFormat cryptoFormat = new CryptoDataFormat("DES/CBC/PKCS5Padding", 
key);
+cryptoFormat.setInitializationVector(initializationVector);
+cryptoFormat.setShouldInlineInitializationVector(true);
+CryptoDataFormat decryptFormat = new CryptoDataFormat("DES/CBC/PKCS5Padding", 
key);
+decryptFormat.setShouldInlineInitializationVector(true);
+
+from("direct:inline")
+    .marshal(cryptoFormat)
+    .to("mock:encrypted")
+    .unmarshal(decryptFormat)
+    .to("mock:unencrypted");
+----------------------------------------------------------
+
+or with spring.
+
+[source,xml]
+----------------------------------------------------------
+<crypto id="inline" algorithm="DES/CBC/PKCS5Padding" keyRef="desKey" 
initVectorRef="initializationVector"
+  inline="true" />
+<crypto id="inline-decrypt" algorithm="DES/CBC/PKCS5Padding" keyRef="desKey" 
inline="true" />
+----------------------------------------------------------
+
+For more information of the use of Initialization Vectors, consult
+
+* http://en.wikipedia.org/wiki/Initialization_vector
+* http://www.herongyang.com/Cryptography/
+* http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation
+
+
+Hashed Message Authentication Codes (HMAC)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+To avoid attacks against the encrypted data while it is in transit the 
CryptoDataFormat can also calculate a Message Authentication
+Code for the encrypted exchange contents based on a configurable MAC 
algorithm. The calculated HMAC is appended to the stream after encryption.
+It is separated from the stream in the decryption phase. The MAC is 
recalculated and verified against the transmitted version to insure nothing
+was tampered with in transit.For more information on Message Authentication 
Codes see http://en.wikipedia.org/wiki/HMAC
+
+[source,java]
+----------------------------------------------------------
+KeyGenerator generator = KeyGenerator.getInstance("DES");
+
+CryptoDataFormat cryptoFormat = new CryptoDataFormat("DES", 
generator.generateKey());
+cryptoFormat.setShouldAppendHMAC(true);
+
+from("direct:hmac")
+    .marshal(cryptoFormat)
+    .to("mock:encrypted")
+    .unmarshal(cryptoFormat)
+    .to("mock:unencrypted");
+----------------------------------------------------------
+
+or with spring.
+
+[source,xml]
+----------------------------------------------------------
+<crypto id="hmac" algorithm="DES" keyRef="desKey" shouldAppendHMAC="true" />
+----------------------------------------------------------
+
+By default the HMAC is calculated using the HmacSHA1 mac algorithm though this 
can be easily changed by supplying a different algorithm name.
+See here for how to check what algorithms are available through the configured 
security providers
+
+[source,java]
+----------------------------------------------------------
+KeyGenerator generator = KeyGenerator.getInstance("DES");
+
+CryptoDataFormat cryptoFormat = new CryptoDataFormat("DES", 
generator.generateKey());
+cryptoFormat.setShouldAppendHMAC(true);
+cryptoFormat.setMacAlgorithm("HmacMD5");
+
+from("direct:hmac-algorithm")
+    .marshal(cryptoFormat)
+    .to("mock:encrypted")
+    .unmarshal(cryptoFormat)
+    .to("mock:unencrypted");
+----------------------------------------------------------
+
+or with spring.
+
+[source,xml]
+----------------------------------------------------------
+<crypto id="hmac-algorithm" algorithm="DES" keyRef="desKey" 
macAlgorithm="HmacMD5" shouldAppendHMAC="true" />
+----------------------------------------------------------
+
+
+Supplying Keys Dynamically
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+When using a Recipient list or similar EIP the recipient of an exchange can 
vary dynamically.
+Using the same key across all recipients may neither be feasible or desirable. 
It would be useful to be able to specify
+keys dynamically on a per exchange basis. The exchange could then be 
dynamically enriched with the key of its target
+recipient before being processed by the data format. To facilitate this the 
DataFormat allow for keys to be supplied
+dynamically via the message headers below
+
+* CryptoDataFormat.KEY "CamelCryptoKey"
+
+[source,java]
+----------------------------------------------------------
+CryptoDataFormat cryptoFormat = new CryptoDataFormat("DES", null);
+/**
+ * Note: the header containing the key should be cleared after
+ * marshalling to stop it from leaking by accident and
+ * potentially being compromised. The processor version below is
+ * arguably better as the key is left in the header when you use
+ * the DSL leaks the fact that camel encryption was used.
+ */
+from("direct:key-in-header-encrypt")
+    .marshal(cryptoFormat)
+    .removeHeader(CryptoDataFormat.KEY)
+    .to("mock:encrypted");
+
+from("direct:key-in-header-decrypt").unmarshal(cryptoFormat).process(new 
Processor() {
+    public void process(Exchange exchange) throws Exception {
+        exchange.getIn().getHeaders().remove(CryptoDataFormat.KEY);
+        exchange.getOut().copyFrom(exchange.getIn());
+    }
+}).to("mock:unencrypted");
+----------------------------------------------------------
+
+or with spring.
+
+[source,xml]
+----------------------------------------------------------
+<crypto id="nokey" algorithm="DES" />
+----------------------------------------------------------
+
+
+[[Crypto-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+To use the link:crypto.html[Crypto] 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-crypto</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----------------------------------------------------------
+
+[[Crypto-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:data-format.html[Data Format]
+* link:crypto-digital-signatures.html[Crypto (Digital Signatures)]
+* http://www.bouncycastle.org/java.html[http://www.bouncycastle.org/java.html]
+

http://git-wip-us.apache.org/repos/asf/camel/blob/0be929fe/components/camel-crypto/src/main/docs/pgp-dataformat.adoc
----------------------------------------------------------------------
diff --git a/components/camel-crypto/src/main/docs/pgp-dataformat.adoc 
b/components/camel-crypto/src/main/docs/pgp-dataformat.adoc
index 5918dfe..292395d 100644
--- a/components/camel-crypto/src/main/docs/pgp-dataformat.adoc
+++ b/components/camel-crypto/src/main/docs/pgp-dataformat.adoc
@@ -1,11 +1,8 @@
-[[Crypto-Crypto]]
-Crypto
-~~~~~~
+[[PGP-PGP]]
+PGP
+~~~
 
-*Available as of Camel 2.3* 
-*PGP Available as of Camel 2.9*
-
-The Crypto link:data-format.html[Data Format] integrates the Java
+The PGP link:data-format.html[Data Format] integrates the Java
 Cryptographic Extension into Camel, allowing simple and flexible
 encryption and decryption of messages using Camel's familiar marshall
 and unmarshal formatting mechanism. It assumes marshalling to mean
@@ -328,7 +325,7 @@ signatureKeyFileName, and signatureKeyRing.
 Dependencies
 ^^^^^^^^^^^^
 
-To use the link:crypto.html[Crypto] dataformat in your camel routes you
+To use the PGP dataformat in your camel routes you
 need to add the following dependency to your pom.
 
 [source,xml]

http://git-wip-us.apache.org/repos/asf/camel/blob/0be929fe/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
index 5d56296..b10793a 100644
--- a/components/camel-csv/src/main/docs/csv-dataformat.adoc
+++ b/components/camel-csv/src/main/docs/csv-dataformat.adoc
@@ -7,130 +7,48 @@ 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
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+[[CSV-Options]]
+Options
+^^^^^^^
 
-[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.
+// dataformat options: START
+The CSV dataformat supports 23 options which are listed below.
 
-|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>.
+{% raw %}
+[width="100%",cols="2s,1m,1m,6",options="header"]
 |=======================================================================
-
-[[CSV-AvailableoptionsasofCamel2.15]]
-Available options as of Camel 2.15
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-[width="100%",cols="10%,10%,80%",options="header",]
+| Name | Default | Java Type | Description
+| formatRef |  | String | The reference format to use it will be updated with 
the other format options the default value is CSVFormat.DEFAULT
+| formatName |  | String | The name of the format to use the default value is 
CSVFormat.DEFAULT
+| commentMarkerDisabled | false | Boolean | Disables the comment marker of the 
reference format.
+| commentMarker |  | String | Sets the comment marker of the reference format.
+| delimiter |  | String | Sets the delimiter to use. The default value is 
(comma)
+| escapeDisabled | false | Boolean | Use for disabling using escape character
+| escape |  | String | Sets the escape character to use
+| headerDisabled | false | Boolean | Use for disabling headers
+| header |  | List | To configure the CSV headers
+| allowMissingColumnNames | false | Boolean | Whether to allow missing column 
names.
+| ignoreEmptyLines | false | Boolean | Whether to ignore empty lines.
+| ignoreSurroundingSpaces | false | Boolean | Whether to ignore surrounding 
spaces
+| nullStringDisabled | false | Boolean | Used to disable null strings
+| nullString |  | String | Sets the null string
+| quoteDisabled | false | Boolean | Used to disable quotes
+| quote |  | String | Sets the quote which by default is
+| recordSeparatorDisabled |  | String | Used for disabling record separator
+| recordSeparator |  | String | Sets the record separator (aka new line) which 
by default is \r\n (CRLF)
+| skipHeaderRecord | false | Boolean | Whether to skip the header record in 
the output
+| quoteMode |  | String | Sets the quote mode
+| lazyLoad | false | 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.
+| useMaps | false | Boolean | Whether the unmarshalling should produce maps 
for the lines values instead of lists. It requires to have header (either 
defined or collected).
+| recordConverterRef |  | String | Refers to a custom CsvRecordConverter to 
lookup from the registry to use.
 |=======================================================================
-|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.
+{% endraw %}
+// dataformat options: END
 
-|`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

http://git-wip-us.apache.org/repos/asf/camel/blob/0be929fe/components/camel-docker/src/main/docs/docker-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-docker/src/main/docs/docker-component.adoc 
b/components/camel-docker/src/main/docs/docker-component.adoc
index 04e175e..ee9f289 100644
--- a/components/camel-docker/src/main/docs/docker-component.adoc
+++ b/components/camel-docker/src/main/docs/docker-component.adoc
@@ -11,18 +11,6 @@ https://github.com/docker-java/docker-java[docker-java] via 
the
 https://docs.docker.com/reference/api/docker_remote_api[Docker Remote
 API].
 
-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-docker</artifactId>
-    <version>x.x.x</version>
-    <!-- use the same version as your Camel core version -->
-</dependency>
-------------------------------------------------------------
 
 [[Docker-URIformat]]
 URI format
@@ -35,153 +23,85 @@ docker://[operation]?[options]
 
 Where *operation* is the specific action to perform on Docker.
 
-[[Docker-HeaderStrategy]]
-Header Strategy
-^^^^^^^^^^^^^^^
-
-All URI option can be passed as Header properties. Values found in a
-message header take precedence over URI parameters. A header property
-takes the form of a URI option prefixed with *CamelDocker* as shown
-below
-
-[width="100%",cols="50%,50%",options="header",]
-|=======================================================================
-|URI Option |Header Property
-
-|containerId |CamelDockerContainerId
-|=======================================================================
-
-[[Docker-GeneralOptions]]
+[[Docker-Options]]
 General Options
 ^^^^^^^^^^^^^^^
 
-The following parameters can be used with any invocation of the
-component
+// component options: START
+The Docker component supports 16 options which are listed below.
 
-[width="100%",cols="10%,10%,70%,10%",options="header",]
-|=======================================================================
-|Option |Header |Description |Default Value
 
-|host |CamelDockerHost |*Mandatory:* Docker host |localhost
 
-|port |CamelDockerPort |*Mandatory:* Docker port |2375
-
-|username |CamelDockerUserName |User name to authenticate with |
-
-|password |CamelDockerPassword |Password to authenticate with |
-
-|email |CamelDockerEmail |Email address associated with the user |
-
-|secure |CamelDockerSecure |Use HTTPS communication |false
-
-|requestTimeout |CamelDockerRequestTimeout |Request timeout for response (in 
seconds) |30
-
-|certPath |CamelDockerCertPath |Location containing the SSL certificate chain |
+{% raw %}
+[width="100%",cols="2,1m,7",options="header"]
 |=======================================================================
- 
-
-[[Docker-ConsumerOperations]]
-Consumer Operations
-^^^^^^^^^^^^^^^^^^^
-
-The consumer supports the following operations.
-
-[width="100%",cols="10%,10%,70%,10%",options="header",]
+| Name | Java Type | Description
+| configuration | DockerConfiguration | To use the shared docker 
configuration. Properties of the shared configuration can also be set 
individually.
+| host | String | Docker host
+| port | Integer | Docker port
+| username | String | User name to authenticate with
+| password | String | Password to authenticate with
+| email | String | Email address associated with the user
+| serverAddress | String | Server address for docker registry.
+| requestTimeout | Integer | Request timeout for response (in seconds)
+| secure | boolean | Use HTTPS communication
+| certPath | String | Location containing the SSL certificate chain
+| maxTotalConnections | Integer | Maximum total connections
+| maxPerRouteConnections | Integer | Maximum route connections
+| loggingFilter | boolean | Whether to use logging filter
+| followRedirectFilter | boolean | Whether to follow redirect filter
+| parameters | Map | Additional configuration parameters as key/value pairs
+| operation | DockerOperation | Which operation to use
 |=======================================================================
-|Operation |Options |Description |Produces
+{% endraw %}
+// component options: END
 
-|events |initialRange |Monitor Docker events (Streaming) |Event
-|=======================================================================
 
-[[Docker-ProducerOperations]]
-Producer Operations
-^^^^^^^^^^^^^^^^^^^
+// endpoint options: START
+The Docker component supports 18 endpoint options which are listed below:
 
-The following producer operations are available.
-
-[width="100%",cols="10%,10%,70%,10%",options="header",]
+{% raw %}
+[width="100%",cols="2,1,1m,1m,5",options="header"]
 |=======================================================================
-|Misc Operation |Options |Description |Returns
-
-|auth |  |Check auth configuration |
-
-|info |  |System wide information | Info
-
-|ping |  |Ping the Docker server |
-
-|version |  |Show the docker version information |Version
-
-|=======================================================================
-
-[width="100%",cols="10%,10%,60%,10%,10%",options="header",]
+| Name | Group | Default | Java Type | Description
+| operation | common |  | DockerOperation | *Required* Which operation to use
+| certPath | common |  | String | Location containing the SSL certificate chain
+| email | common |  | String | Email address associated with the user
+| followRedirectFilter | common | false | boolean | Whether to follow redirect 
filter
+| host | common | localhost | String | *Required* Docker host
+| loggingFilter | common | false | boolean | Whether to use logging filter
+| maxPerRouteConnections | common | 100 | Integer | Maximum route connections
+| maxTotalConnections | common | 100 | Integer | Maximum total connections
+| password | common |  | String | Password to authenticate with
+| port | common | 2375 | Integer | *Required* Docker port
+| requestTimeout | common |  | Integer | Request timeout for response (in 
seconds)
+| secure | common | false | boolean | Use HTTPS communication
+| serverAddress | common | https://index.docker.io/v1/ | String | Server 
address for docker registry.
+| username | common |  | String | User name to authenticate with
+| bridgeErrorHandler | consumer | false | boolean | Allows for bridging the 
consumer to the Camel routing Error Handler which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages or the likes will now 
be processed as a message and handled by the routing Error Handler. By default 
the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with 
exceptions that will be logged at WARN/ERROR level and ignored.
+| exceptionHandler | consumer (advanced) |  | ExceptionHandler | To let the 
consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler 
is enabled then this options is not in use. By default the consumer will deal 
with exceptions that will be logged at WARN/ERROR level and ignored.
+| exchangePattern | advanced | InOnly | ExchangePattern | Sets the default 
exchange pattern when creating an exchange
+| synchronous | advanced | false | boolean | Sets whether synchronous 
processing should be strictly used or Camel is allowed to use asynchronous 
processing (if supported).
 |=======================================================================
-|Image Operation |Options |Description |Body Content |Returns
-
-|image/list |filter, showAll |List images |   | List<Image>
+{% endraw %}
+// endpoint options: END
 
-|image/create |*repository* |Create an image |InputStream |CreateImageResponse
-
-|image/build |noCache, quiet, remove, tag |Build an image from Dockerfile via 
stdin |InputStream or File |InputStream
-
-|image/pull |*repository*, registry, tag |Pull an image from the registry |  
| InputStream
-
-|image/push |*name* |Push an image on the registry |  |InputStream 
-
-|image/search |*term* |Search for images |  | List<SearchItem>
-
-|image/remove |*imageId* |Remove an image |  |  
+[[Docker-HeaderStrategy]]
+Header Strategy
+^^^^^^^^^^^^^^^
 
-|image/tag |*imageId, repository, tag, force* |Tag an image into a repository 
|  |
+All URI option can be passed as Header properties. Values found in a
+message header take precedence over URI parameters. A header property
+takes the form of a URI option prefixed with *CamelDocker* as shown
+below
 
-|image/inspect |*imageId* |Inspect an image |  | InspectImageResponse
+[width="100%",cols="50%,50%",options="header",]
 |=======================================================================
+|URI Option |Header Property
 
-
-[width="100%",cols="10%,30%,40%,10%,10%",options="header",]
+|containerId |CamelDockerContainerId
 |=======================================================================
-|Container Operation |Options |Description |Body Content |Returns
-
-|container/list |showSize, showAll, before, since, limit, List containers 
|initialRange |  | List<Container>
-
-|container/create |*imageId*, name, exposedPorts, workingDir, disableNetwork, 
hostname,
-user, tty, stdInOpen, stdInOnce, memoryLimit, memorySwap, cpuShares,
-attachStdIn, attachStdOut, attachStdErr, env, cmd, dns, image,
-volumes, volumesFrom |Create a container |CreateContainerResponse
-
-|container/start |*containerId*, binds, links, lxcConf, portBindings, 
privileged,
-publishAllPorts, dns, dnsSearch, volumesFrom, networkMode, devices, 
restartPolicy, 
-capAdd, capDrop |Start a container |  |
-
-|container/inspect |*containerId* |Inspect a container |  | 
InspectContainerResponse
 
-|container/wait |*containerId* |Wait a container |Integer |
-
-|container/log |*containerId*, stdOut, stdErr, timestamps, followStream, 
tailAll, tail |Get container logs  |  |InputStream
-
-|container/attach |*containerId*, stdOut, stdErr, timestamps, logs, 
followStream |Attach to a container |  |InputStream
-
-|container/stop |*containerId*, timeout |Stop a container |  |
-
-|container/restart |*containerId*, timeout |Restart a container |  |
-
-|container/diff |*containerId* |Inspect changes on a container |  | ChangeLog
-
-|container/kill |*containerId*, signal |Kill a container |  |
-
-|container/top |*containerId*, psArgs |List processes running in a container | 
 | TopContainerResponse
-
-|container/pause |*containerId* |Pause a container |  |
-
-|container/unpause |*containerId* |Unpause a container |  |
-
-|container/commit |*containerId*, repository, message, tag, attachStdIn, 
attachStdOut,
-attachStdErr, cmd, disableNetwork, pause, env, exposedPorts, hostname, memory,
-memorySwap, openStdIn, portSpecs, stdInOnce, tty, user, volumes, hostname 
|Create a new image from a container's changes |String |
-
-|container/copyfile |*containerId*, *resource*, hostPath |Copy files or 
folders from a container |InputStream |
-
-|container/remove |*containerId*, force, removeVolumes |Remove a container | |
-|=======================================================================
 
 [[Docker-Examples]]
 Examples
@@ -194,8 +114,6 @@ The following example consumes events from Docker:
 from("docker://events?host=192.168.59.103&port=2375").to("log:event");
 ----------------------------------------------------------------------
 
- 
-
 The following example queries Docker for system wide information
 
 [source,java]
@@ -203,8 +121,23 @@ The following example queries Docker for system wide 
information
 from("docker://info?host=192.168.59.103&port=2375").to("log:info");
 -------------------------------------------------------------------
 
- 
 
- 
+[[Docker-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+To use Docker in your Camel routes you need to add a dependency on
+*camel-docker*, which implements the component.
 
- 
+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-docker</artifactId>
+  <version>x.x.x</version>
+</dependency>
+-------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/0be929fe/components/camel-dozer/src/main/docs/dozer-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-dozer/src/main/docs/dozer-component.adoc 
b/components/camel-dozer/src/main/docs/dozer-component.adoc
index d75be57..c47b1fb 100644
--- a/components/camel-dozer/src/main/docs/dozer-component.adoc
+++ b/components/camel-dozer/src/main/docs/dozer-component.adoc
@@ -59,35 +59,29 @@ from("direct:orderInput").
 Options
 ^^^^^^^
 
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Name |Default |Description
-
-|`mappingFile` |dozerBeanMapping.xml |The location of a Dozer configuration 
file. The file is loaded from the
-classpath by default, but you can use `file:`,
-`classpath:, or ``http: `to load the configuration from a specific
-location.
-
-|`unmarshalId` |none |The id of a dataFormat defined within the Camel Context 
to use for
-unmarshalling the mapping input from a non-Java type.
+// component options: START
+The Dozer component has no options.
+// component options: END
 
-|`marshalId` |none |The id of a dataFormat defined within the Camel Context to 
use for
-marshalling the mapping output to a non-Java type.
+// endpoint options: START
+The Dozer component supports 9 endpoint options which are listed below:
 
-|`sourceModel` |none |Fully-qualified class name for the source type used in 
the mapping. If
-specified, the input to the mapping is converted to the specified type
-before being mapped with Dozer.
-
-|`targetModel` |none |Fully-qualified class name for the target type used in 
the mapping. This
-option is required.
-
-|`mappingConfiguration` |none |The name of a DozerBeanMapperConfiguration bean 
in the Camel registry
-which should be used for configuring the Dozer mapping. This is an
-alternative to the mappingFile option that can be used for fine-grained
-control over how Dozer is configured. Remember to use a "#" prefix in
-the value to indicate that the bean is in the Camel registry (e.g.
-"#myDozerConfig").
+{% raw %}
+[width="100%",cols="2,1,1m,1m,5",options="header"]
+|=======================================================================
+| Name | Group | Default | Java Type | Description
+| name | producer |  | String | *Required* A human readable name of the 
mapping.
+| mappingConfiguration | producer |  | DozerBeanMapperConfiguration | The name 
of a DozerBeanMapperConfiguration bean in the Camel registry which should be 
used for configuring the Dozer mapping. This is an alternative to the 
mappingFile option that can be used for fine-grained control over how Dozer is 
configured. Remember to use a prefix in the value to indicate that the bean is 
in the Camel registry (e.g. myDozerConfig).
+| mappingFile | producer | dozerBeanMapping.xml | String | The location of a 
Dozer configuration file. The file is loaded from the classpath by default but 
you can use file: classpath: or http: to load the configuration from a specific 
location.
+| marshalId | producer |  | String | The id of a dataFormat defined within the 
Camel Context to use for marshalling the mapping output to a non-Java type.
+| sourceModel | producer |  | String | Fully-qualified class name for the 
source type used in the mapping. If specified the input to the mapping is 
converted to the specified type before being mapped with Dozer.
+| targetModel | producer |  | String | *Required* Fully-qualified class name 
for the target type used in the mapping.
+| unmarshalId | producer |  | String | The id of a dataFormat defined within 
the Camel Context to use for unmarshalling the mapping input from a non-Java 
type.
+| exchangePattern | advanced | InOnly | ExchangePattern | Sets the default 
exchange pattern when creating an exchange
+| synchronous | advanced | false | boolean | Sets whether synchronous 
processing should be strictly used or Camel is allowed to use asynchronous 
processing (if supported).
 |=======================================================================
+{% endraw %}
+// endpoint options: END
 
 [[Dozer-UsingDataFormatswithDozer]]
 Using Data Formats with Dozer

http://git-wip-us.apache.org/repos/asf/camel/blob/0be929fe/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
index 0e7b449..1fe8e36 100644
--- a/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc
+++ b/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc
@@ -7,6 +7,39 @@ 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-Options]]
+Options
+^^^^^^^
+
+// dataformat options: START
+The JAXB dataformat supports 16 options which are listed below.
+
+
+
+{% raw %}
+[width="100%",cols="2s,1m,1m,6",options="header"]
+|=======================================================================
+| Name | Default | Java Type | Description
+| contextPath |  | String | Package name where your JAXB classes are located.
+| schema |  | String | To validate against an existing schema. 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.
+| prettyPrint | false | Boolean | To enable pretty printing output nicely 
formatted. Is by default false.
+| objectFactory | false | Boolean | Whether to allow using ObjectFactory 
classes to create the POJO classes during marshalling. This only applies to 
POJO classes that has not been annotated with JAXB and providing jaxb.index 
descriptor files.
+| ignoreJAXBElement | false | Boolean | Whether to ignore JAXBElement elements 
- only needed to be set to false in very special use-cases.
+| mustBeJAXBElement | false | Boolean | Whether marhsalling must be java 
objects with JAXB annotations. And if not then it fails. This option can be set 
to false to relax that such as when the data is already in XML format.
+| filterNonXmlChars | false | Boolean | To ignore non xml characheters and 
replace them with an empty space.
+| encoding |  | String | To overrule and use a specific encoding
+| fragment | false | Boolean | To turn on marshalling XML fragment trees. 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.
+| partClass |  | String | Name of class used for fragment parsing. See more 
details at the fragment option.
+| partNamespace |  | String | XML namespace to use for fragment parsing. See 
more details at the fragment option.
+| namespacePrefixRef |  | String | When marshalling using JAXB or 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.
+| xmlStreamWriterWrapper |  | String | To use a custom xml stream writer.
+| schemaLocation |  | String | To define the location of the schema
+| noNamespaceSchemaLocation |  | String | To define the location of the 
namespaceless schema
+| jaxbProviderProperties |  | String | Refers to a custom java.util.Map to 
lookup in the registry containing custom JAXB provider properties to be used 
with the JAXB marshaller.
+|=======================================================================
+{% endraw %}
+// dataformat options: END
+
 [[JAXB-UsingtheJavaDSL]]
 Using the Java DSL
 ^^^^^^^^^^^^^^^^^^

http://git-wip-us.apache.org/repos/asf/camel/blob/0be929fe/components/camel-servlet/src/main/docs/servlet-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-servlet/src/main/docs/servlet-component.adoc 
b/components/camel-servlet/src/main/docs/servlet-component.adoc
index 42efe67..4a966de 100644
--- a/components/camel-servlet/src/main/docs/servlet-component.adoc
+++ b/components/camel-servlet/src/main/docs/servlet-component.adoc
@@ -45,29 +45,57 @@ You can append query options to the URI in the following 
format,
 Options
 ^^^^^^^
 
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Name |Default Value |Description
+// component options: START
+The Servlet component supports 7 options which are listed below.
 
-|`httpBindingRef` |`null` |Reference to an 
`org.apache.camel.component.http.HttpBinding` in the
-link:registry.html[Registry]. A `HttpBinding` implementation can be used
-to customize how to write a response.
 
-|`httpBinding` |`null` |*Camel 2.16:* Reference to an
-`org.apache.camel.component.http.HttpBinding` in the
-link:registry.html[Registry]. A `HttpBinding` implementation can be used
-to customize how to write a response.
 
-|`matchOnUriPrefix` |`false` |Whether or not the `CamelServlet` should try to 
find a target consumer
-by matching the URI prefix, if no exact match is found.
+{% raw %}
+[width="100%",cols="2,1m,7",options="header"]
+|=======================================================================
+| Name | Java Type | Description
+| servletName | String | Default name of servlet to use. The default name is 
CamelServlet.
+| httpRegistry | HttpRegistry | To use a custom 
org.apache.camel.component.servlet.HttpRegistry.
+| attachmentMultipartBinding | boolean | Whether to automatic bind 
multipart/form-data as attachments on the Camel Exchange. This is turn off by 
default as this may require servet specific configuration to enable this when 
using Servlet's.
+| httpBinding | HttpBinding | To use a custom HttpBinding to control the 
mapping between Camel message and HttpClient.
+| httpConfiguration | HttpConfiguration | To use the shared HttpConfiguration 
as base configuration.
+| allowJavaSerializedObject | boolean | Whether to allow java serialization 
when a request uses context-type=application/x-java-serialized-object This is 
by default turned off. If you enable this then be aware that Java will 
deserialize the incoming data from the request to Java and that can be a 
potential security risk.
+| headerFilterStrategy | HeaderFilterStrategy | To use a custom 
HeaderFilterStrategy to filter header to and from Camel message.
+|=======================================================================
+{% endraw %}
+// component options: END
 
-|`servletName` |`CamelServlet` |Specifies the servlet name that the servlet 
endpoint will bind to. This
-name should match the name you define in `web.xml` file.
+// endpoint options: START
+The Servlet component supports 21 endpoint options which are listed below:
 
-|`httpMethodRestrict` |`null` |*Camel 2.11:* *Consumer only*: Used to only 
allow consuming if the
-HttpMethod matches, such as GET/POST/PUT etc. From *Camel 2.15*onwards
-multiple methods can be specified separated by comma.
+{% raw %}
+[width="100%",cols="2,1,1m,1m,5",options="header"]
+|=======================================================================
+| Name | Group | Default | Java Type | Description
+| contextPath | consumer |  | String | *Required* The context-path to use
+| disableStreamCache | common | false | boolean | Determines whether or not 
the raw input stream from Servlet is cached or not (Camel will read the stream 
into a in memory/overflow to file Stream caching) cache. By default Camel will 
cache the Servlet input stream to support reading it multiple times to ensure 
it Camel can retrieve all data from the stream. However you can set this option 
to true when you for example need to access the raw stream such as streaming it 
directly to a file or other persistent store. DefaultHttpBinding will copy the 
request input stream into a stream cache and put it into message body if this 
option is false to support reading the stream multiple times. If you use 
Servlet to bridge/proxy an endpoint then consider enabling this option to 
improve performance in case you do not need to read the message payload 
multiple times. The http/http4 producer will by default cache the response body 
stream. If setting this option to true then the producers will not ca
 che the response body stream but use the response stream as-is as the message 
body.
+| async | consumer | false | boolean | Configure the consumer to work in async 
mode
+| bridgeErrorHandler | consumer | false | boolean | Allows for bridging the 
consumer to the Camel routing Error Handler which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages or the likes will now 
be processed as a message and handled by the routing Error Handler. By default 
the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with 
exceptions that will be logged at WARN/ERROR level and ignored.
+| chunked | consumer | true | boolean | If this option is false the Servlet 
will disable the HTTP streaming and set the content-length header on the 
response
+| eagerCheckContentAvailable | consumer | false | boolean | Whether to eager 
check whether the HTTP requests has content if the content-length header is 0 
or not present. This can be turned on in case HTTP clients do not send streamed 
data.
+| headerFilterStrategy | consumer |  | HeaderFilterStrategy | To use a custom 
HeaderFilterStrategy to filter header to and from Camel message.
+| httpBinding | consumer |  | HttpBinding | To use a custom HttpBinding to 
control the mapping between Camel message and HttpClient.
+| httpMethodRestrict | consumer |  | String | Used to only allow consuming if 
the HttpMethod matches such as GET/POST/PUT etc. Multiple methods can be 
specified separated by comma.
+| matchOnUriPrefix | consumer | false | boolean | Whether or not the consumer 
should try to find a target consumer by matching the URI prefix if no exact 
match is found.
+| optionsEnabled | consumer | false | boolean | Specifies whether to enable 
HTTP OPTIONS for this Servlet consumer. By default OPTIONS is turned off.
+| responseBufferSize | consumer |  | Integer | To use a custom buffer size on 
the javax.servlet.ServletResponse.
+| servletName | consumer | CamelServlet | String | Name of the servlet to use
+| traceEnabled | consumer | false | boolean | Specifies whether to enable HTTP 
TRACE for this Servlet consumer. By default TRACE is turned off.
+| transferException | consumer | false | boolean | If enabled and an Exchange 
failed processing on the consumer side and if the caused Exception was send 
back serialized in the response as a application/x-java-serialized-object 
content type. On the producer side the exception will be deserialized and 
thrown as is instead of the HttpOperationFailedException. The caused exception 
is required to be serialized. This is by default turned off. If you enable this 
then be aware that Java will deserialize the incoming data from the request to 
Java and that can be a potential security risk.
+| exceptionHandler | consumer (advanced) |  | ExceptionHandler | To let the 
consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler 
is enabled then this options is not in use. By default the consumer will deal 
with exceptions that will be logged at WARN/ERROR level and ignored.
+| exchangePattern | advanced | InOnly | ExchangePattern | Sets the default 
exchange pattern when creating an exchange
+| mapHttpMessageBody | advanced | true | boolean | If this option is true then 
IN exchange Body of the exchange will be mapped to HTTP body. Setting this to 
false will avoid the HTTP mapping.
+| mapHttpMessageFormUrlEncodedBody | advanced | true | boolean | If this 
option is true then IN exchange Form Encoded body of the exchange will be 
mapped to HTTP. Setting this to false will avoid the HTTP Form Encoded body 
mapping.
+| mapHttpMessageHeaders | advanced | true | boolean | If this option is true 
then IN exchange Headers of the exchange will be mapped to HTTP headers. 
Setting this to false will avoid the HTTP Headers mapping.
+| synchronous | advanced | false | boolean | Sets whether synchronous 
processing should be strictly used or Camel is allowed to use asynchronous 
processing (if supported).
 |=======================================================================
+{% endraw %}
+// endpoint options: END
 
 [[SERVLET-MessageHeaders]]
 Message Headers

http://git-wip-us.apache.org/repos/asf/camel/blob/0be929fe/components/pom.xml
----------------------------------------------------------------------
diff --git a/components/pom.xml b/components/pom.xml
index bdb7f9a..2e301b7 100644
--- a/components/pom.xml
+++ b/components/pom.xml
@@ -281,6 +281,10 @@
         <groupId>org.apache.camel</groupId>
         <artifactId>camel-package-maven-plugin</artifactId>
         <version>${project.version}</version>
+        <configuration>
+            <!-- set to true to make build fail fast if missing documentation 
in docs files -->
+            <failFast>false</failFast>
+        </configuration>
         <executions>
           <execution>
             <id>prepare</id>

http://git-wip-us.apache.org/repos/asf/camel/blob/0be929fe/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
----------------------------------------------------------------------
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
index 7adefaa..ae1ab13 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
@@ -880,8 +880,6 @@ public class PrepareCatalogMojo extends AbstractMojo {
             // special for bindy
             if (dataformat.startsWith("bindy")) {
                 dataformat = "bindy";
-            } else if (dataformat.startsWith("crypto")) {
-                dataformat = "pgp";
             }
             String name = dataformat + "-dataformat";
             if (!docs.contains(name)) {

http://git-wip-us.apache.org/repos/asf/camel/blob/0be929fe/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 227ac11..a7a7599 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
@@ -84,6 +84,13 @@ public class ReadmeComponentMojo extends AbstractMojo {
      */
     private BuildContext buildContext;
 
+    /**
+     * Whether to fail the build fast if any WARNINGS was detected.
+     *
+     * @parameter
+     */
+    protected Boolean failFast;
+
     @Override
     public void execute() throws MojoExecutionException, MojoFailureException {
         executeComponent();
@@ -138,6 +145,9 @@ public class ReadmeComponentMojo extends AbstractMojo {
                         getLog().debug("No changes to doc file: " + file);
                     } else {
                         getLog().warn("No component doc file: " + file);
+                        if (isFailFast()) {
+                            throw new MojoExecutionException("Failed build due 
failFast=true");
+                        }
                     }
                 }
             }
@@ -179,6 +189,9 @@ public class ReadmeComponentMojo extends AbstractMojo {
                         getLog().debug("No changes to doc file: " + file);
                     } else {
                         getLog().warn("No dataformat doc file: " + file);
+                        if (isFailFast()) {
+                            throw new MojoExecutionException("Failed build due 
failFast=true");
+                        }
                     }
                 }
             }
@@ -251,6 +264,9 @@ public class ReadmeComponentMojo extends AbstractMojo {
                         getLog().debug("No changes to doc file: " + file);
                     } else {
                         getLog().warn("No language doc file: " + file);
+                        if (isFailFast()) {
+                            throw new MojoExecutionException("Failed build due 
failFast=true");
+                        }
                     }
                 }
             }
@@ -284,6 +300,9 @@ public class ReadmeComponentMojo extends AbstractMojo {
                 getLog().warn("Add the following markers");
                 getLog().warn("\t// component options: START");
                 getLog().warn("\t// component options: END");
+                if (isFailFast()) {
+                    throw new MojoExecutionException("Failed build due 
failFast=true");
+                }
                 return false;
             }
         } catch (Exception e) {
@@ -318,6 +337,9 @@ public class ReadmeComponentMojo extends AbstractMojo {
                 getLog().warn("Add the following markers");
                 getLog().warn("\t// endpoint options: START");
                 getLog().warn("\t// endpoint options: END");
+                if (isFailFast()) {
+                    throw new MojoExecutionException("Failed build due 
failFast=true");
+                }
                 return false;
             }
         } catch (Exception e) {
@@ -352,6 +374,9 @@ public class ReadmeComponentMojo extends AbstractMojo {
                 getLog().warn("Add the following markers");
                 getLog().warn("\t// dataformat options: START");
                 getLog().warn("\t// dataformat options: END");
+                if (isFailFast()) {
+                    throw new MojoExecutionException("Failed build due 
failFast=true");
+                }
                 return false;
             }
         } catch (Exception e) {
@@ -386,6 +411,9 @@ public class ReadmeComponentMojo extends AbstractMojo {
                 getLog().warn("Add the following markers");
                 getLog().warn("\t// language options: START");
                 getLog().warn("\t// language options: END");
+                if (isFailFast()) {
+                    throw new MojoExecutionException("Failed build due 
failFast=true");
+                }
                 return false;
             }
         } catch (Exception e) {
@@ -718,4 +746,8 @@ public class ReadmeComponentMojo extends AbstractMojo {
         return languageNames;
     }
 
+    private boolean isFailFast() {
+        return failFast != null && failFast;
+    }
+
 }

Reply via email to