Description
A Java CLI for parsing Apache NiFi FlowFileStreams. One or more FlowFiles can be serialized into a FlowFileStream, in one of three formats.
Artifact Information
Maven GroupId |
|
Maven ArtifactId |
|
Maven Version |
|
Git Hash |
Background
While the Apache Foundation has its own Unpackager (nifi-flowfile-packager). It lacks a packager, and dumps all attributes into their own text files which is a little messy for large projects. This CLI dumps all FlowFile Attributes to the STDOUT (Standard Output), and thus can easily be redirected to a file.
I’ve developed several versions of this project over the years, and created a WebGUI based version: https://www.nf2t.net/.
Technologies Used
-
Picocli: Picocli is a one-file framework for creating Java command line applications with almost zero code.
-
Asciidoctor: A fast text processor & publishing toolchain for converting AsciiDoc to HTML5, DocBook & more.
How to Build
Example Scripts
-
download_jar.sh: Download the JAR from MAVEN
-
test.sh: After running the build script, will test the executable jar.
TODO
-
In the test.sh example the FlowFile path is "./quick_test//2/data.flowfilev3" which the /2/data.flowfilev3 seems to be refering to the path in the ZIP file.
-
Can pass variables with asciidoc https://stackoverflow.com/questions/63622953/asciidoctor-activate-substitution-in-cli-attributes
-
Remove concept of version as provided by CLI arg, or make version and prefix additional options for configuring how FlowFileStream(s) are parsed.
-
Add a seperate file metadata section w/ uuids, and connect parents w/ uuids, and flowfiles to uuids
-
Add JavaDocs Comments to page to stop "warning: no comment" errors.
-
Figure out why progress bars are still appearing even though i added the argument to mvn clean install.
-
Add Git information to the page?
-
Get Favicons into manpages.
-
Add AutoComplete.
-
Review the standard implementation, make sure this implementation is as similiar as possible: https://github.com/apache/nifi/blob/main/nifi-commons/nifi-flowfile-packager/src/main/java/org/apache/nifi/util/Unpackage.java.
-
Always say unpackage before package reflecting its primacy.