Repository: camel Updated Branches: refs/heads/master 1dac799d6 -> b054449b2
Added camel-dropbox 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/b054449b Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/b054449b Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/b054449b Branch: refs/heads/master Commit: b054449b2bea5525a7b94756f0bcaa1be1effb7a Parents: 1dac799 Author: Andrea Cosentino <[email protected]> Authored: Wed Mar 2 16:55:09 2016 +0100 Committer: Andrea Cosentino <[email protected]> Committed: Wed Mar 2 16:55:09 2016 +0100 ---------------------------------------------------------------------- .../camel-dropbox/src/main/docs/dropbox.adoc | 385 +++++++++++++++++++ docs/user-manual/en/SUMMARY.md | 1 + 2 files changed, 386 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/b054449b/components/camel-dropbox/src/main/docs/dropbox.adoc ---------------------------------------------------------------------- diff --git a/components/camel-dropbox/src/main/docs/dropbox.adoc b/components/camel-dropbox/src/main/docs/dropbox.adoc new file mode 100644 index 0000000..84c4a50 --- /dev/null +++ b/components/camel-dropbox/src/main/docs/dropbox.adoc @@ -0,0 +1,385 @@ +[[Dropbox-CamelDropboxcomponent]] +Camel Dropbox component +~~~~~~~~~~~~~~~~~~~~~~~ + +*Available as of Camel 2.14* + +The *dropbox:* component allows you to treat +https://www.dropbox.com[Dropbox] remote folders as a producer or +consumer of messages. Using the +http://dropbox.github.io/dropbox-sdk-java/api-docs/v1.7.x/[Dropbox Java +Core API] (reference version for this component is 1.7.x), this camel +component has the following features: + +* As a consumer, download files and search files by queries +* As a producer, download files, move files between remote directories, +delete files/dir, upload files and search files by queries + +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-dropbox</artifactId> + <version>x.x.x</version> + <!-- use the same version as your Camel core version --> +</dependency> +------------------------------------------------------------ + +[[Dropbox-URIformat]] +URI format +^^^^^^^^^^ + +[source,java] +------------------------------- +dropbox://[operation]?[options] +------------------------------- + +Where *operation* is the specific action (typically is a CRUD action) to +perform on Dropbox remote folder. + +[[Dropbox-Operations]] +Operations +^^^^^^^^^^ + +[width="100%",cols="40%,60%",options="header",] +|======================================================================= +|Operation |Description + +|`del` |deletes files or directories on Dropbox + +|`get` |download files from Dropbox + +|`move` |move files from folders on Dropbox + +|`put` |upload files on Dropbox + +|`search` |search files on Dropbox based on string queries +|======================================================================= + +*Operations* require additional options to work, some are mandatory for +the specific operation. + +[[Dropbox-Options]] +Options +^^^^^^^ + +In order to work with Dropbox API you need to obtain an *accessToken* +and a *clientIdentifier.* + +You can refer to the +https://www.dropbox.com/developers/core/start/java[Dropbox +documentation] that expalins how to get them.  + +Below are listed the mandatory options for all operations: + +[width="100%",cols="20%,20%,60%",options="header",] +|======================================================================= +|Property |Mandatory |Description + +|`accessToken` |`true` |The access token to make API requests for a specific Dropbox user + +|`clientIdentifier` |`true` |Name of the app registered to make API requests +|======================================================================= + +[[Dropbox-Deloperation]] +Del operation +^^^^^^^^^^^^^ + +Delete files on Dropbox. + +Works only as Camel producer. + +Below are listed the options for this operation: + +[width="100%",cols="20%,20%,60%",options="header",] +|======================================================================= +|Property |Mandatory |Description + +|`remotePath` |`true` |Folder or file to delete on Dropbox +|======================================================================= + +[[Dropbox-Samples]] +Samples ++++++++ + +[source,java] +------------------------------- +from("direct:start").to("dropbox://del?accessToken=XXX&clientIdentifier=XXX&remotePath=/root/folder1").to("mock:result"); + +from("direct:start").to("dropbox://del?accessToken=XXX&clientIdentifier=XXX&remotePath=/root/folder1/file1.tar.gz").to("mock:result"); +------------------------------- + +[[Dropbox-ResultMessageHeaders]] +Result Message Headers +++++++++++++++++++++++ + +The following headers are set on message result: + +[width="100%",cols="50%,50%",options="header",] +|======================================================================= +|Property |Value + +|`DELETED_PATH` |name of the path deleted on dropbox +|======================================================================= + +[[Dropbox-ResultMessageBody]] +Result Message Body ++++++++++++++++++++ + +The following objects are set on message body result: + +[width="100%",cols="50%,50%",options="header",] +|======================================================================= +|Object type |Description + +|`String` |name of the path deleted on dropbox +|======================================================================= + +[[Dropbox-Getoperation]] +Get (download) operation +^^^^^^^^^^^^^^^^^^^^^^^^ + +Download files from Dropbox. + +Works as Camel producer or Camel consumer. + +Below are listed the options for this operation: + +[width="100%",cols="20%,20%,60%",options="header",] +|======================================================================= +|Property |Mandatory |Description + +|`remotePath` |`true` |Folder or file to download from Dropbox +|======================================================================= + +[[Dropbox-Samples.1]] +Samples ++++++++ + +[source,java] +------------------------------- +from("direct:start").to("dropbox://get?accessToken=XXX&clientIdentifier=XXX&remotePath=/root/folder1/file1.tar.gz").to("file:///home/kermit/?fileName=file1.tar.gz"); + +from("direct:start").to("dropbox://get?accessToken=XXX&clientIdentifier=XXX&remotePath=/root/folder1").to("mock:result"); + +from("dropbox://get?accessToken=XXX&clientIdentifier=XXX&remotePath=/root/folder1").to("file:///home/kermit/"); +------------------------------- + +[[Dropbox-ResultMessageHeaders.1]] +Result Message Headers +++++++++++++++++++++++ + +The following headers are set on message result: + +[width="100%",cols="50%,50%",options="header",] +|======================================================================= +|Property |Value + +|`DOWNLOADED_FILE` |in case of single file download, path of the remote file downloaded + +|`DOWNLOADED_FILES` |in case of multiple files download, path of the remote files downloaded +|======================================================================= + +[[Dropbox-ResultMessageBody.1]] +Result Message Body ++++++++++++++++++++ + +The following objects are set on message body result: + +[width="100%",cols="50%,50%",options="header",] +|======================================================================= +|Object type |Description + +|`ByteArrayOutputStream` |in case of single file download, stream representing the file downloaded + +|`Map<String, ByteArrayOutputStream>` |in case of multiple files download, a map with as key the path of the +remote file downloaded and as value the stream representing the file +downloaded +|======================================================================= + +[[Dropbox-Moveoperation]] +Move operation +^^^^^^^^^^^^^^ + +Move files on Dropbox between one folder to another. + +Works only as Camel producer. + +Below are listed the options for this operation: + +[width="100%",cols="20%,20%,60%",options="header",] +|======================================================================= +|Property |Mandatory |Description + +|`remotePath` |`true` |Original file or folder to move + +|`newRemotePath` |`true` |Destination file or folder +|======================================================================= + +[[Dropbox-Samples.2]] +Samples ++++++++ + +[source,java] +------------------------------- +from("direct:start").to("dropbox://move?accessToken=XXX&clientIdentifier=XXX&remotePath=/root/folder1&newRemotePath=/root/folder2").to("mock:result"); +------------------------------- + +[[Dropbox-ResultMessageHeaders.2]] +Result Message Headers +++++++++++++++++++++++ + +The following headers are set on message result: + +[width="100%",cols="50%,50%",options="header",] +|======================================================================= +|Property |Value + +|`MOVED_PATH` |name of the path moved on dropbox +|======================================================================= + +[[Dropbox-ResultMessageBody.2]] +Result Message Body ++++++++++++++++++++ + +The following objects are set on message body result: + +[width="100%",cols="50%,50%",options="header",] +|======================================================================= +|Object type |Description + +|`String` |name of the path moved on dropbox +|======================================================================= + +[[Dropbox-Putoperation]] +Put (upload) operation +^^^^^^^^^^^^^^^^^^^^^^ + +Upload files on Dropbox. + +Works as Camel producer. + +Below are listed the options for this operation: + +[width="100%",cols="20%,20%,60%",options="header",] +|======================================================================= +|Property |Mandatory |Description + +|`uploadMode` |`true` |add or force this option specifies how a file should be saved on +dropbox: in case of "add" the new file will be renamed if a file with the same +name already exists on dropbox. In case of "force" if a file with the same name already exists on +dropbox, this will be overwritten. + +|`localPath` |`true` |Folder or file to upload on Dropbox from the local filesystem . + +|`remotePath` |`false` |Folder destination on Dropbox. If the property is not set, the component +will upload the file on a remote path equal to the local path. +|======================================================================= + +[[Dropbox-Samples.3]] +Samples ++++++++ + +[source,java] +------------------------------- +from("direct:start").to("dropbox://put?accessToken=XXX&clientIdentifier=XXX&uploadMode=add&localPath=/root/folder1").to("mock:result"); + +from("direct:start").to("dropbox://put?accessToken=XXX&clientIdentifier=XXX&uploadMode=add&localPath=/root/folder1&remotePath=/root/folder2").to("mock:result"); +------------------------------- + +[[Dropbox-ResultMessageHeaders.3]] +Result Message Headers +++++++++++++++++++++++ + +The following headers are set on message result: + +[width="100%",cols="50%,50%",options="header",] +|======================================================================= +|Property |Value + +|`UPLOADED_FILE` |in case of single file upload, path of the remote path uploaded + +|`UPLOADED_FILES` |in case of multiple files upload, string with the remote paths uploaded +|======================================================================= + +[[Dropbox-ResultMessageBody.3]] +Result Message Body ++++++++++++++++++++ + +The following objects are set on message body result: + +[width="100%",cols="50%,50%",options="header",] +|======================================================================= +|Object type |Description + +|`String` |in case of single file upload, result of the upload operation, OK or KO + +|`Map<String, DropboxResultCode>` |in case of multiple files upload, a map with as key the path of the +remote file uploaded and as value the result of the upload operation, OK +or KO +|======================================================================= + +[[Dropbox-Searchoperation]] +Search operation +^^^^^^^^^^^^^^^^ + +Search inside a remote Dropbox folder including its sub directories. + +Works as Camel producer and as Camel consumer. + +Below are listed the options for this operation: + +[width="100%",cols="20%,20%,60%",options="header",] +|======================================================================= +|Property |Mandatory |Description + +|`remotePath` |`true` |Folder on Dropbox where to search in. + +|`query` |`false` |A space-separated list of substrings to search for. A file matches only +if it contains all the substrings. If this option is not set, all files +will be matched. +|======================================================================= + +[[Dropbox-Samples.4]] +Samples ++++++++ + +[source,java] +------------------------------- +from("dropbox://search?accessToken=XXX&clientIdentifier=XXX&remotePath=/XXX&query=XXX").to("mock:result"); + +from("direct:start").to("dropbox://search?accessToken=XXX&clientIdentifier=XXX&remotePath=/XXX").to("mock:result"); +------------------------------- + +[[Dropbox-ResultMessageHeaders.4]] +Result Message Headers +++++++++++++++++++++++ + +The following headers are set on message result: + +[width="100%",cols="50%,50%",options="header",] +|======================================================================= +|Property |Value + +|`FOUNDED_FILES` |list of file path founded +|======================================================================= + +[[Dropbox-ResultMessageBody.4]] +Result Message Body ++++++++++++++++++++ + +The following objects are set on message body result: + +[width="100%",cols="50%,50%",options="header",] +|======================================================================= +|Object type |Description + +|`List<DbxEntry>` |list of file path founded. For more information on this object refer to +Dropbox documentation, +|======================================================================= + +link:http://dropbox.github.io/dropbox-sdk-java/api-docs/v1.7.x/com/dropbox/core/DbxEntry.html[http://dropbox.github.io/dropbox-sdk-java/api-docs/v1.7.x/com/dropbox/core/DbxEntry.html] + + http://git-wip-us.apache.org/repos/asf/camel/blob/b054449b/docs/user-manual/en/SUMMARY.md ---------------------------------------------------------------------- diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md index a0174b3..c6f30b0 100644 --- a/docs/user-manual/en/SUMMARY.md +++ b/docs/user-manual/en/SUMMARY.md @@ -120,6 +120,7 @@ * [DNS](dns.adoc) * [Docker](docker.adoc) * [Dozer](dozer.adoc) + * [Dropbox](dropbox.adoc) * [Ironmq](ironmq.adoc) * [JMS](jms.adoc) * [Metrics](metrics.adoc)
