Repository: camel
Updated Branches:
  refs/heads/master 4848c819f -> 43408614b


Added camel-mongodb-gridfs docs to Gitbook


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

Branch: refs/heads/master
Commit: 43408614be8ac397b88a621cd16e08b1270b73a1
Parents: 4848c81
Author: Andrea Cosentino <anco...@gmail.com>
Authored: Wed May 11 11:44:30 2016 +0200
Committer: Andrea Cosentino <anco...@gmail.com>
Committed: Wed May 11 11:44:30 2016 +0200

----------------------------------------------------------------------
 .../src/main/docs/gridfs.adoc                   | 218 +++++++++++++++++++
 .../src/main/docs/mongodb-gridfs.adoc           | 189 ++++++++++++++++
 docs/user-manual/en/SUMMARY.md                  |   1 +
 3 files changed, 408 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/43408614/components/camel-mongodb-gridfs/src/main/docs/gridfs.adoc
----------------------------------------------------------------------
diff --git a/components/camel-mongodb-gridfs/src/main/docs/gridfs.adoc 
b/components/camel-mongodb-gridfs/src/main/docs/gridfs.adoc
new file mode 100644
index 0000000..51128c8
--- /dev/null
+++ b/components/camel-mongodb-gridfs/src/main/docs/gridfs.adoc
@@ -0,0 +1,218 @@
+[[MongoDBGridFS-CamelMongoDBGridFScomponent]]
+Camel MongoDB GridFS component
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+*Available as of Camel 2.17*
+
+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-mongodb-gridfs</artifactId>
+    <version>x.y.z</version>
+    <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------
+
+[[MongoDBGridFS-URIformat]]
+URI format
+~~~~~~~~~~
+
+[source,java]
+------------------------------------------------------------------------------
+gridfs:connectionBean?database=databaseName&bucket=bucketName[&moreOptions...]
+------------------------------------------------------------------------------
+
+[[MongoDBGridFS-options]]
+MongoDB GridFS options
+~~~~~~~~~~~~~~~~~~~~~~
+
+
+// component options: START
+The MongoDBGridFS component has no options.
+// component options: END
+
+
+
+// endpoint options: START
+The MongoDBGridFS component supports 18 endpoint options which are listed 
below:
+
+[width="100%",cols="2s,1,1m,1m,5",options="header"]
+|=======================================================================
+| Name | Group | Default | Java Type | Description
+| connectionBean | common |  | String | *Required* Name of com.mongodb.Mongo 
to use.
+| bucket | common | fs | String | Sets the name of the GridFS bucket within 
the database. Default is fs.
+| database | common |  | String | *Required* Sets the name of the MongoDB 
database to target
+| readPreference | common |  | ReadPreference | Sets a MongoDB ReadPreference 
on the Mongo connection. Read preferences set directly on the connection will 
be overridden by this setting. The link 
com.mongodb.ReadPreferencevalueOf(String) utility method is used to resolve the 
passed readPreference value. Some examples for the possible values are nearest 
primary or secondary etc.
+| writeConcern | common |  | WriteConcern | Set the WriteConcern for write 
operations on MongoDB using the standard ones. Resolved from the fields of the 
WriteConcern class by calling the link WriteConcernvalueOf(String) method.
+| writeConcernRef | common |  | WriteConcern | Set the WriteConcern for write 
operations on MongoDB passing in the bean ref to a custom WriteConcern which 
exists in the Registry. You can also use standard WriteConcerns by passing in 
their key. See the link setWriteConcern(String) setWriteConcern method.
+| 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.
+| delay | consumer | 500 | long | Sets the delay between polls within the 
Consumer. Default is 500ms
+| fileAttributeName | consumer | camel-processed | String | If the QueryType 
uses a FileAttribute this sets the name of the attribute that is used. Default 
is camel-processed.
+| initialDelay | consumer | 1000 | long | Sets the initialDelay before the 
consumer will start polling. Default is 1000ms
+| persistentTSCollection | consumer | camel-timestamps | String | If the 
QueryType uses a persistent timestamp this sets the name of the collection 
within the DB to store the timestamp.
+| persistentTSObject | consumer | camel-timestamp | String | If the QueryType 
uses a persistent timestamp this is the ID of the object in the collection to 
store the timestamp.
+| query | consumer |  | String | Additional query parameters (in JSON) that 
are used to configure the query used for finding files in the GridFsConsumer
+| queryStrategy | consumer | TimeStamp | QueryStrategy | Sets the 
QueryStrategy that is used for polling for new files. Default is Timestamp
+| 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 | Sets the operation this endpoint will 
execute against GridRS.
+| 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).
+|=======================================================================
+// endpoint options: END
+
+
+[[MongoDBGridFS-ConfigurationofdatabaseinSpringXML]]
+Configuration of database in Spring XML
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The following Spring XML creates a bean defining the connection to a
+MongoDB instance.
+
+[source,xml]
+----------------------------------------------------------------------------------------------------------------------------------
+<beans xmlns="http://www.springframework.org/schema/beans";
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+    xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd";>
+    <bean id="mongoBean" class="com.mongodb.Mongo">
+        <constructor-arg name="host" value="${mongodb.host}" />
+        <constructor-arg name="port" value="${mongodb.port}" />
+    </bean>
+</beans>
+----------------------------------------------------------------------------------------------------------------------------------
+
+[[MongoDBGridFS-Sampleroute]]
+Sample route
+^^^^^^^^^^^^
+
+The following route defined in Spring XML executes the operation
+link:mongodb-gridfs.html[*findOne*] on a collection.
+
+*Get a file from GridFS*
+
+[source,xml]
+----------------------------------------------------------------------------------
+<route>
+  <from uri="direct:start" />
+  <!-- using bean 'mongoBean' defined above -->
+  <to 
uri="gridfs:mongoBean?database=${mongodb.database}&amp;operation=findOne" />
+  <to uri="direct:result" />
+</route>
+----------------------------------------------------------------------------------
+
+ 
+
+[[MongoDBGridFS-GridFSoperations-producerendpoint]]
+GridFS operations - producer endpoint
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+[[MongoDBGridFS-count]]
+count
++++++
+
+Returns the total number of file in the collection, returning an Integer
+as the OUT message body. +
+ +
+
+[source,java]
+---------------------------------------------------------------------------------
+// from("direct:count").to("gridfs?database=tickets&operation=count");
+Integer result = template.requestBodyAndHeader("direct:count", 
"irrelevantBody");
+assertTrue("Result is not of type Long", result instanceof Integer);
+---------------------------------------------------------------------------------
+
+You can provide a filename header to provide a count of files matching
+that filename.
+
+[source,java]
+-------------------------------------------------------------------------------
+Map<String, Object> headers = new HashMap<String, Object>();
+headers.put(Exchange.FILE_NAME, "filename.txt");
+Integer count = template.requestBodyAndHeaders("direct:count", query, headers);
+-------------------------------------------------------------------------------
+
+[[MongoDBGridFS-listAll]]
+listAll
++++++++
+
+Returns an Reader that lists all the filenames and their IDs in a tab
+separated stream.
+
+[source,java]
+----------------------------------------------------------------------------------
+// from("direct:listAll").to("gridfs?database=tickets&operation=listAll");
+Reader result = template.requestBodyAndHeader("direct:listAll", 
"irrelevantBody");
+
+filename1.txt   1252314321
+filename2.txt   2897651254
+----------------------------------------------------------------------------------
+
+ 
+
+[[MongoDBGridFS-findOne]]
+*findOne*
++++++++++
+
+Finds a file in the GridFS system and sets the body to an InputStream of
+the content.   Also provides the metadata has headers.  It uses
+Exchange.FILE_NAME from the incoming headers to determine the file to
+find.
+
+[source,java]
+-------------------------------------------------------------------------------------------------
+// from("direct:findOne").to("gridfs?database=tickets&operation=findOne");
+Map<String, Object> headers = new HashMap<String, Object>();
+headers.put(Exchange.FILE_NAME, "filename.txt");
+InputStream result = template.requestBodyAndHeaders("direct:findOne", 
"irrelevantBody", headers);
+-------------------------------------------------------------------------------------------------
+
+ 
+
+[[MongoDBGridFS-create]]
+create
+++++++
+
+Creates a new file in the GridFs database. It uses the
+Exchange.FILE_NAME from the incoming headers for the name and the body
+contents (as an InputStream) as the content.
+
+[source,java]
+------------------------------------------------------------------------
+// from("direct:create").to("gridfs?database=tickets&operation=create");
+Map<String, Object> headers = new HashMap<String, Object>();
+headers.put(Exchange.FILE_NAME, "filename.txt");
+InputStream stream = ... the data for the file ...
+template.requestBodyAndHeaders("direct:create", stream, headers);
+------------------------------------------------------------------------
+
+[[MongoDBGridFS-remove]]
+remove
+++++++
+
+Removes a file from the GridFS database.
+
+[source,java]
+------------------------------------------------------------------------
+// from("direct:remove").to("gridfs?database=tickets&operation=remove");
+Map<String, Object> headers = new HashMap<String, Object>();
+headers.put(Exchange.FILE_NAME, "filename.txt");
+template.requestBodyAndHeaders("direct:remove", "", headers);
+------------------------------------------------------------------------
+
+[[MongoDBGridFS-GridFSConsumer]]
+GridFS Consumer
+^^^^^^^^^^^^^^^
+
+See also
+
+* http://www.mongodb.org/[MongoDB website]
+* http://en.wikipedia.org/wiki/NoSQL[NoSQL Wikipedia article]
+* http://api.mongodb.org/java/current/[MongoDB Java driver API docs -
+current version]
+*
+http://svn.apache.org/viewvc/camel/trunk/components/camel-mongodb/src/test/[Unit
+tests] for more examples of usage
+

http://git-wip-us.apache.org/repos/asf/camel/blob/43408614/components/camel-mongodb-gridfs/src/main/docs/mongodb-gridfs.adoc
----------------------------------------------------------------------
diff --git a/components/camel-mongodb-gridfs/src/main/docs/mongodb-gridfs.adoc 
b/components/camel-mongodb-gridfs/src/main/docs/mongodb-gridfs.adoc
new file mode 100644
index 0000000..8c055fd
--- /dev/null
+++ b/components/camel-mongodb-gridfs/src/main/docs/mongodb-gridfs.adoc
@@ -0,0 +1,189 @@
+[[MongoDBGridFS-CamelMongoDBGridFScomponent]]
+Camel MongoDB GridFS component
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+*Available as of Camel 2.17*
+
+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-mongodb-gridfs</artifactId>
+    <version>x.y.z</version>
+    <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------
+
+[[MongoDBGridFS-URIformat]]
+URI format
+~~~~~~~~~~
+
+[source,java]
+------------------------------------------------------------------------------
+gridfs:connectionBean?database=databaseName&bucket=bucketName[&moreOptions...]
+------------------------------------------------------------------------------
+
+[[MongoDBGridFS-options]]
+MongoDB GridFS options
+~~~~~~~~~~~~~~~~~~~~~~
+
+// component options: START
+// component options: END
+
+// endpoint options: START
+// endpoint options: END
+
+[[MongoDBGridFS-ConfigurationofdatabaseinSpringXML]]
+Configuration of database in Spring XML
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The following Spring XML creates a bean defining the connection to a
+MongoDB instance.
+
+[source,xml]
+----------------------------------------------------------------------------------------------------------------------------------
+<beans xmlns="http://www.springframework.org/schema/beans";
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+    xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd";>
+    <bean id="mongoBean" class="com.mongodb.Mongo">
+        <constructor-arg name="host" value="${mongodb.host}" />
+        <constructor-arg name="port" value="${mongodb.port}" />
+    </bean>
+</beans>
+----------------------------------------------------------------------------------------------------------------------------------
+
+[[MongoDBGridFS-Sampleroute]]
+Sample route
+^^^^^^^^^^^^
+
+The following route defined in Spring XML executes the operation
+link:mongodb-gridfs.html[*findOne*] on a collection.
+
+*Get a file from GridFS*
+
+[source,xml]
+----------------------------------------------------------------------------------
+<route>
+  <from uri="direct:start" />
+  <!-- using bean 'mongoBean' defined above -->
+  <to 
uri="gridfs:mongoBean?database=${mongodb.database}&amp;operation=findOne" />
+  <to uri="direct:result" />
+</route>
+----------------------------------------------------------------------------------
+
+ 
+
+[[MongoDBGridFS-GridFSoperations-producerendpoint]]
+GridFS operations - producer endpoint
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+[[MongoDBGridFS-count]]
+count
++++++
+
+Returns the total number of file in the collection, returning an Integer
+as the OUT message body. +
+ +
+
+[source,java]
+---------------------------------------------------------------------------------
+// from("direct:count").to("gridfs?database=tickets&operation=count");
+Integer result = template.requestBodyAndHeader("direct:count", 
"irrelevantBody");
+assertTrue("Result is not of type Long", result instanceof Integer);
+---------------------------------------------------------------------------------
+
+You can provide a filename header to provide a count of files matching
+that filename.
+
+[source,java]
+-------------------------------------------------------------------------------
+Map<String, Object> headers = new HashMap<String, Object>();
+headers.put(Exchange.FILE_NAME, "filename.txt");
+Integer count = template.requestBodyAndHeaders("direct:count", query, headers);
+-------------------------------------------------------------------------------
+
+[[MongoDBGridFS-listAll]]
+listAll
++++++++
+
+Returns an Reader that lists all the filenames and their IDs in a tab
+separated stream.
+
+[source,java]
+----------------------------------------------------------------------------------
+// from("direct:listAll").to("gridfs?database=tickets&operation=listAll");
+Reader result = template.requestBodyAndHeader("direct:listAll", 
"irrelevantBody");
+
+filename1.txt   1252314321
+filename2.txt   2897651254
+----------------------------------------------------------------------------------
+
+ 
+
+[[MongoDBGridFS-findOne]]
+*findOne*
++++++++++
+
+Finds a file in the GridFS system and sets the body to an InputStream of
+the content.   Also provides the metadata has headers.  It uses
+Exchange.FILE_NAME from the incoming headers to determine the file to
+find.
+
+[source,java]
+-------------------------------------------------------------------------------------------------
+// from("direct:findOne").to("gridfs?database=tickets&operation=findOne");
+Map<String, Object> headers = new HashMap<String, Object>();
+headers.put(Exchange.FILE_NAME, "filename.txt");
+InputStream result = template.requestBodyAndHeaders("direct:findOne", 
"irrelevantBody", headers);
+-------------------------------------------------------------------------------------------------
+
+ 
+
+[[MongoDBGridFS-create]]
+create
+++++++
+
+Creates a new file in the GridFs database. It uses the
+Exchange.FILE_NAME from the incoming headers for the name and the body
+contents (as an InputStream) as the content.
+
+[source,java]
+------------------------------------------------------------------------
+// from("direct:create").to("gridfs?database=tickets&operation=create");
+Map<String, Object> headers = new HashMap<String, Object>();
+headers.put(Exchange.FILE_NAME, "filename.txt");
+InputStream stream = ... the data for the file ...
+template.requestBodyAndHeaders("direct:create", stream, headers);
+------------------------------------------------------------------------
+
+[[MongoDBGridFS-remove]]
+remove
+++++++
+
+Removes a file from the GridFS database.
+
+[source,java]
+------------------------------------------------------------------------
+// from("direct:remove").to("gridfs?database=tickets&operation=remove");
+Map<String, Object> headers = new HashMap<String, Object>();
+headers.put(Exchange.FILE_NAME, "filename.txt");
+template.requestBodyAndHeaders("direct:remove", "", headers);
+------------------------------------------------------------------------
+
+[[MongoDBGridFS-GridFSConsumer]]
+GridFS Consumer
+^^^^^^^^^^^^^^^
+
+See also
+
+* http://www.mongodb.org/[MongoDB website]
+* http://en.wikipedia.org/wiki/NoSQL[NoSQL Wikipedia article]
+* http://api.mongodb.org/java/current/[MongoDB Java driver API docs -
+current version]
+*
+http://svn.apache.org/viewvc/camel/trunk/components/camel-mongodb/src/test/[Unit
+tests] for more examples of usage
+

http://git-wip-us.apache.org/repos/asf/camel/blob/43408614/docs/user-manual/en/SUMMARY.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md
index 5e106cc..4e8609c 100644
--- a/docs/user-manual/en/SUMMARY.md
+++ b/docs/user-manual/en/SUMMARY.md
@@ -196,6 +196,7 @@
     * [Mina2](mina2.adoc)
     * [MLLP](mllp.adoc)
     * [MongoDB](mongodb.adoc)
+    * [MongoDB-GridFS](gridfs.adoc)
     * [Mock](mock.adoc)
     * [NATS](nats.adoc)
     * [Properties](properties.adoc)

Reply via email to