camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [2/2] camel git commit: Added flatpack-dataformat docs to gitbook
Date Fri, 25 Mar 2016 09:25:23 GMT
Added flatpack-dataformat docs to gitbook


Branch: refs/heads/master
Commit: ac7662e536a29685f18a3054a30c6d371bb2a272
Parents: 7f6bd60
Author: Andrea Cosentino <>
Authored: Fri Mar 25 10:24:40 2016 +0100
Committer: Andrea Cosentino <>
Committed: Fri Mar 25 10:24:40 2016 +0100

 .../src/main/docs/flatpack-dataformat.adoc      | 107 +++++++++++++++++++
 docs/user-manual/en/                  |   1 +
 2 files changed, 108 insertions(+)
diff --git a/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc b/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc
new file mode 100644
index 0000000..d4d526b
--- /dev/null
+++ b/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc
@@ -0,0 +1,107 @@
+Flatpack DataFormat
+The link:flatpack.html[Flatpack] component ships with the Flatpack data
+format that can be used to format between fixed width or delimited text
+messages to a `List` of rows as `Map`.
+* marshal = from `List<Map<String, Object>>` to `OutputStream` (can be
+converted to `String`)
+* unmarshal = from `` (such as a `File` or `String`)
+to a `java.util.List` as an
+`org.apache.camel.component.flatpack.DataSetList` instance. +
+ The result of the operation will contain all the data. If you need to
+process each row one by one you can split the exchange, using
+*Notice:* The Flatpack library does currently not support header and
+trailers for the marshal operation.
+The data format has the following options:
+|Option |Default |Description
+|`definition` |`null` |The flatpack pzmap configuration file. Can be omitted in simpler
+situations, but its preferred to use the pzmap.
+|`fixed` |`false` |Delimited or fixed.
+|`ignoreFirstRecord` |`true` |Whether the first line is ignored for delimited files (for
the column
+|`textQualifier` |`"` |If the text is qualified with a char such as `"`.
+|`delimiter` |`,` |The delimiter char (could be `;` `,` or similar)
+|`parserFactory` |`null` |Uses the default Flatpack parser factory.
+|`allowShortLines` |`false` |*Camel 2.9.7 and 2.10.5 onwards*: Allows for lines to be shorter
+expected and ignores the extra characters.
+|`ignoreExtraColumns` |`false` |*Camel 2.9.7 and 2.10.5 onwards*: Allows for lines to be
longer than
+expected and ignores the extra characters.
+To use the data format, simply instantiate an instance and invoke the
+marshal or unmarshal operation in the route builder:
+  FlatpackDataFormat fp = new FlatpackDataFormat();
+  fp.setDefinition(new ClassPathResource("INVENTORY-Delimited.pzmap.xml"));
+  ...
+  from("file:order/in").unmarshal(df).to("seda:queue:neworder");
+The sample above will read files from the `order/in` folder and
+unmarshal the input using the Flatpack configuration file
+`INVENTORY-Delimited.pzmap.xml` that configures the structure of the
+files. The result is a `DataSetList` object we store on the SEDA queue.
+FlatpackDataFormat df = new FlatpackDataFormat();
+df.setDefinition(new ClassPathResource("PEOPLE-FixedLength.pzmap.xml"));
+In the code above we marshal the data from a Object representation as a
+`List` of rows as `Maps`. The rows as `Map` contains the column name as
+the key, and the the corresponding value. This structure can be created
+in Java code from e.g. a processor. We marshal the data according to the
+Flatpack format and convert the result as a `String` object and store it
+on a JMS queue.
+To use Flatpack in your camel routes you need to add the a dependency on
+*camel-flatpack* which implements this data format.
+If you use maven you could just add the following to your pom.xml,
+substituting the version number for the latest & greatest release (see
+link:download.html[the download page for the latest versions]).
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-flatpack</artifactId>
+  <version>x.x.x</version>
diff --git a/docs/user-manual/en/ b/docs/user-manual/en/
index 1e94f8e..6054bc7 100644
--- a/docs/user-manual/en/
+++ b/docs/user-manual/en/
@@ -150,6 +150,7 @@
 * Data Formats
+    * [Flatpack](flatpack-dataformat.adoc)
     * [XML JSON](xmljson.adoc)
 * User Guide

View raw message