camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From davscl...@apache.org
Subject [27/51] [partial] camel git commit: CAMEL-9541: Use -component as suffix for component docs.
Date Tue, 16 Aug 2016 08:03:51 GMT
http://git-wip-us.apache.org/repos/asf/camel/blob/9c0b7baf/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc b/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
new file mode 100644
index 0000000..31c3681
--- /dev/null
+++ b/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
@@ -0,0 +1,182 @@
+[[ElasticSearch-ElasticSearchComponent]]
+ElasticSearch Component
+~~~~~~~~~~~~~~~~~~~~~~~
+
+*Available as of Camel 2.11*
+
+The ElasticSearch component allows you to interface with an
+http://elasticsearch.org[ElasticSearch] 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-elasticsearch</artifactId>
+    <version>x.x.x</version>
+    <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------
+
+[[ElasticSearch-URIformat]]
+URI format
+^^^^^^^^^^
+
+[source,java]
+-------------------------------------
+elasticsearch://clusterName[?options]
+-------------------------------------
+
+[Tip]
+====
+
+
+if you want to run against a local (in JVM/classloader) ElasticSearch
+server, just set the clusterName value in the URI to "local". See the
+http://www.elasticsearch.org/guide/reference/java-api/client.html[client
+guide] for more details.
+
+====
+
+[[ElasticSearch-EndpointOptions]]
+Endpoint Options
+^^^^^^^^^^^^^^^^
+
+
+// component options: START
+The Elasticsearch component supports 1 options which are listed below.
+
+
+
+{% raw %}
+[width="100%",cols="2s,1m,8",options="header"]
+|=======================================================================
+| Name | Java Type | Description
+| client | Client | To use an existing configured Elasticsearch client instead of creating a client per endpoint.
+|=======================================================================
+{% endraw %}
+// component options: END
+
+
+
+
+// endpoint options: START
+The Elasticsearch component supports 13 endpoint options which are listed below:
+
+{% raw %}
+[width="100%",cols="2s,1,1m,1m,5",options="header"]
+|=======================================================================
+| Name | Group | Default | Java Type | Description
+| clusterName | producer |  | String | *Required* Name of cluster or use local for local mode
+| clientTransportSniff | producer | true | Boolean | Is the client allowed to sniff the rest of the cluster or not (default true). This setting map to the client.transport.sniff setting.
+| consistencyLevel | producer | DEFAULT | WriteConsistencyLevel | The write consistency level to use with INDEX and BULK operations (can be any of ONE QUORUM ALL or DEFAULT)
+| data | producer |  | Boolean | Is the node going to be allowed to allocate data (shards) to it or not. This setting map to the node.data setting.
+| indexName | producer |  | String | The name of the index to act against
+| indexType | producer |  | String | The type of the index to act against
+| ip | producer |  | String | The TransportClient remote host ip to use
+| operation | producer |  | String | What operation to perform
+| pathHome | producer | ${user.home}/.elasticsearch | String | The path.home property of ElasticSearch configuration. You need to provide a valid path otherwise the default $user.home/.elasticsearch will be used.
+| port | producer | 9300 | int | The TransportClient remote port to use (defaults to 9300)
+| transportAddresses | producer |  | String | Comma separated list with ip:port formatted remote transport addresses to use. The ip and port options must be left blank for transportAddresses to be considered instead.
+| 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
+
+
+
+[[ElasticSearch-MessageOperations]]
+Message Operations
+^^^^^^^^^^^^^^^^^^
+
+The following ElasticSearch operations are currently supported. Simply
+set an endpoint URI option or exchange header with a key of "operation"
+and a value set to one of the following. Some operations also require
+other parameters or the message body to be set.
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|operation |message body |description
+
+|INDEX |Map, String, byte[] or XContentBuilder content to index |adds content to an index and returns the content's indexId in the body.
+*Camel 2.15,* you can set the indexId by setting the message header with
+the key "indexId".
+
+|GET_BY_ID |index id of content to retrieve |retrieves the specified index and returns a GetResult object in the body
+
+|DELETE |index id of content to delete |deletes the specified indexId and returns a DeleteResult object in the
+body
+
+|BULK_INDEX | a *List* or *Collection* of any type that is already accepted
+(XContentBuilder, Map, byte[], String) |*Camel 2.14,*adds content to an index and return a List of the id of the
+successfully indexed documents in the body
+
+|BULK |a *List* or *Collection* of any type that is already accepted
+(XContentBuilder, Map, byte[], String) |*Camel 2.15:* Adds content to an index and returns the BulkResponse
+object in the body
+
+|SEARCH |Map or SearchRequest Object |*Camel 2.15:* search the content with the map of query string
+
+|MULTIGET |List of MultigetRequest.Item object |*Camel 2.17:* retrieves the specified indexes, types etc. in
+MultigetRequest and returns a MultigetResponse object in the body
+
+|MULTISEARCH |List of SearchRequest object |*Camel 2.17:* search for parameters specified in MultiSearchRequest and
+returns a MultiSearchResponse object in the body
+
+|EXISTS |Index name as header |*Camel 2.17:* Returns a Boolean object in the body
+
+|UPDATE |Map, String, byte[] or XContentBuilder content to update |*Camel 2.17:* Updates content to an index and returns the content's
+indexId in the body.
+|=======================================================================
+
+[[ElasticSearch-IndexExample]]
+Index Example
+^^^^^^^^^^^^^
+
+Below is a simple INDEX example
+
+[source,java]
+-------------------------------------------------------------------------------
+from("direct:index")
+.to("elasticsearch://local?operation=INDEX&indexName=twitter&indexType=tweet");
+-------------------------------------------------------------------------------
+
+[source,xml]
+---------------------------------------------------------------------------------------
+<route>
+    <from uri="direct:index" />
+    <to uri="elasticsearch://local?operation=INDEX&indexName=twitter&indexType=tweet"/>
+</route>
+---------------------------------------------------------------------------------------
+
+A client would simply need to pass a body message containing a Map to
+the route. The result body contains the indexId created.
+
+[source,java]
+-------------------------------------------------------------------------
+Map<String, String> map = new HashMap<String, String>();
+map.put("content", "test");
+String indexId = template.requestBody("direct:index", map, String.class);
+-------------------------------------------------------------------------
+
+[[ElasticSearch-Formoreinformation,seetheseresources]]
+For more information, see these resources
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+http://elasticsearch.org[ElasticSearch Main Site]
+
+http://www.elasticsearch.org/guide/reference/java-api/[ElasticSearch
+Java API]
+
+[[ElasticSearch-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-elasticsearch/src/main/docs/elasticsearch.adoc
----------------------------------------------------------------------
diff --git a/components/camel-elasticsearch/src/main/docs/elasticsearch.adoc b/components/camel-elasticsearch/src/main/docs/elasticsearch.adoc
deleted file mode 100644
index 31c3681..0000000
--- a/components/camel-elasticsearch/src/main/docs/elasticsearch.adoc
+++ /dev/null
@@ -1,182 +0,0 @@
-[[ElasticSearch-ElasticSearchComponent]]
-ElasticSearch Component
-~~~~~~~~~~~~~~~~~~~~~~~
-
-*Available as of Camel 2.11*
-
-The ElasticSearch component allows you to interface with an
-http://elasticsearch.org[ElasticSearch] 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-elasticsearch</artifactId>
-    <version>x.x.x</version>
-    <!-- use the same version as your Camel core version -->
-</dependency>
-------------------------------------------------------------
-
-[[ElasticSearch-URIformat]]
-URI format
-^^^^^^^^^^
-
-[source,java]
--------------------------------------
-elasticsearch://clusterName[?options]
--------------------------------------
-
-[Tip]
-====
-
-
-if you want to run against a local (in JVM/classloader) ElasticSearch
-server, just set the clusterName value in the URI to "local". See the
-http://www.elasticsearch.org/guide/reference/java-api/client.html[client
-guide] for more details.
-
-====
-
-[[ElasticSearch-EndpointOptions]]
-Endpoint Options
-^^^^^^^^^^^^^^^^
-
-
-// component options: START
-The Elasticsearch component supports 1 options which are listed below.
-
-
-
-{% raw %}
-[width="100%",cols="2s,1m,8",options="header"]
-|=======================================================================
-| Name | Java Type | Description
-| client | Client | To use an existing configured Elasticsearch client instead of creating a client per endpoint.
-|=======================================================================
-{% endraw %}
-// component options: END
-
-
-
-
-// endpoint options: START
-The Elasticsearch component supports 13 endpoint options which are listed below:
-
-{% raw %}
-[width="100%",cols="2s,1,1m,1m,5",options="header"]
-|=======================================================================
-| Name | Group | Default | Java Type | Description
-| clusterName | producer |  | String | *Required* Name of cluster or use local for local mode
-| clientTransportSniff | producer | true | Boolean | Is the client allowed to sniff the rest of the cluster or not (default true). This setting map to the client.transport.sniff setting.
-| consistencyLevel | producer | DEFAULT | WriteConsistencyLevel | The write consistency level to use with INDEX and BULK operations (can be any of ONE QUORUM ALL or DEFAULT)
-| data | producer |  | Boolean | Is the node going to be allowed to allocate data (shards) to it or not. This setting map to the node.data setting.
-| indexName | producer |  | String | The name of the index to act against
-| indexType | producer |  | String | The type of the index to act against
-| ip | producer |  | String | The TransportClient remote host ip to use
-| operation | producer |  | String | What operation to perform
-| pathHome | producer | ${user.home}/.elasticsearch | String | The path.home property of ElasticSearch configuration. You need to provide a valid path otherwise the default $user.home/.elasticsearch will be used.
-| port | producer | 9300 | int | The TransportClient remote port to use (defaults to 9300)
-| transportAddresses | producer |  | String | Comma separated list with ip:port formatted remote transport addresses to use. The ip and port options must be left blank for transportAddresses to be considered instead.
-| 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
-
-
-
-[[ElasticSearch-MessageOperations]]
-Message Operations
-^^^^^^^^^^^^^^^^^^
-
-The following ElasticSearch operations are currently supported. Simply
-set an endpoint URI option or exchange header with a key of "operation"
-and a value set to one of the following. Some operations also require
-other parameters or the message body to be set.
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|operation |message body |description
-
-|INDEX |Map, String, byte[] or XContentBuilder content to index |adds content to an index and returns the content's indexId in the body.
-*Camel 2.15,* you can set the indexId by setting the message header with
-the key "indexId".
-
-|GET_BY_ID |index id of content to retrieve |retrieves the specified index and returns a GetResult object in the body
-
-|DELETE |index id of content to delete |deletes the specified indexId and returns a DeleteResult object in the
-body
-
-|BULK_INDEX | a *List* or *Collection* of any type that is already accepted
-(XContentBuilder, Map, byte[], String) |*Camel 2.14,*adds content to an index and return a List of the id of the
-successfully indexed documents in the body
-
-|BULK |a *List* or *Collection* of any type that is already accepted
-(XContentBuilder, Map, byte[], String) |*Camel 2.15:* Adds content to an index and returns the BulkResponse
-object in the body
-
-|SEARCH |Map or SearchRequest Object |*Camel 2.15:* search the content with the map of query string
-
-|MULTIGET |List of MultigetRequest.Item object |*Camel 2.17:* retrieves the specified indexes, types etc. in
-MultigetRequest and returns a MultigetResponse object in the body
-
-|MULTISEARCH |List of SearchRequest object |*Camel 2.17:* search for parameters specified in MultiSearchRequest and
-returns a MultiSearchResponse object in the body
-
-|EXISTS |Index name as header |*Camel 2.17:* Returns a Boolean object in the body
-
-|UPDATE |Map, String, byte[] or XContentBuilder content to update |*Camel 2.17:* Updates content to an index and returns the content's
-indexId in the body.
-|=======================================================================
-
-[[ElasticSearch-IndexExample]]
-Index Example
-^^^^^^^^^^^^^
-
-Below is a simple INDEX example
-
-[source,java]
--------------------------------------------------------------------------------
-from("direct:index")
-.to("elasticsearch://local?operation=INDEX&indexName=twitter&indexType=tweet");
--------------------------------------------------------------------------------
-
-[source,xml]
----------------------------------------------------------------------------------------
-<route>
-    <from uri="direct:index" />
-    <to uri="elasticsearch://local?operation=INDEX&indexName=twitter&indexType=tweet"/>
-</route>
----------------------------------------------------------------------------------------
-
-A client would simply need to pass a body message containing a Map to
-the route. The result body contains the indexId created.
-
-[source,java]
--------------------------------------------------------------------------
-Map<String, String> map = new HashMap<String, String>();
-map.put("content", "test");
-String indexId = template.requestBody("direct:index", map, String.class);
--------------------------------------------------------------------------
-
-[[ElasticSearch-Formoreinformation,seetheseresources]]
-For more information, see these resources
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-http://elasticsearch.org[ElasticSearch Main Site]
-
-http://www.elasticsearch.org/guide/reference/java-api/[ElasticSearch
-Java API]
-
-[[ElasticSearch-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-elsql/src/main/docs/elsql-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-elsql/src/main/docs/elsql-component.adoc b/components/camel-elsql/src/main/docs/elsql-component.adoc
new file mode 100644
index 0000000..32031d4
--- /dev/null
+++ b/components/camel-elsql/src/main/docs/elsql-component.adoc
@@ -0,0 +1,247 @@
+[[ElSql-ElSqlComponent]]
+ElSql Component
+~~~~~~~~~~~~~~~
+
+*Available as of Camel 2.16*
+
+The *elsql:* component is an extension to the existing
+link:sql-component.html[SQL Component] that uses
+https://github.com/OpenGamma/ElSql[ElSql] to define the SQL queries. 
+
+This component uses `spring-jdbc` behind the scenes for the actual SQL
+handling.
+
+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-elsql</artifactId>
+    <version>x.x.x</version>
+    <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------
+
+[Info]
+====
+This component can be used as a
+http://camel.apache.org/transactional-client.html[Transactional Client].
+====
+
+The SQL component uses the following endpoint URI notation:
+
+[source,java]
+-----------------------------------
+sql:elSqlName:resourceUri[?options]
+-----------------------------------
+
+You can append query options to the URI in the following
+format, `?option=value&option=value&...`
+
+The parameters to the SQL queries are named parameters in the elsql
+mapping files, and maps to corresponding keys from the Camel message, in
+the given precedence:
+
+1. *Camel 2.16.1:* from message body if link:simple.html[Simple]
+expression.
+
+2. from message body if its a `java.util.Map`3. from message headers
+
+If a named parameter cannot be resolved, then an exception is thrown.
+
+[[ElSql-Options]]
+Options
+^^^^^^^
+
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|=======================================================================
+|Option |Type |Default |Description
+
+|`resourceUri` |String |null |*Required* The resource file which contains the elsql SQL statements to
+use. You can specify multiple resources separated by comma. The
+resources are loaded on the classpath by default, you can prefix with
+file: to load from file system. Notice you can set this option on the
+component and then you do not have to configure this on the endpoint.
+
+|`elSqlConfig` |  | null |To use a specific configured ElSqlConfig. It may be better to use the
+databaseVendor option instead.
+
+|`databaseVendor` |  | Default |To use a vendor specific ElSqlConfig. The possible values are: Default,
+Postgres, HSql, MySql, Oracle, SqlServer2008, Veritca
+
+|`batch` |`boolean` |`false` |Execute SQL batch update statements. See notes below on how the
+treatment of the inbound message body changes if this is set to `true`.
+
+|`dataSource` |`String` |`null` |Reference to a `DataSource` to look up in the registry.
+
+|`template.<xxx>` |  | `null` |Sets additional options on the Spring NamedParameterJdbcTemplate that is
+used behind the scenes to execute the queries. For instance,
+`template.maxRows=10`. For detailed documentation, see the
+NamedParameterJdbcTemplate javadoc documentation.
+
+|`consumer.delay` |`long` |`500` |Delay in milliseconds between each poll.
+
+|`consumer.initialDelay` |`long` |`1000` |Milliseconds before polling starts.
+
+|`consumer.useFixedDelay` |`boolean` |`false` |Set to `true` to use fixed delay between polls, otherwise fixed rate is
+used. See
+http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ScheduledExecutorService.html[ScheduledExecutorService]
+in JDK for details.
+
+|`maxMessagesPerPoll` |`int` |`0` |An integer value to define the maximum number of messages to gather per
+poll. By default, no maximum is set.
+
+|`consumer.useIterator` |`boolean` |`true` |If `true` each row returned when polling will be processed individually.
+If `false` the entire `java.util.List` of data is set as the IN body.
+
+|`consumer.routeEmptyResultSet` |`boolean` |`false` |Whether to route a single empty link:exchange.html[Exchange] if there
+was no data to poll.
+
+|`consumer.onConsume` |`String` |`null` |After processing each row then this query can be executed, if the
+link:exchange.html[Exchange] was processed successfully, for example to
+mark the row as processed. The query can have parameter.
+
+|`consumer.onConsumeFailed` |`String` |`null` |After processing each row then this query can be executed, if the
+link:exchange.html[Exchange] failed, for example to mark the row as
+failed. The query can have parameter.
+
+|`consumer.onConsumeBatchComplete` |`String` |`null` |After processing the entire batch, this query can be executed to bulk
+update rows etc. The query cannot have parameters.
+
+|`consumer.breakBatchOnConsumeFail` |`boolean` |`false` |If using `consumer.onConsume` and it fails, then this option controls
+whether to break out of the batch or continue processing the next row
+from the batch.
+
+|`outputType` |`String` |`SelectList` |Make the output of consumer or producer to `SelectList` as List of Map,
+or `SelectOne` as single Java object in the following way: +
+ a) If the query has only single column, then that JDBC Column object is
+returned. (such as `SELECT COUNT( * ) FROM PROJECT` will return a Long
+object. +
+ b) If the query has more than one column, then it will return a Map of
+that result. +
+ c) If the `outputClass` is set, then it will convert the query result
+into an Java bean object by calling all the setters that match the
+column names. It will assume your class has a default constructor to
+create instance with. +
+ d) If the query resulted in more than one rows, it throws an non-unique
+result exception.
+The SelectList also supports mapping each row to a Java object as the
+SelectOne does (only step c).
+
+|`outputClass` |`String` |`null` |Specify the full package and class name to use as conversion when
+`outputType=SelectOne`.
+
+|`outputHeader` |`String` |`null` |To store the result as a header instead of the message body. This allows
+to preserve the existing message body as-is.
+
+|`noop` |`boolean` |`false` |If set, will ignore the results of the SQL query and use the existing IN
+message as the OUT message for the continuation of processing
+
+|`transacted` |`boolean` |`false` |*Camel 2.16.2:* *SQL consumer only:*Enables or disables transaction. If
+enabled then if processing an exchange failed then the consumer break
+out processing any further exchanges to cause a rollback eager
+|=======================================================================
+
+[[ElSql-Resultofthequery]]
+Result of the query
+^^^^^^^^^^^^^^^^^^^
+
+For `select` operations, the result is an instance of
+`List<Map<String, Object>>` type, as returned by the
+JdbcTemplate.queryForList() method. For `update` operations, the result
+is the number of updated rows, returned as an `Integer`.
+
+By default, the result is placed in the message body.  If the
+outputHeader parameter is set, the result is placed in the header.  This
+is an alternative to using a full message enrichment pattern to add
+headers, it provides a concise syntax for querying a sequence or some
+other small value into a header.  It is convenient to use outputHeader
+and outputType together:
+
+[[ElSql-Headervalues]]
+Header values
+^^^^^^^^^^^^^
+
+When performing `update` operations, the SQL Component stores the update
+count in the following message headers:
+
+[width="100%",cols="10%,90%",options="header",]
+|=======================================================================
+|Header |Description
+
+|`CamelSqlUpdateCount` |The number of rows updated for `update` operations, returned as an
+`Integer` object.
+
+|`CamelSqlRowCount` |The number of rows returned for `select` operations, returned as an
+`Integer` object.
+|=======================================================================
+
+[[ElSql-Sample]]
+Sample
+++++++
+
+In the given route below, we want to get all the projects from the
+projects table. Notice the SQL query has 2 named parameters, :#lic and
+:#min.
+
+Camel will then lookup for these parameters from the message body or
+message headers. Notice in the example above we set two headers with
+constant value +
+ for the named parameters:
+
+[source,java]
+-----------------------------------------------
+   from("direct:projects")
+     .setHeader("lic", constant("ASF"))
+     .setHeader("min", constant(123))
+     .to("elsql:projects:com/foo/orders.elsql")
+-----------------------------------------------
+
+And the https://github.com/OpenGamma/ElSql[elsql] mapping file
+
+[source,java]
+------------------------------------
+@NAME(projects)
+  SELECT *
+  FROM projects
+  WHERE license = :lic AND id > :min
+  ORDER BY id
+------------------------------------
+
+Though if the message body is a `java.util.Map` then the named
+parameters will be taken from the body.
+
+[source,java]
+-----------------------------------------------
+   from("direct:projects")
+     .to("elsql:projects:com/foo/orders.elsql")
+-----------------------------------------------
+
+In from Camel 2.16.1 onwards you can use Simple expressions as well,
+which allows to use an OGNL like notation on the message body, where it
+assumes to have `getLicense` and `getMinimum` methods:
+
+[source,java]
+------------------------------------------------------------
+@NAME(projects)
+  SELECT *
+  FROM projects
+  WHERE license = :${body.license} AND id > :${body.minimum}
+  ORDER BY id
+------------------------------------------------------------
+
+[[ElSql-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:sql-component.html[SQL Component]
+* link:mybatis.html[MyBatis]
+* link:jdbc.html[JDBC]
+

http://git-wip-us.apache.org/repos/asf/camel/blob/9c0b7baf/components/camel-elsql/src/main/docs/elsql.adoc
----------------------------------------------------------------------
diff --git a/components/camel-elsql/src/main/docs/elsql.adoc b/components/camel-elsql/src/main/docs/elsql.adoc
deleted file mode 100644
index 32031d4..0000000
--- a/components/camel-elsql/src/main/docs/elsql.adoc
+++ /dev/null
@@ -1,247 +0,0 @@
-[[ElSql-ElSqlComponent]]
-ElSql Component
-~~~~~~~~~~~~~~~
-
-*Available as of Camel 2.16*
-
-The *elsql:* component is an extension to the existing
-link:sql-component.html[SQL Component] that uses
-https://github.com/OpenGamma/ElSql[ElSql] to define the SQL queries. 
-
-This component uses `spring-jdbc` behind the scenes for the actual SQL
-handling.
-
-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-elsql</artifactId>
-    <version>x.x.x</version>
-    <!-- use the same version as your Camel core version -->
-</dependency>
-------------------------------------------------------------
-
-[Info]
-====
-This component can be used as a
-http://camel.apache.org/transactional-client.html[Transactional Client].
-====
-
-The SQL component uses the following endpoint URI notation:
-
-[source,java]
------------------------------------
-sql:elSqlName:resourceUri[?options]
------------------------------------
-
-You can append query options to the URI in the following
-format, `?option=value&option=value&...`
-
-The parameters to the SQL queries are named parameters in the elsql
-mapping files, and maps to corresponding keys from the Camel message, in
-the given precedence:
-
-1. *Camel 2.16.1:* from message body if link:simple.html[Simple]
-expression.
-
-2. from message body if its a `java.util.Map`3. from message headers
-
-If a named parameter cannot be resolved, then an exception is thrown.
-
-[[ElSql-Options]]
-Options
-^^^^^^^
-
-[width="100%",cols="10%,10%,10%,70%",options="header",]
-|=======================================================================
-|Option |Type |Default |Description
-
-|`resourceUri` |String |null |*Required* The resource file which contains the elsql SQL statements to
-use. You can specify multiple resources separated by comma. The
-resources are loaded on the classpath by default, you can prefix with
-file: to load from file system. Notice you can set this option on the
-component and then you do not have to configure this on the endpoint.
-
-|`elSqlConfig` |  | null |To use a specific configured ElSqlConfig. It may be better to use the
-databaseVendor option instead.
-
-|`databaseVendor` |  | Default |To use a vendor specific ElSqlConfig. The possible values are: Default,
-Postgres, HSql, MySql, Oracle, SqlServer2008, Veritca
-
-|`batch` |`boolean` |`false` |Execute SQL batch update statements. See notes below on how the
-treatment of the inbound message body changes if this is set to `true`.
-
-|`dataSource` |`String` |`null` |Reference to a `DataSource` to look up in the registry.
-
-|`template.<xxx>` |  | `null` |Sets additional options on the Spring NamedParameterJdbcTemplate that is
-used behind the scenes to execute the queries. For instance,
-`template.maxRows=10`. For detailed documentation, see the
-NamedParameterJdbcTemplate javadoc documentation.
-
-|`consumer.delay` |`long` |`500` |Delay in milliseconds between each poll.
-
-|`consumer.initialDelay` |`long` |`1000` |Milliseconds before polling starts.
-
-|`consumer.useFixedDelay` |`boolean` |`false` |Set to `true` to use fixed delay between polls, otherwise fixed rate is
-used. See
-http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ScheduledExecutorService.html[ScheduledExecutorService]
-in JDK for details.
-
-|`maxMessagesPerPoll` |`int` |`0` |An integer value to define the maximum number of messages to gather per
-poll. By default, no maximum is set.
-
-|`consumer.useIterator` |`boolean` |`true` |If `true` each row returned when polling will be processed individually.
-If `false` the entire `java.util.List` of data is set as the IN body.
-
-|`consumer.routeEmptyResultSet` |`boolean` |`false` |Whether to route a single empty link:exchange.html[Exchange] if there
-was no data to poll.
-
-|`consumer.onConsume` |`String` |`null` |After processing each row then this query can be executed, if the
-link:exchange.html[Exchange] was processed successfully, for example to
-mark the row as processed. The query can have parameter.
-
-|`consumer.onConsumeFailed` |`String` |`null` |After processing each row then this query can be executed, if the
-link:exchange.html[Exchange] failed, for example to mark the row as
-failed. The query can have parameter.
-
-|`consumer.onConsumeBatchComplete` |`String` |`null` |After processing the entire batch, this query can be executed to bulk
-update rows etc. The query cannot have parameters.
-
-|`consumer.breakBatchOnConsumeFail` |`boolean` |`false` |If using `consumer.onConsume` and it fails, then this option controls
-whether to break out of the batch or continue processing the next row
-from the batch.
-
-|`outputType` |`String` |`SelectList` |Make the output of consumer or producer to `SelectList` as List of Map,
-or `SelectOne` as single Java object in the following way: +
- a) If the query has only single column, then that JDBC Column object is
-returned. (such as `SELECT COUNT( * ) FROM PROJECT` will return a Long
-object. +
- b) If the query has more than one column, then it will return a Map of
-that result. +
- c) If the `outputClass` is set, then it will convert the query result
-into an Java bean object by calling all the setters that match the
-column names. It will assume your class has a default constructor to
-create instance with. +
- d) If the query resulted in more than one rows, it throws an non-unique
-result exception.
-The SelectList also supports mapping each row to a Java object as the
-SelectOne does (only step c).
-
-|`outputClass` |`String` |`null` |Specify the full package and class name to use as conversion when
-`outputType=SelectOne`.
-
-|`outputHeader` |`String` |`null` |To store the result as a header instead of the message body. This allows
-to preserve the existing message body as-is.
-
-|`noop` |`boolean` |`false` |If set, will ignore the results of the SQL query and use the existing IN
-message as the OUT message for the continuation of processing
-
-|`transacted` |`boolean` |`false` |*Camel 2.16.2:* *SQL consumer only:*Enables or disables transaction. If
-enabled then if processing an exchange failed then the consumer break
-out processing any further exchanges to cause a rollback eager
-|=======================================================================
-
-[[ElSql-Resultofthequery]]
-Result of the query
-^^^^^^^^^^^^^^^^^^^
-
-For `select` operations, the result is an instance of
-`List<Map<String, Object>>` type, as returned by the
-JdbcTemplate.queryForList() method. For `update` operations, the result
-is the number of updated rows, returned as an `Integer`.
-
-By default, the result is placed in the message body.  If the
-outputHeader parameter is set, the result is placed in the header.  This
-is an alternative to using a full message enrichment pattern to add
-headers, it provides a concise syntax for querying a sequence or some
-other small value into a header.  It is convenient to use outputHeader
-and outputType together:
-
-[[ElSql-Headervalues]]
-Header values
-^^^^^^^^^^^^^
-
-When performing `update` operations, the SQL Component stores the update
-count in the following message headers:
-
-[width="100%",cols="10%,90%",options="header",]
-|=======================================================================
-|Header |Description
-
-|`CamelSqlUpdateCount` |The number of rows updated for `update` operations, returned as an
-`Integer` object.
-
-|`CamelSqlRowCount` |The number of rows returned for `select` operations, returned as an
-`Integer` object.
-|=======================================================================
-
-[[ElSql-Sample]]
-Sample
-++++++
-
-In the given route below, we want to get all the projects from the
-projects table. Notice the SQL query has 2 named parameters, :#lic and
-:#min.
-
-Camel will then lookup for these parameters from the message body or
-message headers. Notice in the example above we set two headers with
-constant value +
- for the named parameters:
-
-[source,java]
------------------------------------------------
-   from("direct:projects")
-     .setHeader("lic", constant("ASF"))
-     .setHeader("min", constant(123))
-     .to("elsql:projects:com/foo/orders.elsql")
------------------------------------------------
-
-And the https://github.com/OpenGamma/ElSql[elsql] mapping file
-
-[source,java]
-------------------------------------
-@NAME(projects)
-  SELECT *
-  FROM projects
-  WHERE license = :lic AND id > :min
-  ORDER BY id
-------------------------------------
-
-Though if the message body is a `java.util.Map` then the named
-parameters will be taken from the body.
-
-[source,java]
------------------------------------------------
-   from("direct:projects")
-     .to("elsql:projects:com/foo/orders.elsql")
------------------------------------------------
-
-In from Camel 2.16.1 onwards you can use Simple expressions as well,
-which allows to use an OGNL like notation on the message body, where it
-assumes to have `getLicense` and `getMinimum` methods:
-
-[source,java]
-------------------------------------------------------------
-@NAME(projects)
-  SELECT *
-  FROM projects
-  WHERE license = :${body.license} AND id > :${body.minimum}
-  ORDER BY id
-------------------------------------------------------------
-
-[[ElSql-SeeAlso]]
-See Also
-^^^^^^^^
-
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
-
-* link:sql-component.html[SQL Component]
-* link:mybatis.html[MyBatis]
-* link:jdbc.html[JDBC]
-

http://git-wip-us.apache.org/repos/asf/camel/blob/9c0b7baf/components/camel-etcd/src/main/docs/etcd-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-etcd/src/main/docs/etcd-component.adoc b/components/camel-etcd/src/main/docs/etcd-component.adoc
new file mode 100644
index 0000000..08f30c9
--- /dev/null
+++ b/components/camel-etcd/src/main/docs/etcd-component.adoc
@@ -0,0 +1,59 @@
++[[Etcd-Etcd]]
++Etcd
+
+
+
+
+
+
+
+
+
+
+
+
+// endpoint options: START
+The etcd component supports 16 endpoint options which are listed below:
+
+{% raw %}
+[width="100%",cols="2s,1,1m,1m,5",options="header"]
+|=======================================================================
+| Name | Group | Default | Java Type | Description
+| namespace | common |  | EtcdNamespace | *Required* The API namespace to use
+| path | common |  | String | The path the enpoint refers to
+| recursive | common | false | boolean | To apply an action recursively.
+| servicePath | common | /services/ | String | The path to look for for service discovery
+| timeout | common |  | Long | To set the maximum time an action could take to complete.
+| uris | common | http://localhost:2379,http://localhost:4001 | String | To set the URIs the client connects.
+| 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.
+| sendEmptyExchangeOnTimeout | consumer | false | boolean | To send an empty message in case of timeout watching for a key.
+| 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.
+| fromIndex | consumer (advanced) | 0 | Long | The index to watch from
+| timeToLive | producer |  | Integer | To set the lifespan of a key in milliseconds.
+| 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).
+| password | security |  | String | The password to use for basic authentication.
+| sslContextParameters | security |  | SSLContextParameters | To configure security using SSLContextParameters.
+| userName | security |  | String | The user name to use for basic authentication.
+|=======================================================================
+{% endraw %}
+// endpoint options: END
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+// component options: START
+The etcd component has no options.
+// component options: END
+
+

http://git-wip-us.apache.org/repos/asf/camel/blob/9c0b7baf/components/camel-etcd/src/main/docs/etcd.adoc
----------------------------------------------------------------------
diff --git a/components/camel-etcd/src/main/docs/etcd.adoc b/components/camel-etcd/src/main/docs/etcd.adoc
deleted file mode 100644
index 08f30c9..0000000
--- a/components/camel-etcd/src/main/docs/etcd.adoc
+++ /dev/null
@@ -1,59 +0,0 @@
-+[[Etcd-Etcd]]
-+Etcd
-
-
-
-
-
-
-
-
-
-
-
-
-// endpoint options: START
-The etcd component supports 16 endpoint options which are listed below:
-
-{% raw %}
-[width="100%",cols="2s,1,1m,1m,5",options="header"]
-|=======================================================================
-| Name | Group | Default | Java Type | Description
-| namespace | common |  | EtcdNamespace | *Required* The API namespace to use
-| path | common |  | String | The path the enpoint refers to
-| recursive | common | false | boolean | To apply an action recursively.
-| servicePath | common | /services/ | String | The path to look for for service discovery
-| timeout | common |  | Long | To set the maximum time an action could take to complete.
-| uris | common | http://localhost:2379,http://localhost:4001 | String | To set the URIs the client connects.
-| 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.
-| sendEmptyExchangeOnTimeout | consumer | false | boolean | To send an empty message in case of timeout watching for a key.
-| 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.
-| fromIndex | consumer (advanced) | 0 | Long | The index to watch from
-| timeToLive | producer |  | Integer | To set the lifespan of a key in milliseconds.
-| 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).
-| password | security |  | String | The password to use for basic authentication.
-| sslContextParameters | security |  | SSLContextParameters | To configure security using SSLContextParameters.
-| userName | security |  | String | The user name to use for basic authentication.
-|=======================================================================
-{% endraw %}
-// endpoint options: END
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-// component options: START
-The etcd component has no options.
-// component options: END
-
-

http://git-wip-us.apache.org/repos/asf/camel/blob/9c0b7baf/components/camel-eventadmin/src/main/docs/eventadmin-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-eventadmin/src/main/docs/eventadmin-component.adoc b/components/camel-eventadmin/src/main/docs/eventadmin-component.adoc
new file mode 100644
index 0000000..4e621f3
--- /dev/null
+++ b/components/camel-eventadmin/src/main/docs/eventadmin-component.adoc
@@ -0,0 +1,76 @@
+[[EventAdmin-EventAdmincomponent]]
+EventAdmin component
+~~~~~~~~~~~~~~~~~~~~
+
+*Available in Camel 2.6*
+
+The `eventadmin` component can be used in an OSGi environment to receive
+OSGi EventAdmin events and process them.
+
+[[EventAdmin-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+Maven users need to add the following dependency to their `pom.xml`
+
+[source,xml]
+-------------------------------------------
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-eventadmin</artifactId>
+  <version>${camel-version}</version>
+</dependency>
+-------------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.6.0 or higher).
+
+[[EventAdmin-URIformat]]
+URI format
+^^^^^^^^^^
+
+[source,xml]
+--------------------------
+eventadmin:topic[?options]
+--------------------------
+
+where `topic` is the name of the topic to listen too.
+
+[[EventAdmin-URIoptions]]
+URI options
+^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Name |Default value |Description
+
+|`send` |`false` |Whether to use 'send' or 'synchronous' deliver. Default false (async
+delivery)
+|=======================================================================
+
+[[EventAdmin-Messageheaders]]
+Message headers
+^^^^^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Name |Type |Message |Description
+|=======================================================================
+
+[[EventAdmin-Messagebody]]
+Message body
+^^^^^^^^^^^^
+
+The `in` message body will be set to the received Event.
+
+[[EventAdmin-Exampleusage]]
+Example usage
+^^^^^^^^^^^^^
+
+[source,xml]
+------------------------------
+<route>
+    <from uri="eventadmin:*"/>
+    <to uri="stream:out"/>
+</route>
+------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/9c0b7baf/components/camel-eventadmin/src/main/docs/eventadmin.adoc
----------------------------------------------------------------------
diff --git a/components/camel-eventadmin/src/main/docs/eventadmin.adoc b/components/camel-eventadmin/src/main/docs/eventadmin.adoc
deleted file mode 100644
index 4e621f3..0000000
--- a/components/camel-eventadmin/src/main/docs/eventadmin.adoc
+++ /dev/null
@@ -1,76 +0,0 @@
-[[EventAdmin-EventAdmincomponent]]
-EventAdmin component
-~~~~~~~~~~~~~~~~~~~~
-
-*Available in Camel 2.6*
-
-The `eventadmin` component can be used in an OSGi environment to receive
-OSGi EventAdmin events and process them.
-
-[[EventAdmin-Dependencies]]
-Dependencies
-^^^^^^^^^^^^
-
-Maven users need to add the following dependency to their `pom.xml`
-
-[source,xml]
--------------------------------------------
-<dependency>
-  <groupId>org.apache.camel</groupId>
-  <artifactId>camel-eventadmin</artifactId>
-  <version>${camel-version}</version>
-</dependency>
--------------------------------------------
-
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.6.0 or higher).
-
-[[EventAdmin-URIformat]]
-URI format
-^^^^^^^^^^
-
-[source,xml]
---------------------------
-eventadmin:topic[?options]
---------------------------
-
-where `topic` is the name of the topic to listen too.
-
-[[EventAdmin-URIoptions]]
-URI options
-^^^^^^^^^^^
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Name |Default value |Description
-
-|`send` |`false` |Whether to use 'send' or 'synchronous' deliver. Default false (async
-delivery)
-|=======================================================================
-
-[[EventAdmin-Messageheaders]]
-Message headers
-^^^^^^^^^^^^^^^
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Name |Type |Message |Description
-|=======================================================================
-
-[[EventAdmin-Messagebody]]
-Message body
-^^^^^^^^^^^^
-
-The `in` message body will be set to the received Event.
-
-[[EventAdmin-Exampleusage]]
-Example usage
-^^^^^^^^^^^^^
-
-[source,xml]
-------------------------------
-<route>
-    <from uri="eventadmin:*"/>
-    <to uri="stream:out"/>
-</route>
-------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/9c0b7baf/components/camel-exec/src/main/docs/exec-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-exec/src/main/docs/exec-component.adoc b/components/camel-exec/src/main/docs/exec-component.adoc
new file mode 100644
index 0000000..a81a33b
--- /dev/null
+++ b/components/camel-exec/src/main/docs/exec-component.adoc
@@ -0,0 +1,261 @@
+[[Exec-Execcomponent]]
+Exec component
+~~~~~~~~~~~~~~
+
+*Available in Camel 2.3*
+
+The `exec` component can be used to execute system commands.
+
+[[Exec-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+Maven users need to add the following dependency to their `pom.xml`
+
+[source,xml]
+-------------------------------------
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-exec</artifactId>
+  <version>${camel-version}</version>
+</dependency>
+-------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.3.0 or higher).
+
+[[Exec-URIformat]]
+URI format
+^^^^^^^^^^
+
+[source,xml]
+---------------------------
+exec://executable[?options]
+---------------------------
+
+where `executable` is the name, or file path, of the system command that
+will be executed. If executable name is used (e.g. `exec:java`), the
+executable must in the system path.
+
+[[Exec-URIoptions]]
+URI options
+^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Name |Default value |Description
+|`args` |`null` |The arguments of the executable. The arguments may be one or many +
+ whitespace-separated tokens, that can be quoted with `"` - e.g.
+`args="arg 1" arg2` will use two arguments `arg 1` and `arg2`. To
+include the quotes use `""` - e.g. `args=""arg 1"" arg2` will use the
+arguments `"arg 1"` and `arg2`.
+
+|`workingDir` |`null` |The directory in which the command should be executed. If `null`, the
+working directory of the current process will be used.
+
+|`timeout` |`Long.MAX_VALUE` |The timeout, in milliseconds, after which the executable should be
+terminated. If execution has not completed within the timeout, the
+component will send a termination request.
+
+|`outFile` |`null` |The name of a file, created by the executable, that should be considered
+as its output. If no `outFile` is set, the standard output (stdout) of
+the executable will be used instead.
+
+|`binding` |a `DefaultExecBinding` instance |A reference to a `org.apache.commons.exec.ExecBinding` in the
+http://camel.apache.org/registry.html[Registry].
+
+|`commandExecutor` |a `DefaultCommandExecutor` instance |A reference to a `org.apache.commons.exec.ExecCommandExecutor` in the
+http://camel.apache.org/registry.html[Registry] that customizes the
+command execution. The default command executor utilizes the
+http://commons.apache.org/exec/[commons-exec library], which adds a
+shutdown hook for every executed command.
+
+|`useStderrOnEmptyStdout` |`false` |A boolean indicating that when `stdout` is empty, this component will
+populate the Camel Message Body with `stderr`. This behavior is disabled
+(`false`) by default.
+|=======================================================================
+
+[[Exec-Messageheaders]]
+Message headers
+^^^^^^^^^^^^^^^
+
+The supported headers are defined in
+`org.apache.camel.component.exec.ExecBinding`.
+
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|=======================================================================
+|Name |Type |Message |Description
+
+|`ExecBinding.EXEC_COMMAND_EXECUTABLE` |`String` |`in` |The name of the system command that will be executed. Overrides
+`executable` in the URI.
+
+|`ExecBinding.EXEC_COMMAND_ARGS` |`java.util.List<String>` |`in` |Command-line arguments to pass to the executed process. The arguments
+are used literally - no quoting is applied. Overrides any existing
+`args` in the URI.
+
+|`ExecBinding.EXEC_COMMAND_ARGS` |`String`| `in` |*Camel 2.5:* The arguments of the executable as a Single string where
+each argument is whitespace separated (see `args` in URI option). The
+arguments are used literally, no quoting is applied. Overrides any
+existing `args` in the URI.
+
+|`ExecBinding.EXEC_COMMAND_OUT_FILE` |`String` |`in` |The name of a file, created by the executable, that should be considered
+as its output. Overrides any existing `outFile` in the URI.
+
+|`ExecBinding.EXEC_COMMAND_TIMEOUT` |`long` |`in` |The timeout, in milliseconds, after which the executable should be
+terminated. Overrides any existing `timeout` in the URI.
+
+|`ExecBinding.EXEC_COMMAND_WORKING_DIR` |`String` |`in` |The directory in which the command should be executed. Overrides any
+existing `workingDir` in the URI.
+
+|`ExecBinding.EXEC_EXIT_VALUE` |`int` |`out` |The value of this header is the _exit value_ of the executable. Non-zero
+exit values typically indicate abnormal termination. Note that the exit
+value is OS-dependent.
+
+|`ExecBinding.EXEC_STDERR` |`java.io.InputStream` |`out` |The value of this header points to the standard error stream (stderr) of
+the executable. If no stderr is written, the value is `null`.
+
+|`ExecBinding.EXEC_USE_STDERR_ON_EMPTY_STDOUT` |`boolean` |`in` |Indicates that when `stdout` is empty, this component will populate the
+Camel Message Body with `stderr`. This behavior is disabled (`false`) by
+default.
+|=======================================================================
+
+[[Exec-Messagebody]]
+Message body
+^^^^^^^^^^^^
+
+If the `Exec` component receives an `in` message body that is
+convertible to `java.io.InputStream`, it is used to feed input to the
+executable via its stdin. After execution,
+http://camel.apache.org/exchange.html[the message body] is the result of
+the execution,- that is, an
+`org.apache.camel.components.exec.ExecResult` instance containing the
+stdout, stderr, exit value, and out file. This component supports the
+following `ExecResult` http://camel.apache.org/type-converter.html[type
+converters] for convenience:
+
+[width="100%",cols="50%,50%",options="header",]
+|=======================================================================
+|From |To
+
+|`ExecResult` |`java.io.InputStream`
+
+|`ExecResult` |`String`
+
+|`ExecResult` |`byte []`
+
+|`ExecResult` |`org.w3c.dom.Document`
+|=======================================================================
+
+If an out file is specified (in the endpoint via `outFile` or the
+message headers via `ExecBinding.EXEC_COMMAND_OUT_FILE`), converters
+will return the content of the out file. If no out file is used, then
+this component will convert the stdout of the process to the target
+type. For more details, please refer to the link:exec.html[usage
+examples] below.
+
+[[Exec-Usageexamples]]
+Usage examples
+^^^^^^^^^^^^^^
+
+[[Exec-Executingwordcount]]
+Executing word count (Linux)
+++++++++++++++++++++++++++++
+
+The example below executes `wc` (word count, Linux) to count the words
+in file `/usr/share/dict/words`. The word count (output) is written to
+the standard output stream of `wc`.
+
+[source,java]
+--------------------------------------------------------------------------------------
+from("direct:exec")
+.to("exec:wc?args=--words /usr/share/dict/words")
+.process(new Processor() {
+     public void process(Exchange exchange) throws Exception {
+       // By default, the body is ExecResult instance
+       assertIsInstanceOf(ExecResult.class, exchange.getIn().getBody());
+       // Use the Camel Exec String type converter to convert the ExecResult to String
+       // In this case, the stdout is considered as output
+       String wordCountOutput = exchange.getIn().getBody(String.class);
+       // do something with the word count
+     }
+});
+--------------------------------------------------------------------------------------
+
+[[Exec-Executingjava]]
+Executing `java`
+++++++++++++++++
+
+The example below executes `java` with 2 arguments: `-server` and
+`-version`, provided that `java` is in the system path.
+
+[source,java]
+--------------------------------------
+from("direct:exec")
+.to("exec:java?args=-server -version")
+--------------------------------------
+
+The example below executes `java` in `c:\temp` with 3 arguments:
+`-server`, `-version` and the sytem property `user.name`.
+
+[source,java]
+----------------------------------------------------------------------------------------------------
+from("direct:exec")
+.to("exec:c:/program files/jdk/bin/java?args=-server -version -Duser.name=Camel&workingDir=c:/temp")
+----------------------------------------------------------------------------------------------------
+
+[[Exec-ExecutingAntscripts]]
+Executing Ant scripts
++++++++++++++++++++++
+
+The following example executes http://ant.apache.org/[Apache Ant]
+(Windows only) with the build file `CamelExecBuildFile.xml`, provided
+that `ant.bat` is in the system path, and that `CamelExecBuildFile.xml`
+is in the current directory.
+
+[source,java]
+--------------------------------------------------
+from("direct:exec")
+.to("exec:ant.bat?args=-f CamelExecBuildFile.xml")
+--------------------------------------------------
+
+In the next example, the `ant.bat` command redirects its output to
+`CamelExecOutFile.txt` with `-l`. The file `CamelExecOutFile.txt` is
+used as the out file with `outFile=CamelExecOutFile.txt`. The example
+assumes that `ant.bat` is in the system path, and that
+`CamelExecBuildFile.xml` is in the current directory.
+
+[source,java]
+-------------------------------------------------------------------------------------------------------
+from("direct:exec")
+.to("exec:ant.bat?args=-f CamelExecBuildFile.xml -l CamelExecOutFile.txt&outFile=CamelExecOutFile.txt")
+.process(new Processor() {
+     public void process(Exchange exchange) throws Exception {
+        InputStream outFile = exchange.getIn().getBody(InputStream.class);
+        assertIsInstanceOf(InputStream.class, outFile);
+        // do something with the out file here
+     }
+  });
+-------------------------------------------------------------------------------------------------------
+
+[[Exec-Executingecho]]
+Executing `echo` (Windows)
+++++++++++++++++++++++++++
+
+Commands such as `echo` and `dir` can be executed only with the command
+interpreter of the operating system. This example shows how to execute
+such a command - `echo` - in Windows.
+
+[source,java]
+----------------------------------------------------------
+from("direct:exec").to("exec:cmd?args=/C echo echoString")
+----------------------------------------------------------
+
+[[Exec-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-exec/src/main/docs/exec.adoc
----------------------------------------------------------------------
diff --git a/components/camel-exec/src/main/docs/exec.adoc b/components/camel-exec/src/main/docs/exec.adoc
deleted file mode 100644
index a81a33b..0000000
--- a/components/camel-exec/src/main/docs/exec.adoc
+++ /dev/null
@@ -1,261 +0,0 @@
-[[Exec-Execcomponent]]
-Exec component
-~~~~~~~~~~~~~~
-
-*Available in Camel 2.3*
-
-The `exec` component can be used to execute system commands.
-
-[[Exec-Dependencies]]
-Dependencies
-^^^^^^^^^^^^
-
-Maven users need to add the following dependency to their `pom.xml`
-
-[source,xml]
--------------------------------------
-<dependency>
-  <groupId>org.apache.camel</groupId>
-  <artifactId>camel-exec</artifactId>
-  <version>${camel-version}</version>
-</dependency>
--------------------------------------
-
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.3.0 or higher).
-
-[[Exec-URIformat]]
-URI format
-^^^^^^^^^^
-
-[source,xml]
----------------------------
-exec://executable[?options]
----------------------------
-
-where `executable` is the name, or file path, of the system command that
-will be executed. If executable name is used (e.g. `exec:java`), the
-executable must in the system path.
-
-[[Exec-URIoptions]]
-URI options
-^^^^^^^^^^^
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Name |Default value |Description
-|`args` |`null` |The arguments of the executable. The arguments may be one or many +
- whitespace-separated tokens, that can be quoted with `"` - e.g.
-`args="arg 1" arg2` will use two arguments `arg 1` and `arg2`. To
-include the quotes use `""` - e.g. `args=""arg 1"" arg2` will use the
-arguments `"arg 1"` and `arg2`.
-
-|`workingDir` |`null` |The directory in which the command should be executed. If `null`, the
-working directory of the current process will be used.
-
-|`timeout` |`Long.MAX_VALUE` |The timeout, in milliseconds, after which the executable should be
-terminated. If execution has not completed within the timeout, the
-component will send a termination request.
-
-|`outFile` |`null` |The name of a file, created by the executable, that should be considered
-as its output. If no `outFile` is set, the standard output (stdout) of
-the executable will be used instead.
-
-|`binding` |a `DefaultExecBinding` instance |A reference to a `org.apache.commons.exec.ExecBinding` in the
-http://camel.apache.org/registry.html[Registry].
-
-|`commandExecutor` |a `DefaultCommandExecutor` instance |A reference to a `org.apache.commons.exec.ExecCommandExecutor` in the
-http://camel.apache.org/registry.html[Registry] that customizes the
-command execution. The default command executor utilizes the
-http://commons.apache.org/exec/[commons-exec library], which adds a
-shutdown hook for every executed command.
-
-|`useStderrOnEmptyStdout` |`false` |A boolean indicating that when `stdout` is empty, this component will
-populate the Camel Message Body with `stderr`. This behavior is disabled
-(`false`) by default.
-|=======================================================================
-
-[[Exec-Messageheaders]]
-Message headers
-^^^^^^^^^^^^^^^
-
-The supported headers are defined in
-`org.apache.camel.component.exec.ExecBinding`.
-
-[width="100%",cols="10%,10%,10%,70%",options="header",]
-|=======================================================================
-|Name |Type |Message |Description
-
-|`ExecBinding.EXEC_COMMAND_EXECUTABLE` |`String` |`in` |The name of the system command that will be executed. Overrides
-`executable` in the URI.
-
-|`ExecBinding.EXEC_COMMAND_ARGS` |`java.util.List<String>` |`in` |Command-line arguments to pass to the executed process. The arguments
-are used literally - no quoting is applied. Overrides any existing
-`args` in the URI.
-
-|`ExecBinding.EXEC_COMMAND_ARGS` |`String`| `in` |*Camel 2.5:* The arguments of the executable as a Single string where
-each argument is whitespace separated (see `args` in URI option). The
-arguments are used literally, no quoting is applied. Overrides any
-existing `args` in the URI.
-
-|`ExecBinding.EXEC_COMMAND_OUT_FILE` |`String` |`in` |The name of a file, created by the executable, that should be considered
-as its output. Overrides any existing `outFile` in the URI.
-
-|`ExecBinding.EXEC_COMMAND_TIMEOUT` |`long` |`in` |The timeout, in milliseconds, after which the executable should be
-terminated. Overrides any existing `timeout` in the URI.
-
-|`ExecBinding.EXEC_COMMAND_WORKING_DIR` |`String` |`in` |The directory in which the command should be executed. Overrides any
-existing `workingDir` in the URI.
-
-|`ExecBinding.EXEC_EXIT_VALUE` |`int` |`out` |The value of this header is the _exit value_ of the executable. Non-zero
-exit values typically indicate abnormal termination. Note that the exit
-value is OS-dependent.
-
-|`ExecBinding.EXEC_STDERR` |`java.io.InputStream` |`out` |The value of this header points to the standard error stream (stderr) of
-the executable. If no stderr is written, the value is `null`.
-
-|`ExecBinding.EXEC_USE_STDERR_ON_EMPTY_STDOUT` |`boolean` |`in` |Indicates that when `stdout` is empty, this component will populate the
-Camel Message Body with `stderr`. This behavior is disabled (`false`) by
-default.
-|=======================================================================
-
-[[Exec-Messagebody]]
-Message body
-^^^^^^^^^^^^
-
-If the `Exec` component receives an `in` message body that is
-convertible to `java.io.InputStream`, it is used to feed input to the
-executable via its stdin. After execution,
-http://camel.apache.org/exchange.html[the message body] is the result of
-the execution,- that is, an
-`org.apache.camel.components.exec.ExecResult` instance containing the
-stdout, stderr, exit value, and out file. This component supports the
-following `ExecResult` http://camel.apache.org/type-converter.html[type
-converters] for convenience:
-
-[width="100%",cols="50%,50%",options="header",]
-|=======================================================================
-|From |To
-
-|`ExecResult` |`java.io.InputStream`
-
-|`ExecResult` |`String`
-
-|`ExecResult` |`byte []`
-
-|`ExecResult` |`org.w3c.dom.Document`
-|=======================================================================
-
-If an out file is specified (in the endpoint via `outFile` or the
-message headers via `ExecBinding.EXEC_COMMAND_OUT_FILE`), converters
-will return the content of the out file. If no out file is used, then
-this component will convert the stdout of the process to the target
-type. For more details, please refer to the link:exec.html[usage
-examples] below.
-
-[[Exec-Usageexamples]]
-Usage examples
-^^^^^^^^^^^^^^
-
-[[Exec-Executingwordcount]]
-Executing word count (Linux)
-++++++++++++++++++++++++++++
-
-The example below executes `wc` (word count, Linux) to count the words
-in file `/usr/share/dict/words`. The word count (output) is written to
-the standard output stream of `wc`.
-
-[source,java]
---------------------------------------------------------------------------------------
-from("direct:exec")
-.to("exec:wc?args=--words /usr/share/dict/words")
-.process(new Processor() {
-     public void process(Exchange exchange) throws Exception {
-       // By default, the body is ExecResult instance
-       assertIsInstanceOf(ExecResult.class, exchange.getIn().getBody());
-       // Use the Camel Exec String type converter to convert the ExecResult to String
-       // In this case, the stdout is considered as output
-       String wordCountOutput = exchange.getIn().getBody(String.class);
-       // do something with the word count
-     }
-});
---------------------------------------------------------------------------------------
-
-[[Exec-Executingjava]]
-Executing `java`
-++++++++++++++++
-
-The example below executes `java` with 2 arguments: `-server` and
-`-version`, provided that `java` is in the system path.
-
-[source,java]
---------------------------------------
-from("direct:exec")
-.to("exec:java?args=-server -version")
---------------------------------------
-
-The example below executes `java` in `c:\temp` with 3 arguments:
-`-server`, `-version` and the sytem property `user.name`.
-
-[source,java]
-----------------------------------------------------------------------------------------------------
-from("direct:exec")
-.to("exec:c:/program files/jdk/bin/java?args=-server -version -Duser.name=Camel&workingDir=c:/temp")
-----------------------------------------------------------------------------------------------------
-
-[[Exec-ExecutingAntscripts]]
-Executing Ant scripts
-+++++++++++++++++++++
-
-The following example executes http://ant.apache.org/[Apache Ant]
-(Windows only) with the build file `CamelExecBuildFile.xml`, provided
-that `ant.bat` is in the system path, and that `CamelExecBuildFile.xml`
-is in the current directory.
-
-[source,java]
---------------------------------------------------
-from("direct:exec")
-.to("exec:ant.bat?args=-f CamelExecBuildFile.xml")
---------------------------------------------------
-
-In the next example, the `ant.bat` command redirects its output to
-`CamelExecOutFile.txt` with `-l`. The file `CamelExecOutFile.txt` is
-used as the out file with `outFile=CamelExecOutFile.txt`. The example
-assumes that `ant.bat` is in the system path, and that
-`CamelExecBuildFile.xml` is in the current directory.
-
-[source,java]
--------------------------------------------------------------------------------------------------------
-from("direct:exec")
-.to("exec:ant.bat?args=-f CamelExecBuildFile.xml -l CamelExecOutFile.txt&outFile=CamelExecOutFile.txt")
-.process(new Processor() {
-     public void process(Exchange exchange) throws Exception {
-        InputStream outFile = exchange.getIn().getBody(InputStream.class);
-        assertIsInstanceOf(InputStream.class, outFile);
-        // do something with the out file here
-     }
-  });
--------------------------------------------------------------------------------------------------------
-
-[[Exec-Executingecho]]
-Executing `echo` (Windows)
-++++++++++++++++++++++++++
-
-Commands such as `echo` and `dir` can be executed only with the command
-interpreter of the operating system. This example shows how to execute
-such a command - `echo` - in Windows.
-
-[source,java]
-----------------------------------------------------------
-from("direct:exec").to("exec:cmd?args=/C echo echoString")
-----------------------------------------------------------
-
-[[Exec-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-facebook/src/main/docs/facebook-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-facebook/src/main/docs/facebook-component.adoc b/components/camel-facebook/src/main/docs/facebook-component.adoc
new file mode 100644
index 0000000..8f58063
--- /dev/null
+++ b/components/camel-facebook/src/main/docs/facebook-component.adoc
@@ -0,0 +1,346 @@
+[[Facebook-FacebookComponent]]
+Facebook Component
+~~~~~~~~~~~~~~~~~~
+
+*Available as of Camel 2.12*
+
+The Facebook component provides access to all of the Facebook APIs
+accessible using http://facebook4j.org/en/index.html[Facebook4J]. It
+allows producing messages to retrieve, add, and delete posts, likes,
+comments, photos, albums, videos, photos, checkins, locations, links,
+etc. It also supports APIs that allow polling for posts, users,
+checkins, groups, locations, etc.
+
+Facebook requires the use of OAuth for all client application
+authentication. In order to use camel-facebook with your account, you'll
+need to create a new application within Facebook at
+https://developers.facebook.com/apps[https://developers.facebook.com/apps]
+and grant the application access to your account. The Facebook
+application's id and secret will allow access to Facebook APIs which do
+not require a current user. A user access token is required for APIs
+that require a logged in user. More information on obtaining a user
+access token can be found at
+https://developers.facebook.com/docs/facebook-login/access-tokens/[https://developers.facebook.com/docs/facebook-login/access-tokens/].
+
+Maven users will need to add the following dependency to their pom.xml
+for this component:
+
+[source,java]
+-----------------------------------------------
+    <dependency>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-facebook</artifactId>
+        <version>${camel-version}</version>
+    </dependency>
+-----------------------------------------------
+
+[[Facebook-URIformat]]
+URI format
+^^^^^^^^^^
+
+[source,java]
+---------------------------------
+  facebook://[endpoint]?[options]
+---------------------------------
+
+[[Facebook-FacebookComponent.1]]
+FacebookComponent
+^^^^^^^^^^^^^^^^^
+
+The facebook component can be configured with the Facebook account
+settings below, which are mandatory. The values can be provided to the
+component using the bean property *configuration* of type
+*org.apache.camel.component.facebook.config.FacebookConfiguration*. The
+*oAuthAccessToken* option may be ommited but that will only allow access
+to application APIs.
+
+
+
+// component options: START
+The Facebook component supports 28 options which are listed below.
+
+
+
+{% raw %}
+[width="100%",cols="2s,1m,8",options="header"]
+|=======================================================================
+| Name | Java Type | Description
+| configuration | FacebookConfiguration | To use the shared configuration. Properties of the shared configuration can also be set individually.
+| oAuthAccessToken | String | The user access token
+| oAuthAccessTokenURL | String | OAuth access token URL
+| oAuthAppId | String | The application Id
+| oAuthAppSecret | String | The application Secret
+| oAuthAuthorizationURL | String | OAuth authorization URL
+| clientURL | String | Facebook4J API client URL
+| clientVersion | String | Facebook4J client API version
+| debugEnabled | Boolean | Enables deubg output. Effective only with the embedded logger
+| gzipEnabled | Boolean | Use Facebook GZIP encoding
+| httpConnectionTimeout | Integer | Http connection timeout in milliseconds
+| httpDefaultMaxPerRoute | Integer | HTTP maximum connections per route
+| httpMaxTotalConnections | Integer | HTTP maximum total connections
+| httpProxyHost | String | HTTP proxy server host name
+| httpProxyPassword | String | HTTP proxy server password
+| httpProxyPort | Integer | HTTP proxy server port
+| httpProxyUser | String | HTTP proxy server user name
+| httpReadTimeout | Integer | Http read timeout in milliseconds
+| httpRetryCount | Integer | Number of HTTP retries
+| httpRetryIntervalSeconds | Integer | HTTP retry interval in seconds
+| httpStreamingReadTimeout | Integer | HTTP streaming read timeout in milliseconds
+| jsonStoreEnabled | Boolean | If set to true raw JSON forms will be stored in DataObjectFactory
+| mbeanEnabled | Boolean | If set to true Facebook4J mbean will be registerd
+| oAuthPermissions | String | Default OAuth permissions. Comma separated permission names. See https://developers.facebook.com/docs/reference/login/permissions for the detail
+| prettyDebugEnabled | Boolean | Prettify JSON debug output if set to true
+| restBaseURL | String | API base URL
+| useSSL | Boolean | Use SSL
+| videoBaseURL | String | Video API base URL
+|=======================================================================
+{% endraw %}
+// component options: END
+
+
+
+
+// endpoint options: START
+The Facebook component supports 103 endpoint options which are listed below:
+
+{% raw %}
+[width="100%",cols="2s,1,1m,1m,5",options="header"]
+|=======================================================================
+| Name | Group | Default | Java Type | Description
+| methodName | common |  | String | *Required* What operation to perform
+| achievementURL | common |  | URL | The unique URL of the achievement
+| albumId | common |  | String | The album ID
+| albumUpdate | common |  | AlbumUpdate | The facebook Album to be created or updated
+| appId | common |  | String | The ID of the Facebook Application
+| center | common |  | GeoLocation | Location latitude and longitude
+| checkinId | common |  | String | The checkin ID
+| checkinUpdate | common |  | CheckinUpdate | The checkin to be created. Deprecated instead create a Post with an attached location
+| clientURL | common |  | String | Facebook4J API client URL
+| clientVersion | common |  | String | Facebook4J client API version
+| commentId | common |  | String | The comment ID
+| commentUpdate | common |  | CommentUpdate | The facebook Comment to be created or updated
+| debugEnabled | common | false | Boolean | Enables deubg output. Effective only with the embedded logger
+| description | common |  | String | The description text
+| distance | common |  | Integer | Distance in meters
+| domainId | common |  | String | The domain ID
+| domainName | common |  | String | The domain name
+| domainNames | common |  | List | The domain names
+| eventId | common |  | String | The event ID
+| eventUpdate | common |  | EventUpdate | The event to be created or updated
+| friendId | common |  | String | The friend ID
+| friendlistId | common |  | String | The friend list ID
+| friendlistName | common |  | String | The friend list Name
+| friendUserId | common |  | String | The friend user ID
+| groupId | common |  | String | The group ID
+| gzipEnabled | common | true | Boolean | Use Facebook GZIP encoding
+| httpConnectionTimeout | common | 20000 | Integer | Http connection timeout in milliseconds
+| httpDefaultMaxPerRoute | common | 2 | Integer | HTTP maximum connections per route
+| httpMaxTotalConnections | common | 20 | Integer | HTTP maximum total connections
+| httpReadTimeout | common | 120000 | Integer | Http read timeout in milliseconds
+| httpRetryCount | common | 0 | Integer | Number of HTTP retries
+| httpRetryIntervalSeconds | common | 5 | Integer | HTTP retry interval in seconds
+| httpStreamingReadTimeout | common | 40000 | Integer | HTTP streaming read timeout in milliseconds
+| ids | common |  | List | The ids of users
+| inBody | common |  | String | Sets the name of a parameter to be passed in the exchange In Body
+| includeRead | common |  | Boolean | Enables notifications that the user has already read in addition to unread ones
+| isHidden | common |  | Boolean | Whether hidden
+| jsonStoreEnabled | common | false | Boolean | If set to true raw JSON forms will be stored in DataObjectFactory
+| link | common |  | URL | Link URL
+| linkId | common |  | String | Link ID
+| locale | common |  | Locale | Desired FQL locale
+| mbeanEnabled | common | false | Boolean | If set to true Facebook4J mbean will be registerd
+| message | common |  | String | The message text
+| messageId | common |  | String | The message ID
+| metric | common |  | String | The metric name
+| milestoneId | common |  | String | The milestone id
+| name | common |  | String | Test user name must be of the form 'first last'
+| noteId | common |  | String | The note ID
+| notificationId | common |  | String | The notification ID
+| objectId | common |  | String | The insight object ID
+| offerId | common |  | String | The offer id
+| optionDescription | common |  | String | The question's answer option description
+| pageId | common |  | String | The page id
+| permissionName | common |  | String | The permission name
+| permissions | common |  | String | Test user permissions in the format perm1perm2...
+| photoId | common |  | String | The photo ID
+| pictureId | common |  | Integer | The picture id
+| pictureId2 | common |  | Integer | The picture2 id
+| pictureSize | common |  | PictureSize | The picture size
+| placeId | common |  | String | The place ID
+| postId | common |  | String | The post ID
+| postUpdate | common |  | PostUpdate | The post to create or update
+| prettyDebugEnabled | common | false | Boolean | Prettify JSON debug output if set to true
+| queries | common |  | Map | FQL queries
+| query | common |  | String | FQL query or search terms for search endpoints
+| questionId | common |  | String | The question id
+| reading | common |  | Reading | Optional reading parameters. See Reading Options(reading)
+| readingOptions | common |  | Map | To configure Reading using key/value pairs from the Map.
+| restBaseURL | common | https://graph.facebook.com/ | String | API base URL
+| scoreValue | common |  | Integer | The numeric score with value
+| size | common |  | PictureSize | The picture size one of large normal small or square
+| source | common |  | Media | The media content from either a java.io.File or java.io.Inputstream
+| subject | common |  | String | The note of the subject
+| tabId | common |  | String | The tab id
+| tagUpdate | common |  | TagUpdate | Photo tag information
+| testUser1 | common |  | TestUser | Test user 1
+| testUser2 | common |  | TestUser | Test user 2
+| testUserId | common |  | String | The ID of the test user
+| title | common |  | String | The title text
+| toUserId | common |  | String | The ID of the user to tag
+| toUserIds | common |  | List | The IDs of the users to tag
+| userId | common |  | String | The Facebook user ID
+| userId1 | common |  | String | The ID of a user 1
+| userId2 | common |  | String | The ID of a user 2
+| userIds | common |  | List | The IDs of users to invite to event
+| userLocale | common |  | String | The test user locale
+| useSSL | common | true | Boolean | Use SSL
+| videoBaseURL | common | https://graph-video.facebook.com/ | String | Video API base URL
+| videoId | common |  | String | The video ID
+| 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).
+| httpProxyHost | proxy |  | String | HTTP proxy server host name
+| httpProxyPassword | proxy |  | String | HTTP proxy server password
+| httpProxyPort | proxy |  | Integer | HTTP proxy server port
+| httpProxyUser | proxy |  | String | HTTP proxy server user name
+| oAuthAccessToken | security |  | String | The user access token
+| oAuthAccessTokenURL | security | https://graph.facebook.com/oauth/access_token | String | OAuth access token URL
+| oAuthAppId | security |  | String | The application Id
+| oAuthAppSecret | security |  | String | The application Secret
+| oAuthAuthorizationURL | security | https://www.facebook.com/dialog/oauth | String | OAuth authorization URL
+| oAuthPermissions | security |  | String | Default OAuth permissions. Comma separated permission names. See https://developers.facebook.com/docs/reference/login/permissions for the detail
+|=======================================================================
+{% endraw %}
+// endpoint options: END
+
+
+[[Facebook-ProducerEndpoints:]]
+Producer Endpoints:
+^^^^^^^^^^^^^^^^^^^
+
+Producer endpoints can use endpoint names and options from the table
+below. Endpoints can also use the short name without the *get* or
+*search* prefix, except *checkin* due to ambiguity between *getCheckin*
+and *searchCheckin*. Endpoint options that are not mandatory are denoted
+by [].
+
+Producer endpoints can also use a special option **inBody** that in turn
+should contain the name of the endpoint option whose value will be
+contained in the Camel Exchange In message. For example, the facebook
+endpoint in the following route retrieves activities for the user id
+value in the incoming message body.
+
+[source,java]
+--------------------------------------------------------------------
+    from("direct:test").to("facebook://activities?inBody=userId")...
+--------------------------------------------------------------------
+
+Any of the endpoint options can be provided in either the endpoint URI,
+or dynamically in a message header. The message header name must be of
+the format
+*CamelFacebook.https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=CAMEL&title=option&linkCreation=true&fromPageId=34020899[option]*.
+For example, the *userId* option value in the previous route could
+alternately be provided in the message header *CamelFacebook.userId*.
+Note that the inBody option overrides message header, e.g. the endpoint
+option *inBody=user* would override a *CamelFacebook.userId* header.
+
+Endpoints that return a String return an Id for the created or modified
+entity, e.g. *addAlbumPhoto* returns the new album Id. Endpoints that
+return a boolean, return true for success and false otherwise. In case
+of Facebook API errors the endpoint will throw a RuntimeCamelException
+with a facebook4j.FacebookException cause.
+
+[[Facebook-ConsumerEndpoints:]]
+Consumer Endpoints:
+^^^^^^^^^^^^^^^^^^^
+
+Any of the producer endpoints that take a
+https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=CAMEL&title=reading&linkCreation=true&fromPageId=34020899[reading#reading]
+parameter can be used as a consumer endpoint. The polling consumer uses
+the *since* and *until* fields to get responses within the polling
+interval. In addition to other reading fields, an initial *since* value
+can be provided in the endpoint for the first poll.
+
+Rather than the endpoints returning a List (or
+*facebook4j.ResponseList*) through a single route exchange,
+camel-facebook creates one route exchange per returned object. As an
+example, if *"facebook://home"* results in five posts, the route will be
+executed five times (once for each Post).
+
+[[Facebook-ReadingOptions]]
+Reading Options
+^^^^^^^^^^^^^^^
+
+The *reading* option of type *facebook4j.Reading* adds support for
+reading parameters, which allow selecting specific fields, limits the
+number of results, etc. For more information see
+https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=CAMEL&title=Graph+API&linkCreation=true&fromPageId=34020899[Graph
+API#reading] -
+https://developers.facebook.com/docs/reference/api/#reading[Facebook
+Developers].
+
+It is also used by consumer endpoints to poll Facebook data to avoid
+sending duplicate messages across polls.
+
+The reading option can be a reference or value of type
+*facebook4j.Reading*, or can be specified using the following reading
+options in either the endpoint URI or exchange header with
+*CamelFacebook.* prefix.
+
+[[Facebook-Messageheader]]
+Message header
+^^^^^^^^^^^^^^
+
+Any of the
+https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=CAMEL&title=URI+options&linkCreation=true&fromPageId=34020899[URI
+options#urioptions] can be provided in a message header for producer
+endpoints with *CamelFacebook.* prefix.
+
+[[Facebook-Messagebody]]
+Message body
+^^^^^^^^^^^^
+
+All result message bodies utilize objects provided by the Facebook4J
+API. Producer endpoints can specify the option name for incoming message
+body in the *inBody* endpoint parameter.
+
+For endpoints that return an array, or *facebook4j.ResponseList*, or
+*java.util.List*, a consumer endpoint will map every elements in the
+list to distinct messages.
+
+[[Facebook-Usecases]]
+Use cases
+^^^^^^^^^
+
+To create a post within your Facebook profile, send this producer a
+facebook4j.PostUpdate body.
+
+[source,java]
+----------------------------------------------------
+    from("direct:foo")
+        .to("facebook://postFeed/inBody=postUpdate);
+----------------------------------------------------
+
+To poll, every 5 sec (You can set the link:polling-consumer.html[polling
+consumer] options by adding a prefix of "consumer"), all statuses on
+your home feed:
+
+[source,java]
+-----------------------------------------------
+    from("facebook://home?consumer.delay=5000")
+        .to("bean:blah");
+-----------------------------------------------
+
+Searching using a producer with dynamic options from header.
+
+In the bar header we have the Facebook search string we want to execute
+in public posts, so we need to assign this value to the
+CamelFacebook.query header.
+
+[source,java]
+--------------------------------------------------------
+    from("direct:foo")
+        .setHeader("CamelFacebook.query", header("bar"))
+        .to("facebook://posts");
+--------------------------------------------------------


Mime
View raw message