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 08:03:31 UTC

[07/51] [partial] camel git commit: CAMEL-9541: Use -component as suffix for component docs.

http://git-wip-us.apache.org/repos/asf/camel/blob/9c0b7baf/components/camel-krati/src/main/docs/krati-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-krati/src/main/docs/krati-component.adoc b/components/camel-krati/src/main/docs/krati-component.adoc
new file mode 100644
index 0000000..f78db11
--- /dev/null
+++ b/components/camel-krati/src/main/docs/krati-component.adoc
@@ -0,0 +1,222 @@
+[[Krati-KratiComponent]]
+Krati Component
+~~~~~~~~~~~~~~~
+
+*Available as of Camel 2.9*
+
+This component allows the use krati datastores and datasets inside
+Camel. Krati is a simple persistent data store with very low latency and
+high throughput. It is designed for easy integration with
+read-write-intensive applications with little effort in tuning
+configuration, performance and JVM garbage collection.
+
+Camel provides a producer and consumer for krati datastore_(key/value
+engine)_. It also provides an idempotent repository for filtering out
+duplicate messages.
+
+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-krati</artifactId>
+    <version>x.x.x</version>
+    <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------
+
+[[Krati-URIformat]]
+URI format
+^^^^^^^^^^
+
+[source,java]
+-------------------------------------------
+krati:[the path of the datastore][?options]
+-------------------------------------------
+
+The *path of the datastore* is the relative path of the folder that
+krati will use for its datastore.
+
+You can append query options to the URI in the following format,
+`?option=value&option=value&...`
+
+[[Krati-KratiOptions]]
+Krati Options
+^^^^^^^^^^^^^
+
+
+// component options: START
+The Krati component has no options.
+// component options: END
+
+
+
+
+
+
+// endpoint options: START
+The Krati component supports 30 endpoint options which are listed below:
+
+{% raw %}
+[width="100%",cols="2s,1,1m,1m,5",options="header"]
+|=======================================================================
+| Name | Group | Default | Java Type | Description
+| path | common |  | String | *Required* Path of the datastore is the relative path of the folder that krati will use for its datastore.
+| hashFunction | common |  | HashFunction<byte[]> | The hash function to use.
+| initialCapacity | common | 100 | int | The inital capcity of the store.
+| keySerializer | common |  | Object> | The serializer that will be used to serialize the key.
+| segmentFactory | common |  | SegmentFactory | Sets the segment factory of the target store.
+| segmentFileSize | common | 64 | int | Data store segments size in MB.
+| valueSerializer | common |  | Object> | The serializer that will be used to serialize the value.
+| 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.
+| maxMessagesPerPoll | consumer |  | int | The maximum number of messages which can be received in one poll. This can be used to avoid reading in too much data and taking up too much memory.
+| sendEmptyMessageWhenIdle | consumer | false | boolean | If the polling consumer did not poll any files you can enable this option to send an empty message (no body) instead.
+| 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.
+| pollStrategy | consumer (advanced) |  | PollingConsumerPollStrategy | A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.
+| key | producer |  | String | The key.
+| operation | producer |  | String | Specifies the type of operation that will be performed to the datastore.
+| value | producer |  | String | The Value.
+| 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).
+| backoffErrorThreshold | scheduler |  | int | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.
+| backoffIdleThreshold | scheduler |  | int | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.
+| backoffMultiplier | scheduler |  | int | To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.
+| delay | scheduler | 500 | long | Milliseconds before the next poll. You can also specify time values using units such as 60s (60 seconds) 5m30s (5 minutes and 30 seconds) and 1h (1 hour).
+| greedy | scheduler | false | boolean | If greedy is enabled then the ScheduledPollConsumer will run immediately again if the previous run polled 1 or more messages.
+| initialDelay | scheduler | 1000 | long | Milliseconds before the first poll starts. You can also specify time values using units such as 60s (60 seconds) 5m30s (5 minutes and 30 seconds) and 1h (1 hour).
+| runLoggingLevel | scheduler | TRACE | LoggingLevel | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.
+| scheduledExecutorService | scheduler |  | ScheduledExecutorService | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.
+| scheduler | scheduler | none | ScheduledPollConsumerScheduler | To use a cron scheduler from either camel-spring or camel-quartz2 component
+| schedulerProperties | scheduler |  | Map | To configure additional properties when using a custom scheduler or any of the Quartz2 Spring based scheduler.
+| startScheduler | scheduler | true | boolean | Whether the scheduler should be auto started.
+| timeUnit | scheduler | MILLISECONDS | TimeUnit | Time unit for initialDelay and delay options.
+| useFixedDelay | scheduler | true | boolean | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.
+|=======================================================================
+{% endraw %}
+// endpoint options: END
+
+
+
+
+
+[source,java]
+------------------------------------------------------------------------------------------------
+krati:/tmp/krati?operation=CamelKratiGet&initialCapacity=10000&keySerializer=#myCustomSerializer
+------------------------------------------------------------------------------------------------
+
+For producer endpoint you can override all of the above URI options by
+passing the appropriate headers to the message.
+
+[[Krati-MessageHeadersfordatastore]]
+Message Headers for datastore
++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,90%",options="header",]
+|=======================================================================
+|Header |Description
+
+|`CamelKratiOperation` |The operation to be performed on the datastore. The valid options are CamelKratiAdd, CamelKratiGet, 
+CamelKratiDelete, CamelKratiDeleteAll
+
+|`CamelKratiKey` |The key.
+
+|`CamelKratiValue` |The value.
+|=======================================================================
+
+[[Krati-UsageSamples]]
+Usage Samples
+^^^^^^^^^^^^^
+
+[[Krati-Example1:Puttingtothedatastore.]]
+Example 1: Putting to the datastore.
+++++++++++++++++++++++++++++++++++++
+
+This example will show you how you can store any message inside a
+datastore.
+
+[source,java]
+--------------------------------------------------------
+from("direct:put").to("krati:target/test/producertest");
+--------------------------------------------------------
+
+In the above example you can override any of the URI parameters with
+headers on the message. +
+ Here is how the above example would look like using xml to define our
+route.
+
+[source,xml]
+------------------------------------------------------------
+        <route>
+            <from uri="direct:put"/>
+            <to uri="krati:target/test/producerspringtest"/>
+        </route>
+------------------------------------------------------------
+
+[[Krati-Example2:GettingReadingfromadatastore]]
+Example 2: Getting/Reading from a datastore
++++++++++++++++++++++++++++++++++++++++++++
+
+This example will show you how you can read the contnet of a datastore.
+
+[source,java]
+--------------------------------------------------------------------------------------------
+from("direct:get")
+    .setHeader(KratiConstants.KRATI_OPERATION, constant(KratiConstants.KRATI_OPERATION_GET))
+    .to("krati:target/test/producertest");
+--------------------------------------------------------------------------------------------
+
+In the above example you can override any of the URI parameters with
+headers on the message. +
+ Here is how the above example would look like using xml to define our
+route.
+
+[source,xml]
+-----------------------------------------------------------------------------
+<route>
+     <from uri="direct:get"/>
+     <to uri="krati:target/test/producerspringtest?operation=CamelKratiGet"/>
+</route>
+-----------------------------------------------------------------------------
+
+[[Krati-Example3:Consumingfromadatastore]]
+Example 3: Consuming from a datastore
++++++++++++++++++++++++++++++++++++++
+
+This example will consume all items that are under the specified
+datastore.
+
+[source,java]
+------------------------------------------
+    from("krati:target/test/consumertest")
+        .to("direct:next");
+------------------------------------------
+
+You can achieve the same goal by using xml, as you can see below.
+
+[source,xml]
+------------------------------------------------------
+<route>
+    <from uri="krati:target/test/consumerspringtest"/>
+    <to uri="mock:results"/>
+</route>
+------------------------------------------------------
+
+[[Krati-IdempotentRepository]]
+Idempotent Repository
+^^^^^^^^^^^^^^^^^^^^^
+
+As already mentioned this component also offers and idemptonet
+repository which can be used for filtering out duplicate messages.
+
+[source,java]
+-----------------------------------------------------------------------------------------------------------------------------
+from("direct://in").idempotentConsumer(header("messageId"), new KratiIdempotentRepositroy("/tmp/idempotent").to("log://out");
+-----------------------------------------------------------------------------------------------------------------------------
+
+[[Krati-Seealso]]
+See also
+++++++++
+
+http://sna-projects.com/krati/[Krati Website]

http://git-wip-us.apache.org/repos/asf/camel/blob/9c0b7baf/components/camel-krati/src/main/docs/krati.adoc
----------------------------------------------------------------------
diff --git a/components/camel-krati/src/main/docs/krati.adoc b/components/camel-krati/src/main/docs/krati.adoc
deleted file mode 100644
index f78db11..0000000
--- a/components/camel-krati/src/main/docs/krati.adoc
+++ /dev/null
@@ -1,222 +0,0 @@
-[[Krati-KratiComponent]]
-Krati Component
-~~~~~~~~~~~~~~~
-
-*Available as of Camel 2.9*
-
-This component allows the use krati datastores and datasets inside
-Camel. Krati is a simple persistent data store with very low latency and
-high throughput. It is designed for easy integration with
-read-write-intensive applications with little effort in tuning
-configuration, performance and JVM garbage collection.
-
-Camel provides a producer and consumer for krati datastore_(key/value
-engine)_. It also provides an idempotent repository for filtering out
-duplicate messages.
-
-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-krati</artifactId>
-    <version>x.x.x</version>
-    <!-- use the same version as your Camel core version -->
-</dependency>
-------------------------------------------------------------
-
-[[Krati-URIformat]]
-URI format
-^^^^^^^^^^
-
-[source,java]
--------------------------------------------
-krati:[the path of the datastore][?options]
--------------------------------------------
-
-The *path of the datastore* is the relative path of the folder that
-krati will use for its datastore.
-
-You can append query options to the URI in the following format,
-`?option=value&option=value&...`
-
-[[Krati-KratiOptions]]
-Krati Options
-^^^^^^^^^^^^^
-
-
-// component options: START
-The Krati component has no options.
-// component options: END
-
-
-
-
-
-
-// endpoint options: START
-The Krati component supports 30 endpoint options which are listed below:
-
-{% raw %}
-[width="100%",cols="2s,1,1m,1m,5",options="header"]
-|=======================================================================
-| Name | Group | Default | Java Type | Description
-| path | common |  | String | *Required* Path of the datastore is the relative path of the folder that krati will use for its datastore.
-| hashFunction | common |  | HashFunction<byte[]> | The hash function to use.
-| initialCapacity | common | 100 | int | The inital capcity of the store.
-| keySerializer | common |  | Object> | The serializer that will be used to serialize the key.
-| segmentFactory | common |  | SegmentFactory | Sets the segment factory of the target store.
-| segmentFileSize | common | 64 | int | Data store segments size in MB.
-| valueSerializer | common |  | Object> | The serializer that will be used to serialize the value.
-| 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.
-| maxMessagesPerPoll | consumer |  | int | The maximum number of messages which can be received in one poll. This can be used to avoid reading in too much data and taking up too much memory.
-| sendEmptyMessageWhenIdle | consumer | false | boolean | If the polling consumer did not poll any files you can enable this option to send an empty message (no body) instead.
-| 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.
-| pollStrategy | consumer (advanced) |  | PollingConsumerPollStrategy | A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.
-| key | producer |  | String | The key.
-| operation | producer |  | String | Specifies the type of operation that will be performed to the datastore.
-| value | producer |  | String | The Value.
-| 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).
-| backoffErrorThreshold | scheduler |  | int | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.
-| backoffIdleThreshold | scheduler |  | int | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.
-| backoffMultiplier | scheduler |  | int | To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured.
-| delay | scheduler | 500 | long | Milliseconds before the next poll. You can also specify time values using units such as 60s (60 seconds) 5m30s (5 minutes and 30 seconds) and 1h (1 hour).
-| greedy | scheduler | false | boolean | If greedy is enabled then the ScheduledPollConsumer will run immediately again if the previous run polled 1 or more messages.
-| initialDelay | scheduler | 1000 | long | Milliseconds before the first poll starts. You can also specify time values using units such as 60s (60 seconds) 5m30s (5 minutes and 30 seconds) and 1h (1 hour).
-| runLoggingLevel | scheduler | TRACE | LoggingLevel | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.
-| scheduledExecutorService | scheduler |  | ScheduledExecutorService | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.
-| scheduler | scheduler | none | ScheduledPollConsumerScheduler | To use a cron scheduler from either camel-spring or camel-quartz2 component
-| schedulerProperties | scheduler |  | Map | To configure additional properties when using a custom scheduler or any of the Quartz2 Spring based scheduler.
-| startScheduler | scheduler | true | boolean | Whether the scheduler should be auto started.
-| timeUnit | scheduler | MILLISECONDS | TimeUnit | Time unit for initialDelay and delay options.
-| useFixedDelay | scheduler | true | boolean | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.
-|=======================================================================
-{% endraw %}
-// endpoint options: END
-
-
-
-
-
-[source,java]
-------------------------------------------------------------------------------------------------
-krati:/tmp/krati?operation=CamelKratiGet&initialCapacity=10000&keySerializer=#myCustomSerializer
-------------------------------------------------------------------------------------------------
-
-For producer endpoint you can override all of the above URI options by
-passing the appropriate headers to the message.
-
-[[Krati-MessageHeadersfordatastore]]
-Message Headers for datastore
-+++++++++++++++++++++++++++++
-
-[width="100%",cols="10%,90%",options="header",]
-|=======================================================================
-|Header |Description
-
-|`CamelKratiOperation` |The operation to be performed on the datastore. The valid options are CamelKratiAdd, CamelKratiGet, 
-CamelKratiDelete, CamelKratiDeleteAll
-
-|`CamelKratiKey` |The key.
-
-|`CamelKratiValue` |The value.
-|=======================================================================
-
-[[Krati-UsageSamples]]
-Usage Samples
-^^^^^^^^^^^^^
-
-[[Krati-Example1:Puttingtothedatastore.]]
-Example 1: Putting to the datastore.
-++++++++++++++++++++++++++++++++++++
-
-This example will show you how you can store any message inside a
-datastore.
-
-[source,java]
---------------------------------------------------------
-from("direct:put").to("krati:target/test/producertest");
---------------------------------------------------------
-
-In the above example you can override any of the URI parameters with
-headers on the message. +
- Here is how the above example would look like using xml to define our
-route.
-
-[source,xml]
-------------------------------------------------------------
-        <route>
-            <from uri="direct:put"/>
-            <to uri="krati:target/test/producerspringtest"/>
-        </route>
-------------------------------------------------------------
-
-[[Krati-Example2:GettingReadingfromadatastore]]
-Example 2: Getting/Reading from a datastore
-+++++++++++++++++++++++++++++++++++++++++++
-
-This example will show you how you can read the contnet of a datastore.
-
-[source,java]
---------------------------------------------------------------------------------------------
-from("direct:get")
-    .setHeader(KratiConstants.KRATI_OPERATION, constant(KratiConstants.KRATI_OPERATION_GET))
-    .to("krati:target/test/producertest");
---------------------------------------------------------------------------------------------
-
-In the above example you can override any of the URI parameters with
-headers on the message. +
- Here is how the above example would look like using xml to define our
-route.
-
-[source,xml]
------------------------------------------------------------------------------
-<route>
-     <from uri="direct:get"/>
-     <to uri="krati:target/test/producerspringtest?operation=CamelKratiGet"/>
-</route>
------------------------------------------------------------------------------
-
-[[Krati-Example3:Consumingfromadatastore]]
-Example 3: Consuming from a datastore
-+++++++++++++++++++++++++++++++++++++
-
-This example will consume all items that are under the specified
-datastore.
-
-[source,java]
-------------------------------------------
-    from("krati:target/test/consumertest")
-        .to("direct:next");
-------------------------------------------
-
-You can achieve the same goal by using xml, as you can see below.
-
-[source,xml]
-------------------------------------------------------
-<route>
-    <from uri="krati:target/test/consumerspringtest"/>
-    <to uri="mock:results"/>
-</route>
-------------------------------------------------------
-
-[[Krati-IdempotentRepository]]
-Idempotent Repository
-^^^^^^^^^^^^^^^^^^^^^
-
-As already mentioned this component also offers and idemptonet
-repository which can be used for filtering out duplicate messages.
-
-[source,java]
------------------------------------------------------------------------------------------------------------------------------
-from("direct://in").idempotentConsumer(header("messageId"), new KratiIdempotentRepositroy("/tmp/idempotent").to("log://out");
------------------------------------------------------------------------------------------------------------------------------
-
-[[Krati-Seealso]]
-See also
-++++++++
-
-http://sna-projects.com/krati/[Krati Website]

http://git-wip-us.apache.org/repos/asf/camel/blob/9c0b7baf/components/camel-kubernetes/src/main/docs/kubernetes-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-component.adoc
new file mode 100644
index 0000000..55a2d53
--- /dev/null
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-component.adoc
@@ -0,0 +1,179 @@
+[[Kubernetes-KubernetesComponent]]
+Kubernetes Component
+~~~~~~~~~~~~~~~~~~~~
+
+*Available as of Camel 2.17*
+
+The *Kubernetes*�component is a component for integrating your
+application with Kubernetes standalone or on top of Openshift.�
+
+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-kubernetes</artifactId>
+    <version>x.x.x</version>
+    <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------
+
+[[Kubernetes-URIformat]]
+URI format
+^^^^^^^^^^
+
+[source,java]
+------------------------------
+kubernetes:masterUrl[?options]
+------------------------------
+
+You can append query options to the URI in the following
+format,�`?option=value&option=value&...`
+
+[[Kubernetes-Options]]
+Options
+^^^^^^^
+
+
+// component options: START
+The Kubernetes component has no options.
+// component options: END
+
+
+
+
+
+
+
+
+// endpoint options: START
+The Kubernetes component supports 28 endpoint options which are listed below:
+
+{% raw %}
+[width="100%",cols="2s,1,1m,1m,5",options="header"]
+|=======================================================================
+| Name | Group | Default | Java Type | Description
+| masterUrl | common |  | String | *Required* Kubernetes Master url
+| apiVersion | common |  | String | The Kubernetes API Version to use
+| category | common |  | String | *Required* Kubernetes Producer and Consumer category
+| dnsDomain | common |  | String | The dns domain used for ServiceCall EIP
+| kubernetesClient | common |  | DefaultKubernetesClient | Default KubernetesClient to use if provided
+| portName | common |  | String | The port name used for ServiceCall EIP
+| 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.
+| labelKey | consumer |  | String | The Consumer Label key when watching at some resources
+| labelValue | consumer |  | String | The Consumer Label value when watching at some resources
+| namespace | consumer |  | String | The namespace
+| poolSize | consumer | 1 | int | The Consumer pool size
+| resourceName | consumer |  | String | The Consumer Resource Name we would like to watch
+| 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.
+| operation | producer |  | String | Producer operation to do on Kubernetes
+| 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).
+| caCertData | security |  | String | The CA Cert Data
+| caCertFile | security |  | String | The CA Cert File
+| clientCertData | security |  | String | The Client Cert Data
+| clientCertFile | security |  | String | The Client Cert File
+| clientKeyAlgo | security |  | String | The Key Algorithm used by the client
+| clientKeyData | security |  | String | The Client Key data
+| clientKeyFile | security |  | String | The Client Key file
+| clientKeyPassphrase | security |  | String | The Client Key Passphrase
+| oauthToken | security |  | String | The Auth Token
+| password | security |  | String | Password to connect to Kubernetes
+| trustCerts | security |  | Boolean | Define if the certs we used are trusted anyway or not
+| username | security |  | String | Username to connect to Kubernetes
+|=======================================================================
+{% endraw %}
+// endpoint options: END
+
+
+
+
+
+
+
+[[Kubernetes-Headers]]
+Headers
+^^^^^^^
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Name |Type |Description
+
+|CamelKubernetesOperation |String |The Producer operation
+
+|CamelKubernetesNamespaceName |String |The Namespace name
+
+|CamelKubernetesNamespaceLabels |Map |The Namespace Labels
+
+|CamelKubernetesServiceLabels |Map |The Service labels
+
+|CamelKubernetesServiceName |String |The Service name
+
+|CamelKubernetesServiceSpec |io.fabric8.kubernetes.api.model.ServiceSpec |The Spec for a Service
+
+|CamelKubernetesReplicationControllersLabels |Map |Replication controller labels
+
+|CamelKubernetesReplicationControllerName |String |Replication controller name
+
+|CamelKubernetesReplicationControllerSpec |io.fabric8.kubernetes.api.model.ReplicationControllerSpec |The Spec for a Replication Controller
+
+|CamelKubernetesReplicationControllerReplicas |Integer |The number of replicas for a Replication Controller during the Scale operation
+
+|CamelKubernetesPodsLabels |Map |Pod labels
+
+|CamelKubernetesPodName |String |Pod name
+
+|CamelKubernetesPodSpec |io.fabric8.kubernetes.api.model.PodSpec |The Spec for a Pod
+
+|CamelKubernetesPersistentVolumesLabels |Map |Persistent Volume labels
+
+|CamelKubernetesPersistentVolumesName |String |Persistent Volume name
+
+|CamelKubernetesPersistentVolumesClaimsLabels |Map |Persistent Volume Claim labels
+
+|CamelKubernetesPersistentVolumesClaimsName |String |Persistent Volume Claim name
+
+|CamelKubernetesPersistentVolumesClaimsSpec |io.fabric8.kubernetes.api.model.PersistentVolumeClaimSpec |The Spec for a Persistent Volume claim
+
+|CamelKubernetesSecretsLabels |Map |Secret labels
+
+|CamelKubernetesSecretsName |String |Secret name
+
+|CamelKubernetesSecret |io.fabric8.kubernetes.api.model.Secret |A Secret Object
+
+|CamelKubernetesResourcesQuotaLabels |Map |Resource Quota labels
+
+|CamelKubernetesResourcesQuotaName |String |Resource Quota name
+
+|CamelKubernetesResourceQuotaSpec |io.fabric8.kubernetes.api.model.ResourceQuotaSpec |The Spec for a Resource Quota
+
+|CamelKubernetesServiceAccountsLabels |Map |Service Account labels
+
+|CamelKubernetesServiceAccountName |String |Service Account name
+
+|CamelKubernetesServiceAccount |io.fabric8.kubernetes.api.model.ServiceAccount |A Service Account object
+
+|CamelKubernetesNodesLabels |Map |Node labels
+
+|CamelKubernetesNodeName |String |Node name
+
+|CamelKubernetesBuildsLabels |Map |Openshift Build labels
+
+|CamelKubernetesBuildName |String |Openshift Build name
+
+|CamelKubernetesBuildConfigsLabels |Map |Openshift Build Config labels
+
+|CamelKubernetesBuildConfigName |String |Openshift Build Config name
+
+|CamelKubernetesEventAction |io.fabric8.kubernetes.client.Watcher.Action |Action watched by the consumer
+
+|CamelKubernetesEventTimestamp |String |Timestamp of the action watched by the consumer
+
+|CamelKubernetesConfigMapName |String |ConfigMap name
+
+|CamelKubernetesConfigMapsLabels |Map |ConfigMap labels
+
+|CamelKubernetesConfigData |Map |ConfigMap Data
+|=======================================================================

http://git-wip-us.apache.org/repos/asf/camel/blob/9c0b7baf/components/camel-kubernetes/src/main/docs/kubernetes.adoc
----------------------------------------------------------------------
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes.adoc b/components/camel-kubernetes/src/main/docs/kubernetes.adoc
deleted file mode 100644
index 55a2d53..0000000
--- a/components/camel-kubernetes/src/main/docs/kubernetes.adoc
+++ /dev/null
@@ -1,179 +0,0 @@
-[[Kubernetes-KubernetesComponent]]
-Kubernetes Component
-~~~~~~~~~~~~~~~~~~~~
-
-*Available as of Camel 2.17*
-
-The *Kubernetes*�component is a component for integrating your
-application with Kubernetes standalone or on top of Openshift.�
-
-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-kubernetes</artifactId>
-    <version>x.x.x</version>
-    <!-- use the same version as your Camel core version -->
-</dependency>
-------------------------------------------------------------
-
-[[Kubernetes-URIformat]]
-URI format
-^^^^^^^^^^
-
-[source,java]
-------------------------------
-kubernetes:masterUrl[?options]
-------------------------------
-
-You can append query options to the URI in the following
-format,�`?option=value&option=value&...`
-
-[[Kubernetes-Options]]
-Options
-^^^^^^^
-
-
-// component options: START
-The Kubernetes component has no options.
-// component options: END
-
-
-
-
-
-
-
-
-// endpoint options: START
-The Kubernetes component supports 28 endpoint options which are listed below:
-
-{% raw %}
-[width="100%",cols="2s,1,1m,1m,5",options="header"]
-|=======================================================================
-| Name | Group | Default | Java Type | Description
-| masterUrl | common |  | String | *Required* Kubernetes Master url
-| apiVersion | common |  | String | The Kubernetes API Version to use
-| category | common |  | String | *Required* Kubernetes Producer and Consumer category
-| dnsDomain | common |  | String | The dns domain used for ServiceCall EIP
-| kubernetesClient | common |  | DefaultKubernetesClient | Default KubernetesClient to use if provided
-| portName | common |  | String | The port name used for ServiceCall EIP
-| 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.
-| labelKey | consumer |  | String | The Consumer Label key when watching at some resources
-| labelValue | consumer |  | String | The Consumer Label value when watching at some resources
-| namespace | consumer |  | String | The namespace
-| poolSize | consumer | 1 | int | The Consumer pool size
-| resourceName | consumer |  | String | The Consumer Resource Name we would like to watch
-| 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.
-| operation | producer |  | String | Producer operation to do on Kubernetes
-| 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).
-| caCertData | security |  | String | The CA Cert Data
-| caCertFile | security |  | String | The CA Cert File
-| clientCertData | security |  | String | The Client Cert Data
-| clientCertFile | security |  | String | The Client Cert File
-| clientKeyAlgo | security |  | String | The Key Algorithm used by the client
-| clientKeyData | security |  | String | The Client Key data
-| clientKeyFile | security |  | String | The Client Key file
-| clientKeyPassphrase | security |  | String | The Client Key Passphrase
-| oauthToken | security |  | String | The Auth Token
-| password | security |  | String | Password to connect to Kubernetes
-| trustCerts | security |  | Boolean | Define if the certs we used are trusted anyway or not
-| username | security |  | String | Username to connect to Kubernetes
-|=======================================================================
-{% endraw %}
-// endpoint options: END
-
-
-
-
-
-
-
-[[Kubernetes-Headers]]
-Headers
-^^^^^^^
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Name |Type |Description
-
-|CamelKubernetesOperation |String |The Producer operation
-
-|CamelKubernetesNamespaceName |String |The Namespace name
-
-|CamelKubernetesNamespaceLabels |Map |The Namespace Labels
-
-|CamelKubernetesServiceLabels |Map |The Service labels
-
-|CamelKubernetesServiceName |String |The Service name
-
-|CamelKubernetesServiceSpec |io.fabric8.kubernetes.api.model.ServiceSpec |The Spec for a Service
-
-|CamelKubernetesReplicationControllersLabels |Map |Replication controller labels
-
-|CamelKubernetesReplicationControllerName |String |Replication controller name
-
-|CamelKubernetesReplicationControllerSpec |io.fabric8.kubernetes.api.model.ReplicationControllerSpec |The Spec for a Replication Controller
-
-|CamelKubernetesReplicationControllerReplicas |Integer |The number of replicas for a Replication Controller during the Scale operation
-
-|CamelKubernetesPodsLabels |Map |Pod labels
-
-|CamelKubernetesPodName |String |Pod name
-
-|CamelKubernetesPodSpec |io.fabric8.kubernetes.api.model.PodSpec |The Spec for a Pod
-
-|CamelKubernetesPersistentVolumesLabels |Map |Persistent Volume labels
-
-|CamelKubernetesPersistentVolumesName |String |Persistent Volume name
-
-|CamelKubernetesPersistentVolumesClaimsLabels |Map |Persistent Volume Claim labels
-
-|CamelKubernetesPersistentVolumesClaimsName |String |Persistent Volume Claim name
-
-|CamelKubernetesPersistentVolumesClaimsSpec |io.fabric8.kubernetes.api.model.PersistentVolumeClaimSpec |The Spec for a Persistent Volume claim
-
-|CamelKubernetesSecretsLabels |Map |Secret labels
-
-|CamelKubernetesSecretsName |String |Secret name
-
-|CamelKubernetesSecret |io.fabric8.kubernetes.api.model.Secret |A Secret Object
-
-|CamelKubernetesResourcesQuotaLabels |Map |Resource Quota labels
-
-|CamelKubernetesResourcesQuotaName |String |Resource Quota name
-
-|CamelKubernetesResourceQuotaSpec |io.fabric8.kubernetes.api.model.ResourceQuotaSpec |The Spec for a Resource Quota
-
-|CamelKubernetesServiceAccountsLabels |Map |Service Account labels
-
-|CamelKubernetesServiceAccountName |String |Service Account name
-
-|CamelKubernetesServiceAccount |io.fabric8.kubernetes.api.model.ServiceAccount |A Service Account object
-
-|CamelKubernetesNodesLabels |Map |Node labels
-
-|CamelKubernetesNodeName |String |Node name
-
-|CamelKubernetesBuildsLabels |Map |Openshift Build labels
-
-|CamelKubernetesBuildName |String |Openshift Build name
-
-|CamelKubernetesBuildConfigsLabels |Map |Openshift Build Config labels
-
-|CamelKubernetesBuildConfigName |String |Openshift Build Config name
-
-|CamelKubernetesEventAction |io.fabric8.kubernetes.client.Watcher.Action |Action watched by the consumer
-
-|CamelKubernetesEventTimestamp |String |Timestamp of the action watched by the consumer
-
-|CamelKubernetesConfigMapName |String |ConfigMap name
-
-|CamelKubernetesConfigMapsLabels |Map |ConfigMap labels
-
-|CamelKubernetesConfigData |Map |ConfigMap Data
-|=======================================================================

http://git-wip-us.apache.org/repos/asf/camel/blob/9c0b7baf/components/camel-ldap/src/main/docs/ldap-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-ldap/src/main/docs/ldap-component.adoc b/components/camel-ldap/src/main/docs/ldap-component.adoc
new file mode 100644
index 0000000..e98074f
--- /dev/null
+++ b/components/camel-ldap/src/main/docs/ldap-component.adoc
@@ -0,0 +1,349 @@
+[[LDAP-LDAPComponent]]
+LDAP Component
+~~~~~~~~~~~~~~
+
+The *ldap* component allows you to perform searches in LDAP servers
+using filters as the message payload. +
+ This component uses standard JNDI (`javax.naming` package) to access
+the server.
+
+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-ldap</artifactId>
+    <version>x.x.x</version>
+    <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------
+
+[[LDAP-URIformat]]
+URI format
+^^^^^^^^^^
+
+[source,java]
+-----------------------------
+ldap:ldapServerBean[?options]
+-----------------------------
+
+The _ldapServerBean_ portion of the URI refers to a
+http://java.sun.com/j2se/1.4.2/docs/api/javax/naming/directory/DirContext.html[DirContext]
+bean in the registry. The LDAP component only supports producer
+endpoints, which means that an `ldap` URI cannot appear in the `from` at
+the start of a route.
+
+You can append query options to the URI in the following format,
+`?option=value&option=value&...`
+
+[[LDAP-Options]]
+Options
+^^^^^^^
+
+
+// component options: START
+The LDAP component has no options.
+// component options: END
+
+
+
+
+// endpoint options: START
+The LDAP component supports 7 endpoint options which are listed below:
+
+{% raw %}
+[width="100%",cols="2s,1,1m,1m,5",options="header"]
+|=======================================================================
+| Name | Group | Default | Java Type | Description
+| dirContextName | producer |  | String | *Required* Name of javax.naming.directory.DirContext bean to lookup in the registry.
+| base | producer | ou=system | String | The base DN for searches.
+| pageSize | producer |  | Integer | When specified the ldap module uses paging to retrieve all results (most LDAP Servers throw an exception when trying to retrieve more than 1000 entries in one query). To be able to use this a LdapContext (subclass of DirContext) has to be passed in as ldapServerBean (otherwise an exception is thrown)
+| returnedAttributes | producer |  | String | Comma-separated list of attributes that should be set in each entry of the result
+| scope | producer | subtree | String | Specifies how deeply to search the tree of entries starting at the base DN.
+| 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
+
+
+
+[[LDAP-Result]]
+Result
+^^^^^^
+
+The result is returned in the Out body as a
+`ArrayList<javax.naming.directory.SearchResult>` object.
+
+[[LDAP-DirContext]]
+DirContext
+^^^^^^^^^^
+
+The URI, `ldap:ldapserver`, references a Spring bean with the ID,
+`ldapserver`. The `ldapserver` bean may be defined as follows:
+
+[source,java]
+-----------------------------------------------------------------------------------------
+<bean id="ldapserver" class="javax.naming.directory.InitialDirContext" scope="prototype">
+  <constructor-arg>
+    <props>
+      <prop key="java.naming.factory.initial">com.sun.jndi.ldap.LdapCtxFactory</prop>
+      <prop key="java.naming.provider.url">ldap://localhost:10389</prop>
+      <prop key="java.naming.security.authentication">none</prop>
+    </props>
+  </constructor-arg>
+</bean>
+-----------------------------------------------------------------------------------------
+
+The preceding example declares a regular Sun based LDAP `DirContext`
+that connects anonymously to a locally hosted LDAP server.
+
+NOTE: `DirContext` objects are *not* required to support concurrency by
+contract. It is therefore important that the directory context is
+declared with the setting, `scope="prototype"`, in the `bean` definition
+or that the context supports concurrency. In the Spring framework,
+`prototype` scoped objects are instantiated each time they are looked
+up.
+
+[[LDAP-Samples]]
+Samples
+^^^^^^^
+
+Following on from the Spring configuration above, the code sample below
+sends an LDAP request to filter search a group for a member. The Common
+Name is then extracted from the response.
+
+[source,java]
+----------------------------------------------------------
+ProducerTemplate<Exchange> template = exchange
+  .getContext().createProducerTemplate();
+
+Collection<?> results = (Collection<?>) (template
+  .sendBody(
+    "ldap:ldapserver?base=ou=mygroup,ou=groups,ou=system",
+    "(member=uid=huntc,ou=users,ou=system)"));
+
+if (results.size() > 0) {
+  // Extract what we need from the device's profile
+
+  Iterator<?> resultIter = results.iterator();
+  SearchResult searchResult = (SearchResult) resultIter
+      .next();
+  Attributes attributes = searchResult
+      .getAttributes();
+  Attribute deviceCNAttr = attributes.get("cn");
+  String deviceCN = (String) deviceCNAttr.get();
+
+  ...
+----------------------------------------------------------
+
+If no specific filter is required - for example, you just need to look
+up a single entry - specify a wildcard filter expression. For example,
+if the LDAP entry has a Common Name, use a filter expression like:
+
+[source,java]
+------
+(cn=*)
+------
+
+[[LDAP-Bindingusingcredentials]]
+Binding using credentials
++++++++++++++++++++++++++
+
+A Camel end user donated this sample code he used to bind to the ldap
+server using credentials.
+
+[source,java]
+---------------------------------------------------------------------------------------
+Properties props = new Properties();
+props.setProperty(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
+props.setProperty(Context.PROVIDER_URL, "ldap://localhost:389");
+props.setProperty(Context.URL_PKG_PREFIXES, "com.sun.jndi.url");
+props.setProperty(Context.REFERRAL, "ignore");
+props.setProperty(Context.SECURITY_AUTHENTICATION, "simple");
+props.setProperty(Context.SECURITY_PRINCIPAL, "cn=Manager");
+props.setProperty(Context.SECURITY_CREDENTIALS, "secret");
+
+SimpleRegistry reg = new SimpleRegistry();
+reg.put("myldap", new InitialLdapContext(props, null));
+
+CamelContext context = new DefaultCamelContext(reg);
+context.addRoutes(
+    new RouteBuilder() {
+        public void configure() throws Exception { 
+            from("direct:start").to("ldap:myldap?base=ou=test");
+        }
+    }
+);
+context.start();
+
+ProducerTemplate template = context.createProducerTemplate();
+
+Endpoint endpoint = context.getEndpoint("direct:start");
+Exchange exchange = endpoint.createExchange();
+exchange.getIn().setBody("(uid=test)");
+Exchange out = template.send(endpoint, exchange);
+
+Collection<SearchResult> data = out.getOut().getBody(Collection.class);
+assert data != null;
+assert !data.isEmpty();
+
+System.out.println(out.getOut().getBody());
+
+context.stop();
+---------------------------------------------------------------------------------------
+
+[[LDAP-ConfiguringSSL]]
+Configuring SSL
+^^^^^^^^^^^^^^^
+
+All required is to create a custom socket factory and reference it in
+the InitialDirContext bean - see below sample.
+
+*SSL Configuration*
+
+[source,xml]
+----------------------------------------------------------------------------------------------------------------------------------
+<?xml version="1.0" encoding="UTF-8"?>
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
+           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+           xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
+                 http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd">
+
+
+    <sslContextParameters xmlns="http://camel.apache.org/schema/blueprint"
+                          id="sslContextParameters">
+        <keyManagers
+                keyPassword="{{keystore.pwd}}">
+            <keyStore
+                    resource="{{keystore.url}}"
+                    password="{{keystore.pwd}}"/>
+        </keyManagers>
+    </sslContextParameters>
+
+    <bean id="customSocketFactory" class="zotix.co.util.CustomSocketFactory">
+        <argument ref="sslContextParameters" />
+    </bean>
+    <bean id="ldapserver" class="javax.naming.directory.InitialDirContext" scope="prototype">
+        <argument>
+            <props>
+                <prop key="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
+                <prop key="java.naming.provider.url" value="ldaps://lab.zotix.co:636"/>
+                <prop key="java.naming.security.protocol" value="ssl"/>
+                <prop key="java.naming.security.authentication" value="simple" />
+                <prop key="java.naming.security.principal" value="cn=Manager,dc=example,dc=com"/>
+                <prop key="java.naming.security.credentials" value="passw0rd"/>
+                <prop key="java.naming.ldap.factory.socket"
+                      value="zotix.co.util.CustomSocketFactory"/>
+            </props>
+        </argument>
+    </bean>
+</blueprint>
+----------------------------------------------------------------------------------------------------------------------------------
+
+*Custom Socket Factory*
+
+[source,java]
+-----------------------------------------------------------------------------------------------------
+import org.apache.camel.util.jsse.SSLContextParameters;
+
+import javax.net.SocketFactory;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSocketFactory;
+import javax.net.ssl.TrustManagerFactory;
+import java.io.IOException;
+import java.net.InetAddress;
+import java.net.Socket;
+import java.security.KeyStore;
+
+/**
+ * The CustomSocketFactory. Loads the KeyStore and creates an instance of SSLSocketFactory
+ */
+public class CustomSocketFactory extends SSLSocketFactory {
+
+    private static SSLSocketFactory socketFactory;
+
+    /**
+     * Called by the getDefault() method.
+     */
+    public CustomSocketFactory() {
+
+    }
+
+    /**
+     * Called by Blueprint DI to initialise an instance of SocketFactory
+     *
+     * @param sslContextParameters
+     */
+    public CustomSocketFactory(SSLContextParameters sslContextParameters) {
+        try {
+            KeyStore keyStore = sslContextParameters.getKeyManagers().getKeyStore().createKeyStore();
+            TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
+            tmf.init(keyStore);
+            SSLContext ctx = SSLContext.getInstance("TLS");
+            ctx.init(null, tmf.getTrustManagers(), null);
+            socketFactory = ctx.getSocketFactory();
+        } catch (Exception ex) {
+            ex.printStackTrace(System.err);  /* handle exception */
+        }
+    }
+
+    /**
+     * Getter for the SocketFactory
+     *
+     * @return
+     */
+    public static SocketFactory getDefault() {
+        return new CustomSocketFactory();
+    }
+
+    @Override
+    public String[] getDefaultCipherSuites() {
+        return socketFactory.getDefaultCipherSuites();
+    }
+
+    @Override
+    public String[] getSupportedCipherSuites() {
+        return socketFactory.getSupportedCipherSuites();
+    }
+
+    @Override
+    public Socket createSocket(Socket socket, String string, int i, boolean bln) throws IOException {
+        return socketFactory.createSocket(socket, string, i, bln);
+    }
+
+    @Override
+    public Socket createSocket(String string, int i) throws IOException {
+        return socketFactory.createSocket(string, i);
+    }
+
+    @Override
+    public Socket createSocket(String string, int i, InetAddress ia, int i1) throws IOException {
+        return socketFactory.createSocket(string, i, ia, i1);
+    }
+
+    @Override
+    public Socket createSocket(InetAddress ia, int i) throws IOException {
+        return socketFactory.createSocket(ia, i);
+    }
+
+    @Override
+    public Socket createSocket(InetAddress ia, int i, InetAddress ia1, int i1) throws IOException {
+        return socketFactory.createSocket(ia, i, ia1, i1);
+    }
+}
+-----------------------------------------------------------------------------------------------------
+
+�
+
+[[LDAP-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/9c0b7baf/components/camel-ldap/src/main/docs/ldap.adoc
----------------------------------------------------------------------
diff --git a/components/camel-ldap/src/main/docs/ldap.adoc b/components/camel-ldap/src/main/docs/ldap.adoc
deleted file mode 100644
index e98074f..0000000
--- a/components/camel-ldap/src/main/docs/ldap.adoc
+++ /dev/null
@@ -1,349 +0,0 @@
-[[LDAP-LDAPComponent]]
-LDAP Component
-~~~~~~~~~~~~~~
-
-The *ldap* component allows you to perform searches in LDAP servers
-using filters as the message payload. +
- This component uses standard JNDI (`javax.naming` package) to access
-the server.
-
-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-ldap</artifactId>
-    <version>x.x.x</version>
-    <!-- use the same version as your Camel core version -->
-</dependency>
-------------------------------------------------------------
-
-[[LDAP-URIformat]]
-URI format
-^^^^^^^^^^
-
-[source,java]
------------------------------
-ldap:ldapServerBean[?options]
------------------------------
-
-The _ldapServerBean_ portion of the URI refers to a
-http://java.sun.com/j2se/1.4.2/docs/api/javax/naming/directory/DirContext.html[DirContext]
-bean in the registry. The LDAP component only supports producer
-endpoints, which means that an `ldap` URI cannot appear in the `from` at
-the start of a route.
-
-You can append query options to the URI in the following format,
-`?option=value&option=value&...`
-
-[[LDAP-Options]]
-Options
-^^^^^^^
-
-
-// component options: START
-The LDAP component has no options.
-// component options: END
-
-
-
-
-// endpoint options: START
-The LDAP component supports 7 endpoint options which are listed below:
-
-{% raw %}
-[width="100%",cols="2s,1,1m,1m,5",options="header"]
-|=======================================================================
-| Name | Group | Default | Java Type | Description
-| dirContextName | producer |  | String | *Required* Name of javax.naming.directory.DirContext bean to lookup in the registry.
-| base | producer | ou=system | String | The base DN for searches.
-| pageSize | producer |  | Integer | When specified the ldap module uses paging to retrieve all results (most LDAP Servers throw an exception when trying to retrieve more than 1000 entries in one query). To be able to use this a LdapContext (subclass of DirContext) has to be passed in as ldapServerBean (otherwise an exception is thrown)
-| returnedAttributes | producer |  | String | Comma-separated list of attributes that should be set in each entry of the result
-| scope | producer | subtree | String | Specifies how deeply to search the tree of entries starting at the base DN.
-| 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
-
-
-
-[[LDAP-Result]]
-Result
-^^^^^^
-
-The result is returned in the Out body as a
-`ArrayList<javax.naming.directory.SearchResult>` object.
-
-[[LDAP-DirContext]]
-DirContext
-^^^^^^^^^^
-
-The URI, `ldap:ldapserver`, references a Spring bean with the ID,
-`ldapserver`. The `ldapserver` bean may be defined as follows:
-
-[source,java]
------------------------------------------------------------------------------------------
-<bean id="ldapserver" class="javax.naming.directory.InitialDirContext" scope="prototype">
-  <constructor-arg>
-    <props>
-      <prop key="java.naming.factory.initial">com.sun.jndi.ldap.LdapCtxFactory</prop>
-      <prop key="java.naming.provider.url">ldap://localhost:10389</prop>
-      <prop key="java.naming.security.authentication">none</prop>
-    </props>
-  </constructor-arg>
-</bean>
------------------------------------------------------------------------------------------
-
-The preceding example declares a regular Sun based LDAP `DirContext`
-that connects anonymously to a locally hosted LDAP server.
-
-NOTE: `DirContext` objects are *not* required to support concurrency by
-contract. It is therefore important that the directory context is
-declared with the setting, `scope="prototype"`, in the `bean` definition
-or that the context supports concurrency. In the Spring framework,
-`prototype` scoped objects are instantiated each time they are looked
-up.
-
-[[LDAP-Samples]]
-Samples
-^^^^^^^
-
-Following on from the Spring configuration above, the code sample below
-sends an LDAP request to filter search a group for a member. The Common
-Name is then extracted from the response.
-
-[source,java]
-----------------------------------------------------------
-ProducerTemplate<Exchange> template = exchange
-  .getContext().createProducerTemplate();
-
-Collection<?> results = (Collection<?>) (template
-  .sendBody(
-    "ldap:ldapserver?base=ou=mygroup,ou=groups,ou=system",
-    "(member=uid=huntc,ou=users,ou=system)"));
-
-if (results.size() > 0) {
-  // Extract what we need from the device's profile
-
-  Iterator<?> resultIter = results.iterator();
-  SearchResult searchResult = (SearchResult) resultIter
-      .next();
-  Attributes attributes = searchResult
-      .getAttributes();
-  Attribute deviceCNAttr = attributes.get("cn");
-  String deviceCN = (String) deviceCNAttr.get();
-
-  ...
-----------------------------------------------------------
-
-If no specific filter is required - for example, you just need to look
-up a single entry - specify a wildcard filter expression. For example,
-if the LDAP entry has a Common Name, use a filter expression like:
-
-[source,java]
-------
-(cn=*)
-------
-
-[[LDAP-Bindingusingcredentials]]
-Binding using credentials
-+++++++++++++++++++++++++
-
-A Camel end user donated this sample code he used to bind to the ldap
-server using credentials.
-
-[source,java]
----------------------------------------------------------------------------------------
-Properties props = new Properties();
-props.setProperty(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
-props.setProperty(Context.PROVIDER_URL, "ldap://localhost:389");
-props.setProperty(Context.URL_PKG_PREFIXES, "com.sun.jndi.url");
-props.setProperty(Context.REFERRAL, "ignore");
-props.setProperty(Context.SECURITY_AUTHENTICATION, "simple");
-props.setProperty(Context.SECURITY_PRINCIPAL, "cn=Manager");
-props.setProperty(Context.SECURITY_CREDENTIALS, "secret");
-
-SimpleRegistry reg = new SimpleRegistry();
-reg.put("myldap", new InitialLdapContext(props, null));
-
-CamelContext context = new DefaultCamelContext(reg);
-context.addRoutes(
-    new RouteBuilder() {
-        public void configure() throws Exception { 
-            from("direct:start").to("ldap:myldap?base=ou=test");
-        }
-    }
-);
-context.start();
-
-ProducerTemplate template = context.createProducerTemplate();
-
-Endpoint endpoint = context.getEndpoint("direct:start");
-Exchange exchange = endpoint.createExchange();
-exchange.getIn().setBody("(uid=test)");
-Exchange out = template.send(endpoint, exchange);
-
-Collection<SearchResult> data = out.getOut().getBody(Collection.class);
-assert data != null;
-assert !data.isEmpty();
-
-System.out.println(out.getOut().getBody());
-
-context.stop();
----------------------------------------------------------------------------------------
-
-[[LDAP-ConfiguringSSL]]
-Configuring SSL
-^^^^^^^^^^^^^^^
-
-All required is to create a custom socket factory and reference it in
-the InitialDirContext bean - see below sample.
-
-*SSL Configuration*
-
-[source,xml]
-----------------------------------------------------------------------------------------------------------------------------------
-<?xml version="1.0" encoding="UTF-8"?>
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
-                 http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd">
-
-
-    <sslContextParameters xmlns="http://camel.apache.org/schema/blueprint"
-                          id="sslContextParameters">
-        <keyManagers
-                keyPassword="{{keystore.pwd}}">
-            <keyStore
-                    resource="{{keystore.url}}"
-                    password="{{keystore.pwd}}"/>
-        </keyManagers>
-    </sslContextParameters>
-
-    <bean id="customSocketFactory" class="zotix.co.util.CustomSocketFactory">
-        <argument ref="sslContextParameters" />
-    </bean>
-    <bean id="ldapserver" class="javax.naming.directory.InitialDirContext" scope="prototype">
-        <argument>
-            <props>
-                <prop key="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
-                <prop key="java.naming.provider.url" value="ldaps://lab.zotix.co:636"/>
-                <prop key="java.naming.security.protocol" value="ssl"/>
-                <prop key="java.naming.security.authentication" value="simple" />
-                <prop key="java.naming.security.principal" value="cn=Manager,dc=example,dc=com"/>
-                <prop key="java.naming.security.credentials" value="passw0rd"/>
-                <prop key="java.naming.ldap.factory.socket"
-                      value="zotix.co.util.CustomSocketFactory"/>
-            </props>
-        </argument>
-    </bean>
-</blueprint>
-----------------------------------------------------------------------------------------------------------------------------------
-
-*Custom Socket Factory*
-
-[source,java]
------------------------------------------------------------------------------------------------------
-import org.apache.camel.util.jsse.SSLContextParameters;
-
-import javax.net.SocketFactory;
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.SSLSocketFactory;
-import javax.net.ssl.TrustManagerFactory;
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.Socket;
-import java.security.KeyStore;
-
-/**
- * The CustomSocketFactory. Loads the KeyStore and creates an instance of SSLSocketFactory
- */
-public class CustomSocketFactory extends SSLSocketFactory {
-
-    private static SSLSocketFactory socketFactory;
-
-    /**
-     * Called by the getDefault() method.
-     */
-    public CustomSocketFactory() {
-
-    }
-
-    /**
-     * Called by Blueprint DI to initialise an instance of SocketFactory
-     *
-     * @param sslContextParameters
-     */
-    public CustomSocketFactory(SSLContextParameters sslContextParameters) {
-        try {
-            KeyStore keyStore = sslContextParameters.getKeyManagers().getKeyStore().createKeyStore();
-            TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
-            tmf.init(keyStore);
-            SSLContext ctx = SSLContext.getInstance("TLS");
-            ctx.init(null, tmf.getTrustManagers(), null);
-            socketFactory = ctx.getSocketFactory();
-        } catch (Exception ex) {
-            ex.printStackTrace(System.err);  /* handle exception */
-        }
-    }
-
-    /**
-     * Getter for the SocketFactory
-     *
-     * @return
-     */
-    public static SocketFactory getDefault() {
-        return new CustomSocketFactory();
-    }
-
-    @Override
-    public String[] getDefaultCipherSuites() {
-        return socketFactory.getDefaultCipherSuites();
-    }
-
-    @Override
-    public String[] getSupportedCipherSuites() {
-        return socketFactory.getSupportedCipherSuites();
-    }
-
-    @Override
-    public Socket createSocket(Socket socket, String string, int i, boolean bln) throws IOException {
-        return socketFactory.createSocket(socket, string, i, bln);
-    }
-
-    @Override
-    public Socket createSocket(String string, int i) throws IOException {
-        return socketFactory.createSocket(string, i);
-    }
-
-    @Override
-    public Socket createSocket(String string, int i, InetAddress ia, int i1) throws IOException {
-        return socketFactory.createSocket(string, i, ia, i1);
-    }
-
-    @Override
-    public Socket createSocket(InetAddress ia, int i) throws IOException {
-        return socketFactory.createSocket(ia, i);
-    }
-
-    @Override
-    public Socket createSocket(InetAddress ia, int i, InetAddress ia1, int i1) throws IOException {
-        return socketFactory.createSocket(ia, i, ia1, i1);
-    }
-}
------------------------------------------------------------------------------------------------------
-
-�
-
-[[LDAP-SeeAlso]]
-See Also
-^^^^^^^^
-
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
-