You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hop.apache.org by ha...@apache.org on 2021/07/27 13:26:36 UTC

[incubator-hop] branch release0.99 updated (0f3e4fd -> 069d67e)

This is an automated email from the ASF dual-hosted git repository.

hansva pushed a change to branch release0.99
in repository https://gitbox.apache.org/repos/asf/incubator-hop.git.


    from 0f3e4fd  Merge pull request #872 from mattcasters/master
     add 70029c5  HOP-2948 : Remove Eclipse JFace dependency
     add 830f90b  Merge pull request #871 from mattcasters/master
     add 64889fc  HOP-2953 : Allow inclusion of optional header in the .hpl/.hwf file format (test fix)
     add 6b38652  Merge pull request #872 from mattcasters/master
     add 6315167  Add maven version to readme
     add 734c449  [DOCS] update creating a release based on feedback
     add 0f67ae5  Merge pull request #870 from hansva/master
     add d52d401  HOP-2911 - added support for a generic structure of metadata fields to describe incoming stream without having to worry about fields' internationalization
     add c2a0ec8  HOP-2911 : metadata cleanup, additional integration test
     add 6e360e9  HOP-2911 : bug fixes, metadata cleanup, additional integration test
     add 235a297  Merge branch 'master' into pr867
     add cbb5576  HOP-2911 : bug fixes, metadata cleanup, additional integration test
     add 5720069  HOP-2911 : bug fixes, metadata cleanup, additional integration test
     add e4b8a0c  Merge pull request #869 from mattcasters/pr867
     add 2abcc2c  HOP-2499 - Added Trim option in DatabaseLookup HOP-2330 - Further improvements to italian translations
     add 0392e3d  HOP-2499 - Fixed and improved tests' for DatabaseLookup
     add aea3b11  Merge pull request #865 from sramazzina/HOP-2499
     add 429ba9c  HOP-2958 : Setting tooltip on menu item causes exeption in Hop Web
     add 1e40503  HOP-2959 : Unrecognized variables field in project
     add 530355a  Merge pull request #873 from mattcasters/master
     add d65e68f  HOP-2951 : Parquet File Output: add option to create parent folders
     add 1cd7b63  Merge pull request #874 from mattcasters/master
     add fa7c23e  HOP-2949: remove shell variable
     add f6d3722  Merge pull request #875 from hansva/master
     add 6ce8c13  HOP-2955 : Database transactions for local pipelines and workflows
     add d28db28  HOP-2955 : Database transactions for local pipelines and workflows
     add d936530  Merge pull request #876 from mattcasters/transactions
     add 2ab8c90  HOP-2962: remove shell variable to avoid NPE in macos
     add 33cf050  Merge pull request #877 from hansva/master
     add 42c449a  HOP-2499: fix Trim type and integration tests
     add e625988  Merge pull request #879 from hansva/master
     add 9e5cc59  HOP-2541 : Hop Web: not possible to see data of a transform
     add 293f1dc  HOP-2955 : Database transactions for local pipelines and workflows (IT) Small improvement to the hop web container script
     add 0994022  Merge pull request #878 from mattcasters/master
     add c17bd96  HOP-2918: replace filter transform
     add 1ea4a36  Merge pull request #880 from hansva/master
     add 583b64f  HOP-2963 : Pressing control in Hop Web crashes the app
     add 12e522f  HOP-2960 : Allow zoom in/out on Hop Web
     add 10264f9  HOP-2964 : The Neo4j Cypher dialog is too cluttered
     add 107005c  HOP-2960 : Allow zoom in/out on Hop Web (rollback)
     add 75cffa3  HOP-2960 : Allow zoom in/out on Hop Web (rollback)
     add c2fd14e  HOP-2965 : Update Neo4j java driver to 4.3.1
     add 09766e5  HOP-2964 : The Neo4j Cypher dialog is too cluttered (tweak)
     add 22e1f85  Merge pull request #881 from mattcasters/master
     add 0cb6cb6  HOP-2967 : Non-local folders for projects are not working
     add 479d5a3  HOP-2968 : S3 VFS driver shows size warning
     add d9d8af0  HOP-2968 : S3 VFS driver shows size warning
     add 1d8a7bb  HOP-2967 : Non-local folders for projects are not working
     add 391d1c6  Merge pull request #882 from mattcasters/master
     add 3ae9255  HOP-2967 : Non-local folders for projects are not working
     add faec0a0  Merge pull request #883 from mattcasters/master
     add ff5fd80  File name adjustments
     add bdb5ca7  Merge pull request #884 from openinbigdata/patch-1
     add c8eeb26  Update hop-what-is-hop.adoc
     add 1c63898  Merge pull request #885 from apache/minor-changes-1
     add 1bb86b3  apache-rat:check instead of apache-rat:rat
     add 1ba6180  Merge pull request #886 from bamaer/HOP-2974
     add 909d93f  HOP-2975: add MDI support and cleanup meta
     add 57940e6  Merge pull request #887 from hansva/master
     add 4fabfd0  [DOC] fix variable NEO4J_LOGGING_CONNECTION
     add 91bf299  HOP-2977 - Added ability to rename existing projects and prevented usage of an existing project's name
     add fb8e65d  HOP-2977 - Added small fix
     add 3e725dd  HOP-2969 - Managed exception in selecting project's config folder on Win10 (but I suppose it was an issue for every platform) when project-config.json doesn't existed.
     add 48dd3ea  Merge pull request #888 from sramazzina/PRJ-FIXES
     add f3bc0b6  HOP-2937: expose requiresName() for database test/explore
     add c57bae1  HOP-2954: pipeline.stopAll() was called twice
     add 73cfcc0  HOP-2954: Added Atomicboolean to check if code has ran
     add e8d6597  Merge pull request #889 from hansva/db-fixes
     add 33f556c  updated neo4j logo
     add 18915ca  quick links to logging functionality for completeness
     add 67b1678  Merge pull request #891 from bamaer/HOP-2985
     add b82ca97  HOP-2994 Cleanup deprecated code
     add 9e9482a  HOP-2950 Sorting table and schema names in Database explorer and fix database image
     add 76a8593  HOP-2994 Cleanup deprecated code
     add e78ec0d  HOP-2980 : Don't log to slf4j
     add 79386f3  HOP-2980 : Don't log to slf4j (more cleanup)
     add 7696a1f  HOP-2986 : VFS S3: bucket name is not calculated correctly
     add d8e6d59  HOP-2984 : HopVfs.fsm doesn't see VFS plugins
     add e0a9d9a  HOP-2984 : HopVfs.fsm doesn't see VFS plugins
     add fde4c98  HOP-2967 : Non-local folders for projects are not working HOP-2941 : Import from Kettle/PDI - if import fails the user isn't notified HOP-2655 : Kettle import: enable name-filename synchronization after import
     add 4080d6f  HOP-2828 : Kettle Import: align transform/action locations with grid
     add 6a6a4cb  HOP-2659 : add option to skip folders while importing HOP-2661 : add CLI import tool
     add 45af0b0  HOP-2661 : add CLI import tool (index update)
     add e9b874c  Merge pull request #892 from mattcasters/master
     add eeecf1f  HOP-2999: increase timeouts on container creation
     add 6ec0e7a  Merge pull request #895 from hansva/master
     add 0d590fb  Merge pull request #893 from nadment/HOP-2994
     add edad52c  HOP-2661 : add CLI import tool (doc URL update)
     add 646c5f1  HOP-2736 : It is not efficient to generate 200 icon images and transfer them to the client every time ContextDialog is opened
     add ce9a48b  Merge pull request #894 from mattcasters/master
     add 6e23ad1  HOP-2981 - Deny project's deletion if it is declared as parent project of another project HOP-2983 - Prevent user create a circular reference with project HOP-2982 - Prevent the user to identify a project as a parent of itself
     add c67b6ec  HOP-2987 - Ability to create a project without a parent project
     add 45b66a4  HOP-2989 - Deny project's rename if it is declared as parent project of another project
     add bb3e0ce  HOP-2991 - Project's selection from combo box in project's options dialog
     add c7f85d1  HOP-2981 - Fixed NPE on parent project deletion
     add 2c0abb2  HOP-2996 - NPE if a user manually enters a non existent parent project in project's dialog Some refactorings and code cleanup
     add 7c70d5a  Merge pull request #890 from sramazzina/PRJ-FIXES
     add 677726c  HOP-2892 : Add keywords to transforms and actions metadata
     add fea0b24  HOP-3000 : https://issues.apache.org/jira/browse/HOP-3000
     add 06498ee  HOP-3000: update docker file to include theme
     add e96b88f  HOP-3001 : SVG images no longer show in the GUI
     add 99196b3  Merge remote-tracking branch 'mattcasters/master' into master-matt
     add 85fac99  Merge pull request #896 from mattcasters/master
     add e2db010  HOP-3002 : Neo4j logo is only partly visible in dark mode
     add 6987e5d  HOP-3000 : Hop Web: add support for themes
     add 6f5f713  Merge pull request #898 from mattcasters/master
     add adebcc8  HOP-2995 - Project's options dialog let you enter a non existent project
     add f0a8a43  Merge pull request #897 from sramazzina/PRJ-FIXES
     add 2024661  Merge pull request #900 from nadment/HOP-2950
     add e8d2266  HOP-3000 : Hop Web: add support for themes
     add 9e94b05  HOP-3000 : Hop Web: add support for themes (how to build incrementally)
     add 4bd1fed  Merge pull request #901 from mattcasters/master
     add 302e319  HOP-3004 : Hop GUI: save project state also on open and save
     add 44b9394  HOP-3005 : Hop Web: allow for different Hop configurations
     add 03cd624  HOP-3000 : Hop Web: add support for themes (icon color fix)
     add eb4f8ec  HOP-3005 : Hop Web: allow for different Hop configurations
     add db5e4d3  Merge pull request #902 from mattcasters/master
     add 46024d2  Merge remote-tracking branch 'origin/master' into HOP-2994
     add a324612  HOP-2994 Cleanup deprecated code
     add 9f779e1  Merge pull request #903 from nadment/HOP-2994
     add a7db41c  HOP-3003 Fix layout of result of pipeline checks dialog
     add 40b7ff0  Merge pull request #904 from nadment/HOP-3003
     add 9a7388b  HOP-3011 Remove I18nPackageName from plugin annotation
     add 787b62f  Merge pull request #905 from nadment/HOP-3011
     add aa78cc2  HOP-2976: Add MDI support to data grid transform and create IT tests
     add d557b46  HOP-2976: remove unit tests
     add 3dc006c  Merge pull request #906 from hansva/master
     add 3092db0  HOP-2910: replace transform by action in workflow getting started
     add 839ed23  HOP-2992: change sorting and fix ctrl+space on macOs
     add 753004e  Merge pull request #907 from hansva/master
     add 8e9074d  HOP-2997 Add delete and rename options in VFS dialog
     add a11b0e3  Merge pull request #908 from nadment/HOP-2997_VfsDialog
     add 5c8879b  [DOC] add list with supported MDI transforms, add hpl to generate list
     add ec09fbb  Merge pull request #909 from hansva/master
     add 60c196d  HOP-3023: add directrunner integration tests
     add c0a1a7f  Merge pull request #910 from hansva/master
     add e702921  HOP-2993 - Removed variables icon from the right of the Connection type dropdown HOP-2330 - Various refinements to italian translations
     add f93b8e7  Merge pull request #911 from sramazzina/HOP-2993
     add 6f78627  HOP-3025 - Manage hardcoded strings in HopBeamGuiPlugin
     add 24b2f15  Merge pull request #913 from sramazzina/HOP-3025
     add aec5944  helm chart hop server
     add 9a4831b  added license comment
     add f051c9d  Merge pull request #912 from joeriheyvaerts/master
     add 8ec14b3  HOP-2643: fix documentation URLS
     add 8577c3a  HOP-3015: remove filter from documentation
     add 41f3d31  HOP-2942: add mavenwrapper to increase ease of build
     add f02be0b  HOP-2942: add mavenwrapper windows command
     add 26a9dd4  Merge pull request #914 from hansva/master
     add 0e79101  HOP-3021 - Added MDI support to String Cut HOP-2330 - Various fixes and improvements to italian translations
     add 2ab5393  HOP-2330 - Various fixes and improvements to italian translations - small forgetfulness
     add 5a86740  HOP-3021 - Added injectionKey attribute for backward compatibility
     add 110990f  HOP-3021: add MDI IT test and minor cleanup
     add ddc0c05  Merge pull request #915 from sramazzina/HOP-2068
     add ab89383  [DOC]: set MDI support to Y for Strings Cut
     add a2b62a3  HOP-3020 - Added MDI support to Split field to rows HOP-2330 - Italian translation fixes and improvements
     add 0b40970  HOP-3020: minor cleanup and formatting
     add d28746d  Merge pull request #916 from sramazzina/HOP-3020
     add f2c913f  HOP-3030: fix dialog not opening on invalid pipeline + cleanup
     add bddb85b  [DOC] fix links and cleanup
     add 598b88b  Merge pull request #919 from hansva/master
     add a35fda3  [TRANSLATION]: Fix translation mistake in workflow run options
     add 1a8d64e  Merge pull request #920 from hansva/master
     add ebeb2ea  HOP-3021 - Added MDI support to Delete transform HOP-2330 - Italian translation fixes and improvements
     add 703011d  HOP-3018 - Added MDI support to Delete transform HOP-2330 - Italian translation fixes and improvements
     add 8f41bf0  HOP-3018 - Cleaned up imports
     add d21789f  HOP-3018: small cleanup/reformat
     add 7092a89  Merge pull request #918 from sramazzina/HOP-3018
     add 5301c63  update tools nav
     add 4acb0b3  Merge pull request #921 from bamaer/HOP-3033
     add e6ce463  HOP-3032: fix table layout (#922)
     add c6e1182  HOP-3032: fix table layout
     add 64ded87  Merge pull request #924 from hansva/master
     add 5d55d41  HOP-3038 add global and environment variables to variables docs
     add 7cf8742  HOP-3034 initial protips version
     add a396e9c  HOP-3037 turn best practices into snippets
     add b9c03a0  Merge pull request #925 from bamaer/HOP-3034
     add 6eb1292  HOP-3022 - Added MDI support to TableOutput
     add d59f92f  HOP-3022 - Fixed errors and code cleanup
     add 991e929  HOP-3022: small fix + cleanup
     add 6c03fbf  HOP-3022: update MDI support doc
     add cf39fbf  Merge pull request #923 from sramazzina/HOP-3022
     add 9313686  HOP-3040 - Add translate database messagens from Portuguese Brazilian Language
     add 928221f  HOP-1877 Brazilian Translation to fix, closed
     add 306b1dc  HOP-3040 - fix server translate
     add 0c08ea8  Hop-3040 - Translate service www messagens for pt_BR
     add 6feef02  Merge pull request #926 from ambientelivre/master
     add 555a29f  HOP -2364 Remove variable HOP_PIPELINE_PAN_JVM_EXIT_CODE
     add 2d070d4  Merge pull request #928 from nadment/HOP-2364
     add 41485ad  HOP-3041 StyledTextComp doesn't display variable icon properly
     add 3120414  Merge pull request #927 from nadment/HOP-3041
     add 224cdb6  HOP-3039 - Added variables resolution over project's folder path field
     add d2b6e7f  Merge pull request #929 from sramazzina/HOP-3039
     add 8d9a37a  HOP-3088: fix persistance of data and unit-test (#931)
     add 8577c8d  HOP-3091 Translation error Beam Bigtable Input
     add 99a16b9  Merge pull request #934 from nadment/HOP-3091
     add a65d9d7  HOP-3035 - Added attribute to @HopMetadataProperty to exclude specific fields from MDI transform. Added property to TableOutputMeta to manage the exclusion of 2 attributes from MDI.
     add ba46263  Merge pull request #935 from sramazzina/HOP-3035
     add 7450981  HOP-3082 Add MDI support to Table exists
     add e686b1e  HOP-3082: minor cleanup + IT test
     add b475799  Merge pull request #933 from nadment/HOP-3082
     add cd65e85  HOP-3013 Adapt ContextDialog position to monitor
     add 19c327b  HOP-3013 Adapt to the shell monitor
     add 493dc93  HOP-3013: change position calculation
     add f47c9c1  Merge pull request #932 from nadment/HOP-3013
     add 884d7cb  Rename artifactId from hop-transforms-mongodb to hop-transform-mongodb
     add f77a4a4  Merge pull request #936 from nadment/ArtifactID
     add c299c3cc HOP-2391 samples for filter rows, null if, if null, string operations, switch/case, merge join, stream lookup, select values, value mapper, number range
     add 61812fa  HOP-2391 added ASF header
     add e8f83f9  Merge pull request #937 from bamaer/HOP-2391
     add 4d0ac86  HOP-3092: move to database plugin
     add 69b4cc5  Merge pull request #938 from hansva/HOP-3092
     add 511df06  Hop-3040 - update hop editor translate for pt_BR and translate fix en_US
     add 68c1a21  Merge pull request #939 from ambientelivre/master
     add e0f6c46  HOP-2391 samples for identify last row, java filter and get filenames (directly and from fields)
     add 5c90fa9  Merge pull request #941 from bamaer/HOP-2391
     add 24114f7  Hop-3040 - add partition translate for pt_BR (#940)
     add 850bd7d  HOP-3092: remove commented code
     add bff7098  HOP-2065: close connection to avoid leak
     add f9d956b  Merge pull request #942 from hansva/HOP-3092
     add c71d72f  HOP-2033 Updated italian translations
     add ca1f24f  Merge pull request #944 from sramazzina/master
     add e58b2f2  HOP-2391 samples for csv, text file input, output and sort rows, sorted merge
     add 8b5d61e  HOP-2391 added ASF headers to sample files
     add 784d12e  Merge pull request #945 from bamaer/HOP-2391
     add 301999e  HOP-3019 (#943)
     add 02bf929  HOP-3000 : Hop Web: add support for themes (border color fixes)
     add c04c0eb  HOP-3900 : Don't serialize volatile or transient fields to XML
     add 3f256d7  HOP-3010 : CheckPipelineProgressDialog is never closed (+layout fix)
     add 09ba610  Merge pull request #946 from mattcasters/master
     add 0f0abd1  HOP-2391 first batch of samples for rdbms transforms
     add 8dfd8a9  Merge pull request #948 from bamaer/HOP-2391
     add 267fafa  HOP-3099 : Update Beam API to 2.31.0
     add 0984bf6  HOP-3099 : Update Beam API to 2.31.0
     add f5a585c  Merge pull request #947 from mattcasters/master
     add 760b576  HOP-3043 Add MDI support to Add value fields changing sequence + small cleaning + integration test
     add d837be9  HOP-3043: minor changes and formatting
     add 34fb8ee  Merge pull request #949 from nadment/HOP-3043
     add 9bae187  HOP-3102: add commons-net dependency to lib
     add 7675f0d  Merge pull request #951 from hansva/master
     add 77441a6  HOP-3042 Added MDI support to Add Constants transform
     add b633f0a  HOP-3042 Added MDI support to Add Constants transform
     add d2d2f53  HOP-3042 Fixed dependencies on ConstantMeta
     add cbf6139  HOP-3042: cleanup/formatting/docs
     add 662994c  Merge pull request #950 from sramazzina/HOP-3042
     add 305ad15  HOP-3098: remove ftps docs
     add ce9fb94  Merge pull request #952 from hansva/master
     add 405820b  HOP-3101 Fix StyledTextComposite layout + rename ScriptValuesMod -> ScriptValues
     add 3e68f1f  Merge pull request #953 from nadment/HOP-3101
     add 4a52bc7  [HOP-3104] - Reduce terminal spam in Windows bat files. (#954)
     add 9c47e2c  HOP-2391 samples for abort, analytic query, blocking transform, coalesce, column exists, database join and dimension lookup/update
     add 40fb1af  Merge pull request #955 from bamaer/HOP-2391
     add 86fcd1c  HOP-3050 Add MDI support to Clone row
     add 82e9e7b  HOP-3050: formatting and minor changes
     add 84d4248  Merge pull request #957 from nadment/HOP-3050
     add c51eb94  HOP-3103: add gson to resolve gs:// issues in hop-gui
     add e262f52  HOP-3106: fix links on page
     add 3d60e2c  HOP-3111: match options from Get system Info
     add 0d073a6  Merge pull request #958 from hansva/master
     add cc5aa88  HOP-3113: remove imported plugins
     add ab1db9c  HOP-3113: remove imported plugins
     add b683d96  Merge pull request #959 from hansva/master
     add 7c5f2c7  [DOC] remove broken links
     add ae1595c  Merge pull request #961 from hansva/master
     add dd25629  HOP-3116 Open help documentation to default browser
     add 00133f4  HOP-3116: fix help button
     add 6d1a7ec  HOP-3116: fix dimension Lookup/Update Dialog
     add 36f8393  Merge pull request #960 from nadment/HOP-3116
     add 07d78a4  HOP-3029 Added support to specify connection name through environment variable (TableOutput)
     add c5b9bdc  HOP-3029 Added new findDatabase method in AbstractMeta to provide variables' resolution in connection name
     add 6fd48ca  HOP-3029: javadoc change and formatting
     add 29cd3f4  Merge pull request #956 from sramazzina/HOP-3029
     add fa46a76  HOP-3115 : Beam BigQuery Output failing because of missing dependency
     add 3a02fa1  HOP-3125 : Allow security property jdk.tls.disabledAlgorithms to be set on Beam DataFlow
     add efd65cc  HOP-3125 : Allow security property jdk.tls.disabledAlgorithms to be set on Beam DataFlow (javadoc)
     add f5dcbd9  HOP-3124 : JavaScript transform: edit text area too small (rename of class)
     add a9e5385  HOP-3126 : Beam: re-add support for batching
     add 4b0ba9a  Merge pull request #962 from mattcasters/master
     add 1d5a5e0  HOP-3083 Add MDI support to Unique rows
     add e781870  HOP-3083: formatting
     add 887b570  Merge pull request #963 from nadment/HOP-3083
     add 9003889  [DOC] update metadata-injection page
     add 7ca3ed0  Merge pull request #964 from hansva/master
     add d24c608  HOP-3094 Added add filename from field option in ExcelWriter transform. Managed a discrete reorg of all the fields in appropriate tabs to reduce complexity and keep things cleaner.
     add 968c996  HOP-3094: cleanup
     add 92a7e98  Merge pull request #965 from sramazzina/HOP-3094
     add 25a30e4  HOP-3133 : Documentation: add Getting started with Beam guide
     add 17f903e  Merge pull request #967 from mattcasters/master
     add 8149cfc  HOP-3133 : Documentation: add Getting started with Beam guide (typo fix)
     add 0b9e684  HOP-3133 : Documentation: add Getting started with Beam guide (image sizes)
     add bd7edde  Merge pull request #968 from mattcasters/master
     new 069d67e  Merge remote-tracking branch 'upstream/master' into release0.99

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../resources/version.xml => .mvn/extensions.xml   |   10 +-
 .mvn/wrapper/MavenWrapperDownloader.java           |  117 +
 .../wrapper/maven-wrapper.properties               |    3 +-
 README.md                                          |   33 +-
 .../plugins/actions/ftp/src/assembly/assembly.xml  |    7 -
 .../databases/googlebigquery-assemblies/pom.xml    |    4 +-
 .../databases/postgresql-assemblies/pom.xml        |    2 +-
 assemblies/plugins/dist/pom.xml                    |   25 -
 assemblies/plugins/engines/beam/pom.xml            |   14 +-
 .../plugins/engines/beam/src/assembly/assembly.xml |   11 +-
 assemblies/plugins/tech/google/pom.xml             |    4 +-
 .../plugins/tech/google/src/assembly/assembly.xml  |  146 +-
 assemblies/plugins/tech/neo4j/pom.xml              |    3 +-
 .../plugins/tech/parquet/src/assembly/assembly.xml |    1 -
 assemblies/plugins/transforms/dropbox/pom.xml      |   51 -
 .../transforms/dropbox/src/assembly/assembly.xml   |   57 -
 assemblies/plugins/transforms/mongodb/pom.xml      |    2 +-
 .../transforms/mongodb/src/assembly/assembly.xml   |    4 +-
 assemblies/plugins/transforms/mqtt/pom.xml         |   61 -
 .../transforms/mqtt/src/assembly/assembly.xml      |   57 -
 .../transforms/mqtt/src/main/resources/version.xml |   19 -
 .../pgbulkloader/src/assembly/assembly.xml         |    2 +-
 assemblies/plugins/transforms/pom.xml              |    2 -
 assemblies/static/src/main/resources/hop-conf.bat  |    1 +
 .../static/src/main/resources/hop-encrypt.bat      |    1 +
 assemblies/static/src/main/resources/hop-gui.bat   |    1 +
 .../resources/{hop-conf.bat => hop-import.bat}     |    5 +-
 assemblies/static/src/main/resources/hop-import.sh |   79 +
 assemblies/static/src/main/resources/hop-run.bat   |    1 +
 .../static/src/main/resources/hop-search.bat       |    1 +
 .../static/src/main/resources/hop-server.bat       |    1 +
 .../static/src/main/resources/hop-translator.bat   |    1 +
 core/pom.xml                                       |   16 +
 core/src/main/java/org/apache/hop/core/Const.java  |    8 +-
 .../org/apache/hop/core/HopClientEnvironment.java  |  107 +-
 .../org/apache/hop/core/LogProgressMonitor.java    |   45 +-
 .../hop/core/config/ConfigFileSerializer.java      |   69 +-
 .../hop/core/config/plugin/ConfigPluginType.java   |    6 -
 .../apache/hop/core/database/BaseDatabaseMeta.java |    1 +
 .../org/apache/hop/core/database/Database.java     |   39 +-
 .../org/apache/hop/core/database/DatabaseMeta.java |   71 +-
 .../hop/core/database/DatabasePluginType.java      |    6 -
 .../org/apache/hop/core/database/IDatabase.java    |    5 +
 .../hop/core/database/IDatabaseTransaction.java    |   25 -
 .../core/database/map/DatabaseConnectionMap.java   |  111 +-
 .../TwoWayPasswordEncoderPluginType.java           |    6 -
 .../core/extension/ExtensionPointPluginType.java   |    5 -
 .../hop/core/extension/HopExtensionPoint.java      |  215 +-
 .../apache/hop/core/gui/plugin/GuiPluginType.java  |    6 -
 .../apache/hop/core/logging/LoggingPluginType.java |    5 -
 .../apache/hop/core/plugins/BaseFragmentType.java  |    6 -
 .../apache/hop/core/plugins/BasePluginType.java    |   49 +-
 .../hop/core/plugins/BasePluginTypeExposer.java    |   19 +-
 .../java/org/apache/hop/core/row/IRowMeta.java     |   14 -
 .../main/java/org/apache/hop/core/row/RowMeta.java |   27 -
 .../org/apache/hop/core/row/ValueDataUtil.java     |   15 -
 .../hop/core/row/value/ValueMetaPluginType.java    |    6 -
 .../core/search/SearchableAnalyserPluginType.java  |    5 -
 .../java/org/apache/hop/core/svg/SvgCache.java     |   87 +-
 .../main/java/org/apache/hop/core/vfs/HopVfs.java  |  361 +--
 .../apache/hop/core/vfs/plugin/VfsPluginType.java  |    5 -
 .../hop/metadata/api/HopMetadataProperty.java      |    3 +
 .../hop/metadata/plugin/MetadataPluginType.java    |    5 -
 .../serializer/json/JsonMetadataProvider.java      |   77 +-
 .../serializer/json/JsonMetadataSerializer.java    |  194 +-
 .../metadata/serializer/xml/XmlMetadataUtil.java   |   12 +
 .../database/messages/messages_pt_BR.properties    |   79 +
 .../hop/core/messages/messages_it_IT.properties    |    4 +-
 .../hop/i18n/messages/messages_en_US.properties    |    7 +-
 .../hop/i18n/messages/messages_it_IT.properties    |    1 +
 .../hop/i18n/messages/messages_ja_JP.properties    |    6 +-
 .../hop/core/database/DatabaseConnectingTest.java  |  175 +-
 docker/Dockerfile.web                              |   10 +-
 docker/create_hop_web_container.sh                 |    9 +-
 docker/integration-tests/Dockerfile.unit-tests     |    4 +-
 .../integration-tests-cassandra.yaml               |    7 +-
 .../integration-tests-database.yaml                |    7 +-
 .../integration-tests/integration-tests-mongo.yaml |    5 +-
 .../integration-tests/integration-tests-neo4j.yaml |    5 +-
 .../pages/apache-release/checking-a-release.adoc   |   11 +-
 .../pages/apache-release/creating-a-release.adoc   |   62 +-
 .../pages/apache-release/promoting-a-release.adoc  |   47 -
 .../modules/ROOT/pages/hopweb/developer-guide.adoc |   66 +-
 .../modules/ROOT/pages/svg-files.adoc              |    3 +-
 .../beam-getting-started-beam-file-definition.png  |  Bin 0 -> 145198 bytes
 .../images/beam-getting-started-flushes-metric.png |  Bin 0 -> 98819 bytes
 ...etting-started-input-transforms-on-dataflow.png |  Bin 0 -> 71602 bytes
 .../ROOT/assets/images/copy-as-pipeline-action.png |  Bin 0 -> 14267 bytes
 ...getting-started-input-process-output-sample.png |  Bin 0 -> 57642 bytes
 .../ROOT/assets/images/icons/neo4j_logo.svg        |   56 +-
 docs/hop-user-manual/modules/ROOT/nav.adoc         |   16 +-
 .../modules/ROOT/pages/best-practices/index.adoc   |   91 +-
 .../getting-started/hop-download-install.adoc      |    2 +-
 .../pages/getting-started/hop-gui-workflows.adoc   |    8 +-
 .../ROOT/pages/getting-started/hop-next-steps.adoc |    2 +-
 .../pages/getting-started/hop-what-is-hop.adoc     |    6 +-
 .../modules/ROOT/pages/hop-gui/hop-gui-git.adoc    |    8 +-
 .../modules/ROOT/pages/hop-server/index.adoc       |    8 +-
 .../modules/ROOT/pages/hop-server/rest-api.adoc    |   38 +-
 .../modules/ROOT/pages/hop-tools/hop-import.adoc   |  100 +
 .../modules/ROOT/pages/hop-tools/index.adoc        |    3 +-
 .../modules/ROOT/pages/logging/logging-basics.adoc |   43 +
 .../metadata-types/neo4j/neo4j-graphmodel.adoc     |    2 +-
 .../pages/metadata-types/pipeline-run-config.adoc  |   20 +-
 .../pages/metadata-types/rdbms-connection.adoc     |    2 +-
 .../pipeline/beam/getting-started-with-beam.adoc   |  179 ++
 .../ROOT/pages/pipeline/metadata-injection.adoc    |  199 ++
 .../modules/ROOT/pages/pipeline/partitioning.adoc  |   18 +-
 .../beam-dataflow-pipeline-engine.adoc             |   63 +-
 .../beam-spark-pipeline-engine.adoc                |   24 +-
 .../native-local-pipeline-engine.adoc              |   53 +-
 .../ROOT/pages/pipeline/pipeline-unit-testing.adoc |   18 +-
 .../modules/ROOT/pages/pipeline/pipelines.adoc     |    1 +
 .../modules/ROOT/pages/pipeline/transforms.adoc    |    8 -
 .../ROOT/pages/pipeline/transforms/datagrid.adoc   |    3 +-
 .../pages/pipeline/transforms/dropboxinput.adoc    |   38 -
 .../pages/pipeline/transforms/dropboxoutput.adoc   |   39 -
 .../ROOT/pages/pipeline/transforms/filter.adoc     |  122 -
 .../pages/pipeline/transforms/getsystemdata.adoc   |   15 -
 .../pages/pipeline/transforms/googleanalytics.adoc |   87 -
 .../pipeline/transforms/googlesheetsinput.adoc     |   41 -
 .../pipeline/transforms/googlesheetsoutput.adoc    |   51 -
 .../pages/pipeline/transforms/metastructure.adoc   |   15 +
 .../pages/pipeline/transforms/pgbulkloader.adoc    |   74 +
 .../pages/pipeline/transforms/rowdenormaliser.adoc |   13 +-
 .../pages/pipeline/transforms/simple-mapping.adoc  |    6 +-
 .../ROOT/pages/plugins/import/kettle-import.adoc   |   72 +
 .../modules/ROOT/pages/plugins/plugins.adoc        |    1 -
 .../modules/ROOT/pages/protips/index.adoc          |   62 +
 .../best-practices/governance.adoc}                |   15 +-
 .../best-practices/logging.adoc}                   |   14 +-
 .../best-practices/loops.adoc}                     |   13 +-
 .../best-practices/mappings.adoc}                  |    7 +-
 .../best-practices/metadata-injection.adoc}        |   16 +-
 .../best-practices/naming-conventions.adoc         |   49 +
 .../best-practices/performance-basics.adoc}        |   17 +-
 .../snippets/best-practices/size-matters.adoc      |   25 +
 .../best-practices/variables.adoc}                 |   13 +-
 .../ROOT/pages/technology/google/index.adoc        |    3 -
 .../modules/ROOT/pages/technology/neo4j/index.adoc |    4 +-
 .../modules/ROOT/pages/variables.adoc              |   66 +
 docs/hop-user-manual/modules/ROOT/pages/vfs.adoc   |   94 +-
 .../modules/ROOT/pages/vfs/aws-s3-vfs.adoc         |   23 +-
 .../ROOT/pages/workflow/actions/ftpsget.adoc       |   83 -
 .../ROOT/pages/workflow/actions/ftpsput.adoc       |   69 -
 .../native-local-workflow-engine.adoc              |   44 +
 .../workflow-run-configurations.adoc               |    2 +-
 .../modules/ROOT/pages/workflow/workflows.adoc     |    6 +-
 .../java/org/apache/hop/base/AbstractMeta.java     |  592 ++---
 .../java/org/apache/hop/core/HopEnvironment.java   |  125 +-
 .../IProvidesDatabaseConnectionInformation.java    |    2 +-
 .../org/apache/hop/core/annotations/Action.java    |    7 -
 .../auth/AuthenticationConsumerPluginType.java     |    5 -
 .../auth/AuthenticationProviderPluginType.java     |    5 -
 .../hop/core/compress/CompressionPluginType.java   |    5 -
 .../hop/core/injection/bean/BeanInjectionInfo.java |   18 +-
 .../hop/core/injection/bean/BeanLevelInfo.java     |    2 +-
 .../apache/hop/core/plugins/ActionPluginType.java  |    5 -
 .../hop/core/plugins/HopServerPluginType.java      |    5 -
 .../hop/core/plugins/PartitionerPluginType.java    |    5 -
 .../hop/core/plugins/TransformPluginType.java      |    5 -
 .../main/java/org/apache/hop/imp/HopImport.java    |  618 +++++
 .../java/org/apache/hop/imp/HopImportBase.java     |  499 ++++
 .../main/java/org/apache/hop/imp/IHopImport.java   |  158 ++
 .../ImportPlugin.java}                             |   33 +-
 .../java/org/apache/hop/imp/ImportPluginType.java  |   66 +
 .../java/org/apache/hop/pipeline/Pipeline.java     | 2300 ++++++++--------
 .../java/org/apache/hop/pipeline/PipelineMeta.java |   13 -
 .../hop/pipeline/engine/IPipelineEngine.java       |  151 +-
 .../pipeline/engine/PipelineEnginePluginType.java  |    5 -
 .../engines/local/LocalPipelineEngine.java         |  142 +-
 .../local/LocalPipelineRunConfiguration.java       |  226 +-
 .../local/transaction/DatabaseCreatedXp.java       |   52 +
 .../local/transaction/TransformCreatedXp.java      |   49 +
 .../hop/pipeline/transform/BaseTransform.java      |   22 +-
 .../apache/hop/pipeline/transform/ITransform.java  |  328 +--
 .../transform/RowDistributionPluginType.java       |    6 -
 .../pipeline/transform/TransformInitThread.java    |   66 +-
 .../java/org/apache/hop/workflow/Workflow.java     |   11 +-
 .../org/apache/hop/workflow/action/IAction.java    |    3 +-
 .../hop/workflow/engine/IWorkflowEngine.java       |    5 +-
 .../workflow/engine/WorkflowEnginePluginType.java  |    6 -
 .../engines/local/LocalWorkflowEngine.java         |  146 +-
 .../local/LocalWorkflowRunConfiguration.java       |   55 +-
 engine/src/main/resources/hop-variables.xml        |    6 -
 .../pipeline/messages/messages_en_US.properties    |    5 -
 .../pipeline/messages/messages_ja_JP.properties    |    5 -
 .../core/compress/CompressionPluginTypeTest.java   |    3 -
 .../org/apache/hop/core/row/ValueDataUtilTest.java |   12 +-
 .../WorkflowActionLoadSaveTestSupport.java         |    1 -
 helm/README.md                                     |   49 +
 .../hop-server/.helmignore                         |   43 +-
 helm/hop-server/Chart.yaml                         |   41 +
 helm/hop-server/templates/_helpers.tpl             |   81 +
 .../hop-server/templates/hop-config.yaml           |   30 +-
 helm/hop-server/templates/hop-deployment.yaml      |   67 +
 .../hop-server/templates/hop-service.yaml          |   36 +-
 .../templates/tests/test-connection.yaml           |   36 +-
 helm/hop-server/values.yaml                        |   84 +
 integration-tests/actions/project-config.json      |   15 +-
 .../0001-generate-rows.hpl}                        |  214 +-
 .../beam_directrunner/0002-switch-case.hpl         |  314 +++
 .../datasets}/customers-noheader-1k.txt            |    0
 .../{xml => beam_directrunner}/dev-env-config.json |    0
 .../{mdi => beam_directrunner}/hop-config.json     |    5 -
 .../main-0001-generate-rows.hwf}                   |   57 +-
 .../main-0002-switch-case.hwf}                     |   44 +-
 .../metadata/dataset/customers-input.json          |    0
 .../metadata/file-definition/Customers.json        |    0
 .../metadata/pipeline-run-configuration/local.json |   18 +
 .../metadata/rdbms/testdb.json                     |    0
 .../metadata/workflow-run-configuration/local.json |    0
 .../beam_directrunner/project-config.json          |   15 +
 integration-tests/cassandra/hop-config.json        |    8 +-
 integration-tests/cassandra/project-config.json    |   20 +-
 .../database/0006-insert-table-output.hpl          |   52 +-
 .../0014-1-setup-before.hpl}                       |  137 +-
 .../0014-1-setup-before.hwf}                       |  103 +-
 .../0014-2-fail-transactional.hwf}                 |  113 +-
 .../0014-2-overwrite.hpl}                          |  110 +-
 .../0014-3-validate.hpl}                           |  136 +-
 ...able-output.hpl => 0015-check-table-exists.hpl} |  100 +-
 ...e-output.hpl => 0017-postgresql-bulkloader.hpl} |  126 +-
 integration-tests/database/hop-config.json         |    8 +-
 .../main-0014-transactional.hwf}                   |  126 +-
 .../main-0015-check-table-exists.hwf}              |   70 +-
 .../main-0016-delete-generic-driver.hwf}           |   33 +-
 .../main-0017-postgresql-bulkloader.hwf}           |   74 +-
 .../pipeline-run-configuration/transactional.json  |   18 +
 .../workflow-run-configuration/transactional.json  |   10 +
 integration-tests/database/project-config.json     |   18 +-
 integration-tests/header-env-conf.json             |    9 -
 ...-parent.hpl => 0006-row-denormaliser-child.hpl} |  160 +-
 .../mdi/0006-row-denormaliser-parent.hpl           |  349 +++
 .../mdi/0010-database-lookup-parent.hpl            |   85 +-
 ...6-filter-child.hpl => 0011-data-grid-child.hpl} |  107 +-
 integration-tests/mdi/0011-data-grid-parent.hpl    |  403 +++
 ...-filter-child.hpl => 0012-string-cut-child.hpl} |   98 +-
 ...ilter-parent.hpl => 0012-string-cut-parent.hpl} |  153 +-
 .../mdi/datasets/golden-data-grid.csv              |    5 +
 .../datasets/golden-row-denormaliser.csv           |    0
 .../mdi/datasets/golden-stringcut.csv              |    2 +
 integration-tests/mdi/hop-config.json              |    5 -
 ...6-filter.hwf => main-0006-row-denormaliser.hwf} |    8 +-
 integration-tests/mdi/main-0009-coalesce.hwf       |   15 -
 .../mdi/main-0010-database-lookup.hwf              |    2 +-
 ...ain-0006-filter.hwf => main-0011-data-grid.hwf} |   10 +-
 ...in-0006-filter.hwf => main-0012-string-cut.hwf} |   10 +-
 .../mdi/metadata/dataset/golden-data-grid.json     |   48 +
 .../metadata/dataset/golden-row-denormaliser.json  |    0
 .../mdi/metadata/dataset/golden-string-cut.json    |   24 +
 .../0006-row-denormaliser-parent UNIT.json         |   48 +
 .../0011-data-grid-parent-basic UNIT.json          |   44 +
 .../unit-test/0012-string-cut-parent UNIT.json     |   33 +
 integration-tests/mdi/project-config.json          |    8 +-
 integration-tests/mongo/hop-config.json            |    5 -
 integration-tests/mongo/project-config.json        |   20 +-
 integration-tests/neo4j/hop-config.json            |    5 -
 integration-tests/neo4j/project-config.json        |   18 +-
 .../parameters_and_variables/hop-config.json       |    5 -
 .../main-0003-pipeline-pipeline-executor.hwf       |    9 -
 .../parameters_and_variables/project-config.json   |   18 +-
 integration-tests/partitioning/hop-config.json     |    5 -
 integration-tests/partitioning/project-config.json |   18 +-
 .../scripting/0002-udjc-get-MDI-transforms.hpl     |  173 ++
 integration-tests/scripting/hop-config.json        |    5 -
 integration-tests/scripting/project-config.json    |   18 +-
 integration-tests/sort_and_unique/hop-config.json  |    5 -
 .../sort_and_unique/project-config.json            |   18 +-
 integration-tests/spreadsheet/hop-config.json      |    5 -
 integration-tests/spreadsheet/project-config.json  |   18 +-
 .../0005-metastructure-options.hpl}                |  159 +-
 .../transforms/0017-database-lookup.hpl            |   64 +-
 .../transforms/0029-parquet-input.hpl              |    6 +-
 .../transforms/0029-parquet-output.hpl             |  149 +-
 .../0030-data-grid.hpl}                            |  120 +-
 .../0031-stringcut-basics.hpl}                     |  110 +-
 .../transforms/0032-fields-change-sequence.hpl     |  258 ++
 .../0033-clone-row.hpl}                            |  208 +-
 integration-tests/transforms/0034-unique-rows.hpl  |  317 +++
 .../datasets/golden-clone-row-constant.csv         |   45 +
 .../datasets/golden-clone-row-dynamic.csv          |   59 +
 .../transforms/datasets/golden-data-grid.csv       |    5 +
 .../datasets/golden-fields-changing-sequence.csv   |   12 +
 .../datasets/golden-metastructure-options.csv      |    6 +
 .../transforms/datasets/golden-stringcut.csv       |    2 +
 .../transforms/datasets/golden-unique-rows.csv     |    8 +
 integration-tests/transforms/hop-config.json       |    5 -
 .../transforms/main-0005-metastructure.hwf         |    3 +
 .../transforms/main-0017-database-lookup.hwf       |    2 +-
 .../main-0030-data-grid.hwf}                       |   20 +-
 .../main-0031-stringcut.hwf}                       |   20 +-
 .../main-0032-fields-change-sequence.hwf}          |   20 +-
 .../main-0033-clone-row.hwf}                       |   22 +-
 .../main-0034-unique-rows.hwf}                     |   23 +-
 .../dataset/golden-clone-row-constant.json         |   48 +
 .../metadata/dataset/golden-clone-row-dynamic.json |   48 +
 .../metadata/dataset/golden-data-grid.json         |   48 +
 .../dataset/golden-fields-change-sequence.json     |   40 +
 .../dataset/golden-metastructure-options.json      |   64 +
 .../metadata/dataset/golden-metastructure.json     |   16 +
 .../metadata/dataset/golden-stringcut.json         |   24 +
 .../metadata/dataset/golden-unique-rows.json       |   40 +
 .../unit-test/0005-metastructure-options UNIT.json |   58 +
 .../metadata/unit-test/0030-data-grid UNIT.json    |   44 +
 .../unit-test/0031-stringcut-basics UNIT.json}     |   17 +-
 .../0032-fields-change-sequence UNIT.json          |   14 +
 .../metadata/unit-test/0033-clone-row UNIT.json    |   81 +
 .../metadata/unit-test/0034-unique-rows UNIT.json  |   71 +
 integration-tests/transforms/project-config.json   |   18 +-
 integration-tests/xml/hop-config.json              |    5 -
 integration-tests/xml/project-config.json          |   18 +-
 mvnw                                               |  310 +++
 mvnw.cmd                                           | 2451 ++++++++++++++++++
 .../WorkflowActionColumnsExistTest.java            |  106 +-
 .../hop/workflow/actions/delay/ActionDelay.java    |    5 -
 ...DelayTest.java => WorkflowActionDelayTest.java} |    2 +-
 .../messages/messages_it_IT.properties             |    2 +-
 .../hop/workflow/actions/sftp/ActionSftp.java      |   17 -
 .../workflow/actions/sftp/ActionSftpDialog.java    |    8 +-
 .../actions/ftp/messages/messages_it_IT.properties |    4 +-
 .../ftpdelete/messages/messages_it_IT.properties   |    2 +-
 .../hop/workflow/actions/http/ActionHttp.java      |   19 -
 .../hop/workflow/actions/http/ActionHttpTest.java  |   11 +-
 .../movefiles/messages/messages_it_IT.properties   |    2 +-
 .../messages/messages_it_IT.properties             |    2 +-
 .../pgpdecryptfiles/ActionPGPDecryptFiles.java     |    9 -
 .../ActionPGPDecryptFilesDialog.java               |    2 +-
 .../messages/messages_it_IT.properties             |    2 +-
 .../messages/messages_it_IT.properties             |    2 +-
 .../pipeline/messages/messages_it_IT.properties    |    2 +-
 .../hop/workflow/actions/shell/ActionShell.java    |   11 +-
 .../workflow/actions/shell/ActionShellDialog.java  |    2 +-
 .../snmptrap/messages/messages_it_IT.properties    |    2 +-
 .../unzip/messages/messages_it_IT.properties       |    2 +-
 .../actions/waitforsql/ActionWaitForSql.java       |  502 ++--
 .../workflow/actions/workflow/ActionWorkflow.java  |    9 -
 .../workflow/messages/messages_it_IT.properties    |    2 +-
 .../actions/writetolog/ActionWriteToLog.java       |   22 +-
 .../actions/writetolog/ActionWriteToLogDialog.java |    6 +-
 .../WorkflowActionWriteToLogLoadSaveTest.java      |    4 +-
 ...Test.java => WorkflowActionWriteToLogTest.java} |    4 +-
 .../messages/messages_it_IT.properties             |    2 +-
 .../xml/xslt/messages/messages_it_IT.properties    |    2 +-
 .../zipfile/messages/messages_it_IT.properties     |    4 +-
 .../hop/databases/generic/GenericDatabaseMeta.java |    5 +
 plugins/databases/postgresql/pom.xml               |    2 +-
 plugins/engines/beam/pom.xml                       |   14 +-
 .../beam/engines/dataflow/DataFlowJvmStart.java    |   44 +
 .../org/apache/hop/beam/gui/HopBeamGuiPlugin.java  |   40 +-
 .../handler/BeamGenericTransformHandler.java       |   11 +-
 .../transforms/bigtable/BeamBigtableInputMeta.java |    4 +-
 .../bigtable/BeamBigtableOutputMeta.java           |    4 +-
 .../beam/gui/messages/messages_en_US.properties    |   39 +
 .../beam/gui/messages/messages_it_IT.properties    |   39 +
 .../bigtable/messages/messages_en_US.properties    |   10 +
 .../pipeline-run-configuration/DataFlow.json       |    6 +-
 .../metadata/pipeline-run-configuration/Flink.json |    2 +-
 .../metadata/pipeline-run-configuration/Spark.json |   42 +
 .../apache/hop/beam/util/BeamPipelineMetaUtil.java |   19 +-
 .../org/apache/hop/imports/HopDbConnImport.java    |    6 +-
 .../java/org/apache/hop/imports/HopImport.java     |  168 --
 .../java/org/apache/hop/imports/HopVarImport.java  |   23 -
 .../java/org/apache/hop/imports/IHopImport.java    |   41 -
 .../apache/hop/imports/gui/HopImportGuiPlugin.java |   56 +-
 .../apache/hop/imports/kettle/KettleImport.java    |  637 +++--
 .../hop/imports/kettle/KettleImportDialog.java     |  507 ++--
 .../imports/gui/messages/messages_en_US.properties |    2 -
 .../imports/gui/messages/messages_it_IT.properties |    2 -
 .../kettle/messages/messages_en_US.properties      |    6 +-
 .../kettle/messages/messages_it_IT.properties      |    2 -
 .../config/ProjectsConfigOptionPlugin.java         |   70 +-
 .../environment/LifecycleEnvironmentDialog.java    |   15 +-
 .../ManageEnvironmentsOptionPlugin.java            |  279 +-
 .../apache/hop/projects/gui/ProjectsGuiPlugin.java | 1730 +++++++------
 .../org/apache/hop/projects/project/Project.java   |   48 +-
 .../apache/hop/projects/project/ProjectConfig.java |  100 +-
 .../apache/hop/projects/project/ProjectDialog.java | 1173 +++++----
 .../search/ProjectSearchablesIterator.java         |   30 +-
 .../org/apache/hop/projects/util/ProjectsUtil.java |  162 +-
 .../projects/var/ManageConfigFileOptionPlugin.java |  109 +-
 .../projects/xp/HopGuiFileReplaceHomeVariable.java |   50 +-
 .../hop/projects/xp/HopImportDbConnections.java    |  108 +-
 .../hop/projects/xp/HopImportMigratedFiles.java    |  192 +-
 .../apache/hop/projects/xp/HopImportVariables.java |   79 +-
 .../hop/projects/xp/ProjectHomeExtensionPoint.java |   44 +
 .../config/messages/messages_en_US.properties      |    5 +
 .../config/messages/messages_it_IT.properties      |    8 +-
 .../gui/messages/messages_en_US.properties         |    6 +
 .../gui/messages/messages_it_IT.properties         |    8 +-
 .../main/java/org/apache/hop/testing/DataSet.java  |  122 +-
 .../org/apache/hop/testing/PipelineUnitTest.java   |    8 +-
 .../transforms/exectests/ExecuteTestsMeta.java     |    2 +-
 .../xp/ValidatePipelineUnitTestExtensionPoint.java |    6 +-
 .../org/apache/hop/ui/testing/DataSetEditor.java   |   10 +-
 .../testing/gui/messages/messages_it_IT.properties |   30 +-
 .../testing/xp/messages/messages_en_US.properties} |    3 +-
 .../testing/xp}/messages/messages_it_IT.properties |   10 +-
 .../ui/testing/messages/messages_it_IT.properties  |    4 +-
 plugins/tech/google/pom.xml                        |    4 +-
 .../googleanalytics/BareBonesBrowserLaunch.java    |   71 -
 .../googleanalytics/GoogleAnalytics.java           |  304 ---
 .../googleanalytics/GoogleAnalyticsApiFacade.java  |   87 -
 .../googleanalytics/GoogleAnalyticsData.java       |   42 -
 .../googleanalytics/GoogleAnalyticsDialog.java     | 1527 -----------
 .../googleanalytics/GoogleAnalyticsMeta.java       |  608 -----
 .../googleanalytics/OutputTypeConverter.java       |   30 -
 .../googlesheets/GoogleSheetsCredentials.java      |   53 -
 .../transforms/googlesheets/GoogleSheetsInput.java |  258 --
 .../googlesheets/GoogleSheetsInputData.java        |   39 -
 .../googlesheets/GoogleSheetsInputDialog.java      |  776 ------
 .../googlesheets/GoogleSheetsInputFields.java      |  634 -----
 .../googlesheets/GoogleSheetsInputMeta.java        |  329 ---
 .../googlesheets/GoogleSheetsOutput.java           |  367 ---
 .../googlesheets/GoogleSheetsOutputDialog.java     |  564 ----
 .../googlesheets/GoogleSheetsOutputMeta.java       |  264 --
 .../src/main/resources/GoogleSheetsInput.svg       |   36 -
 .../src/main/resources/GoogleSheetsOutput.svg      |   37 -
 .../google/src/main/resources/googleanalytics.svg  |   27 -
 .../messages/messages_en_US.properties             |  126 -
 .../messages/messages_en_FR.properties             |   57 -
 .../messages/messages_en_US.properties             |   60 -
 plugins/tech/neo4j/pom.xml                         |    3 +-
 .../hop/neo4j/transforms/cypher/CypherDialog.java  |  314 ++-
 plugins/tech/neo4j/src/main/resources/NEO4J.svg    |    2 +-
 .../tech/neo4j/src/main/resources/neo4j_check.svg  |    4 +-
 .../tech/neo4j/src/main/resources/neo4j_cypher.svg |    2 +-
 .../src/main/resources/neo4j_graph_output.svg      |    2 +-
 .../tech/neo4j/src/main/resources/neo4j_import.svg |    2 +-
 .../tech/neo4j/src/main/resources/neo4j_load.svg   |    2 +-
 .../tech/neo4j/src/main/resources/neo4j_logo.svg   |    2 +-
 .../tech/neo4j/src/main/resources/neo4j_output.svg |    2 +-
 .../tech/neo4j/src/main/resources/neo4j_split.svg  |    2 +-
 .../cypher/messages/messages_en_US.properties      |   45 +-
 .../transforms/input/ParquetInputDialog.java       |    1 -
 .../parquet/transforms/output/ParquetOutput.java   |   14 +
 .../transforms/output/ParquetOutputDialog.java     |   24 +-
 .../transforms/output/ParquetOutputMeta.java       |   19 +
 .../output/messages/messages_en_US.properties      |    1 +
 .../src/main/samples/transforms/abort-basic.hpl    |  208 +-
 .../transforms/addsequence/AddSequence.java        |    2 +-
 .../transforms/addsequence/AddSequenceMeta.java    |    3 +-
 .../addsequence/messages/messages_pt_BR.properties |  114 +-
 .../samples/transforms/analyticquery-basic.hpl     |  191 +-
 .../samples/transforms/analyticquery-grouped.hpl   |  224 +-
 .../samples/transforms/blockingtransform-basic.hpl |  111 +-
 .../calculator/CalculatorValueDataUtilTest.java    |   12 +-
 .../hop/pipeline/transforms/clonerow/CloneRow.java |  154 +-
 .../pipeline/transforms/clonerow/CloneRowData.java |   18 +-
 .../transforms/clonerow/CloneRowDialog.java        |   24 +-
 .../pipeline/transforms/clonerow/CloneRowMeta.java |  164 +-
 .../clonerow/messages/messages_en_US.properties    |    9 +-
 .../clonerow/messages/messages_fr_FR.properties    |   18 +-
 .../transforms/clonerow/CloneRowMetaTest.java      |   48 +-
 .../pipeline/transforms/clonerow/CloneRowTest.java |   36 +-
 .../src/main/samples/transforms/coalesce-basic.hpl |  229 +-
 .../transforms/columnexists/ColumnExists.java      |  176 +-
 .../main/samples/transforms/columnexists-basic.hpl |  115 +-
 .../transforms/columnexists-table-field.hpl        |  142 +-
 .../combinationlookup/CombinationLookup.java       |  585 +++--
 .../messages/messages_it_IT.properties             |    2 +-
 .../hop/pipeline/transforms/constant/Constant.java |  236 +-
 .../pipeline/transforms/constant/ConstantData.java |   13 +-
 .../transforms/constant/ConstantDialog.java        |   82 +-
 .../transforms/constant/ConstantField.java         |  217 ++
 .../pipeline/transforms/constant/ConstantMeta.java |  282 +-
 .../constant/messages/messages_en_US.properties    |   15 +-
 .../constant/messages/messages_it_IT.properties    |   31 +-
 .../transforms/constant/ConstantMetaTest.java      |  155 +-
 .../pipeline/transforms/constant/ConstantTest.java |   52 +-
 .../transforms/databasejoin/DatabaseJoin.java      |  180 +-
 .../main/samples/transforms/databasejoin-basic.hpl |  132 +-
 .../transforms/databaselookup/DatabaseLookup.java  |   45 +-
 .../databaselookup/DatabaseLookupData.java         |    1 +
 .../databaselookup/DatabaseLookupDialog.java       |   21 +-
 .../databaselookup/DatabaseLookupMeta.java         |    4 +-
 .../pipeline/transforms/databaselookup/Lookup.java |    3 +
 .../transforms/databaselookup/ReturnValue.java     |   30 +-
 .../messages/messages_en_US.properties             |    2 +
 .../messages/messages_it_IT.properties             |   99 +-
 .../src/main/samples/transforms/databaselookup.hpl |  188 +-
 .../databaselookup/DatabaseLookupMetaTest.java     |   17 +-
 .../databaselookup/DatabaseLookupUTest.java        |    6 +-
 .../hop/pipeline/transforms/datagrid/DataGrid.java |   68 +-
 .../transforms/datagrid/DataGridDataMeta.java      |   82 +
 .../transforms/datagrid/DataGridDialog.java        |  123 +-
 .../transforms/datagrid/DataGridFieldMeta.java     |  190 ++
 .../pipeline/transforms/datagrid/DataGridMeta.java |  318 +--
 .../datagrid/messages/messages_en_US.properties    |    3 +
 .../transforms/datagrid/DataGridMetaTest.java      |  148 --
 .../datagrid/DataGrid_EmptyStringVsNull_Test.java  |  114 -
 .../transforms/datagrid/TransformMockUtil.java     |   69 -
 .../hop/pipeline/transforms/dbproc/DBProc.java     |  161 +-
 .../hop/pipeline/transforms/delete/Delete.java     |  221 +-
 .../hop/pipeline/transforms/delete/DeleteData.java |    5 -
 .../pipeline/transforms/delete/DeleteDialog.java   |   66 +-
 .../pipeline/transforms/delete/DeleteKeyField.java |  108 +
 .../transforms/delete/DeleteLookupField.java       |  110 +
 .../hop/pipeline/transforms/delete/DeleteMeta.java |  284 +-
 .../delete/messages/messages_it_IT.properties      |   52 +-
 .../pipeline/transforms/delete/DeleteMetaTest.java |  199 +-
 .../transforms/denormaliser/Denormaliser.java      |  356 +--
 .../transforms/denormaliser/DenormaliserData.java  |    1 -
 .../denormaliser/DenormaliserDialog.java           |  109 +-
 .../denormaliser/DenormaliserGroupField.java       |   61 +
 .../transforms/denormaliser/DenormaliserMeta.java  |  221 +-
 .../denormaliser/DenormaliserTargetField.java      |  409 +--
 .../denormaliser/DenormaliserAggregationsTest.java |  142 +-
 ...DenormaliserTest.java => DenormaliserTest.java} |   64 +-
 .../denormaliser/DenormalizerMetaTest.java         |  137 -
 .../samples/transforms/identify-last-row-basic.hpl |  132 +-
 .../dimensionlookup/DimensionLookup.java           | 1326 +++++-----
 .../dimensionlookup/DimensionLookupDialog.java     |  174 +-
 .../samples/transforms/dimensionlookup-basic.hpl   |  277 ++
 plugins/transforms/dropbox/pom.xml                 |   44 -
 .../transforms/dropbox/input/DropboxInput.java     |  222 --
 .../transforms/dropbox/input/DropboxInputData.java |   42 -
 .../dropbox/input/DropboxInputDialog.java          |  380 ---
 .../transforms/dropbox/input/DropboxInputMeta.java |  243 --
 .../transforms/dropbox/output/DropboxOutput.java   |  406 ---
 .../dropbox/output/DropboxOutputData.java          |   46 -
 .../dropbox/output/DropboxOutputDialog.java        |  386 ---
 .../dropbox/output/DropboxOutputMeta.java          |  241 --
 .../dropbox/src/main/resources/dropboxinput.svg    |    1 -
 .../dropbox/src/main/resources/dropboxoutput.svg   |    1 -
 .../input/messages/messages_en_US.properties       |   59 -
 .../output/messages/messages_en_US.properties      |   68 -
 .../transforms/dynamicsqlrow/DynamicSqlRow.java    |  257 +-
 .../excelwriter/ExcelWriterFileField.java          |  339 +++
 ...sformField.java => ExcelWriterOutputField.java} |   87 +-
 .../excelwriter/ExcelWriterTemplateField.java      |  115 +
 .../excelwriter/ExcelWriterTransform.java          |  776 +++---
 .../excelwriter/ExcelWriterTransformData.java      |   23 +-
 .../excelwriter/ExcelWriterTransformDialog.java    |  463 ++--
 .../excelwriter/ExcelWriterTransformMeta.java      |  626 +----
 .../excelwriter/messages/messages_en_US.properties |   69 +-
 .../excelwriter/messages/messages_it_IT.properties |   85 +-
 .../excelwriter/ExcelWriterTransformMetaTest.java  |  380 ++-
 .../excelwriter/ExcelWriterTransformTest.java      |  440 ++--
 ...elWriterTransform_FormulaRecalculationTest.java |   56 +-
 .../ExcelWriterTransform_StyleFormatTest.java      |  250 +-
 .../transforms/excelwriter/TransformMockUtil.java  |   60 +-
 .../pipeline/transforms/execsqlrow/ExecSqlRow.java |  198 +-
 .../fieldschangesequence/FieldsChangeSequence.java |  140 +-
 .../FieldsChangeSequenceData.java                  |    5 -
 .../FieldsChangeSequenceDialog.java                |   16 +-
 .../FieldsChangeSequenceField.java                 |   56 +
 .../FieldsChangeSequenceMeta.java                  |  167 +-
 .../messages/messages_en_US.properties             |   12 +-
 .../messages/messages_fr_FR.properties             |    4 +-
 .../messages/messages_ja_JP.properties             |    4 +-
 .../messages/messages_zh_CN.properties             |    2 +-
 .../FieldsChangeSequenceMetaTest.java              |   33 +-
 .../transforms/filemetadata/FileMetadataMeta.java  |    2 +-
 .../main/samples/transforms/filter-rows-basic.hpl  |  393 +++
 .../samples/transforms/getfilenames-from-field.hpl |  182 +-
 .../getfilenames-read-sample-transform-files.hpl   |  149 +-
 .../transforms/gettablenames/GetTableNames.java    |  387 +--
 .../src/main/samples/transforms/if-null-basic.hpl  |  266 ++
 .../transforms/insertupdate/InsertUpdate.java      |  426 +--
 .../main/samples/transforms/insertupdate-basic.hpl |  215 ++
 .../messages/messages_it_IT.properties             |    2 +-
 .../main/samples/transforms/javafilter-basic.hpl   |  148 +-
 .../{ScriptValuesMod.java => ScriptValues.java}    |   10 +-
 .../javascript/ScriptValuesAddedFunctions.java     | 2736 +++++++++++---------
 ...iptValuesModData.java => ScriptValuesData.java} |    4 +-
 ...sMetaModDialog.java => ScriptValuesDialog.java} |   22 +-
 ...tValuesModDummy.java => ScriptValuesDummy.java} |  196 +-
 ...iptValuesMetaMod.java => ScriptValuesMeta.java} |   30 +-
 ...est.java => ScriptValuesMetaInjectionTest.java} |    4 +-
 ...sMetaModTest.java => ScriptValuesMetaTest.java} |   14 +-
 ...iptValuesModTest.java => ScriptValuesTest.java} |   14 +-
 .../kafka/consumer/KafkaConsumerInputMeta.java     |    2 +-
 .../kafka/producer/KafkaProducerOutputMeta.java    |    2 +-
 .../transforms/mapping/SimpleMappingMeta.java      |    5 -
 .../main/samples/transforms/merge-join-basic.hpl   |  449 ++++
 .../pipeline/transforms/metainject/MetaInject.java |    2 +
 .../transforms/metainject/MetaInjectDialog.java    |   96 +-
 .../transforms/metainject/MetaInjectMeta.java      |   19 +-
 .../metainject/messages/messages_en_US.properties  |   27 +-
 .../metainject/messages/messages_fr_FR.properties  |   20 +-
 .../metainject/messages/messages_it_IT.properties  |   63 +-
 .../metainject/messages/messages_ja_JP.properties  |   23 +-
 .../metainject/messages/messages_ko_KR.properties  |   13 +-
 .../metainject/messages/messages_zh_CN.properties  |   25 +-
 .../metastructure/TransformMetaStructure.java      |   76 +-
 .../TransformMetaStructureDialog.java              |  778 ++++--
 .../metastructure/TransformMetaStructureMeta.java  |  351 ++-
 .../messages/messages_en_US.properties             |   19 +-
 .../messages/messages_it_IT.properties             |   38 +-
 .../monetdbbulkloader/MonetDbBulkLoader.java       |    4 +-
 plugins/transforms/mongodb/pom.xml                 |    2 +-
 plugins/transforms/mqtt/pom.xml                    |   55 -
 .../transforms/mqtt/key/PrivateKeyReader.java      |  480 ----
 .../mqtt/key/SSLSocketFactoryGenerator.java        |   80 -
 .../transforms/mqtt/publisher/MQTTPublisher.java   |  288 ---
 .../mqtt/publisher/MQTTPublisherData.java          |   36 -
 .../mqtt/publisher/MQTTPublisherDialog.java        |  689 -----
 .../mqtt/publisher/MQTTPublisherMeta.java          |  422 ---
 .../transforms/mqtt/subscriber/MQTTSubscriber.java |  327 ---
 .../mqtt/subscriber/MQTTSubscriberData.java        |   35 -
 .../mqtt/subscriber/MQTTSubscriberDialog.java      |  728 ------
 .../mqtt/subscriber/MQTTSubscriberMeta.java        |  452 ----
 .../mqtt/src/main/resources/MQTTPublisherIcon.svg  |  364 ---
 .../mqtt/src/main/resources/MQTTSubscriberIcon.svg |  360 ---
 .../publisher/messages/messages_en_US.properties   |  103 -
 .../publisher/messages/messages_it_IT.properties   |   31 -
 .../subscriber/messages/messages_en_US.properties  |  103 -
 .../mqtt/publisher/MQTTPublisherMetaTest.java      |   61 -
 .../mqtt/subscriber/MQTTSubscriberMetaTest.java    |   61 -
 .../normaliser/messages/messages_fr_FR.properties  |    2 +-
 .../src/main/samples/transforms/null-if-basic.hpl  |  127 +-
 .../main/samples/transforms/number-range-basic.hpl |  243 ++
 plugins/transforms/pgbulkloader/pom.xml            |    2 +-
 .../transforms/pgbulkloader/PGBulkLoader.java      |  363 +--
 .../transforms/pgbulkloader/PGBulkLoaderData.java  |   19 +-
 .../pgbulkloader/PGBulkLoaderDialog.java           |   84 +-
 .../pgbulkloader/PGBulkLoaderMappingMeta.java      |   78 +
 .../transforms/pgbulkloader/PGBulkLoaderMeta.java  |  216 +-
 .../messages/messages_en_US.properties             |   12 +
 .../pgbulkloader/PGBulkLoaderMetaTest.java         |    9 +-
 .../transforms/pgbulkloader/PGBulkLoaderTest.java  |    4 +-
 .../pipelineexecutor/PipelineExecutorMeta.java     |    6 -
 plugins/transforms/pom.xml                         |    2 -
 .../messages/messages_it_IT.properties             |    2 +-
 .../samples/transforms/select-values-basic.hpl     |  358 +++
 .../main/samples/transforms/sort-rows-basic.hpl    |  221 ++
 .../samples/transforms/sort-rows-sorted-merge.hpl  |  262 ++
 .../splitfieldtorows/SplitFieldToRows.java         |  107 +-
 .../splitfieldtorows/SplitFieldToRowsDialog.java   |   23 +-
 .../splitfieldtorows/SplitFieldToRowsMeta.java     |  100 +-
 .../messages/messages_en_US.properties             |   11 +-
 .../messages/messages_it_IT.properties             |   39 +-
 .../splitfieldtorows/SplitFieldToRowsMetaTest.java |    6 +-
 .../splitfieldtorows/SplitFieldToRowsTest.java     |    2 +-
 .../hop/pipeline/transforms/sql/ExecSql.java       |  229 +-
 .../samples/transforms/stream-lookup-basic.hpl     |  234 +-
 .../pipeline/transforms/stringcut/StringCut.java   |  171 +-
 .../transforms/stringcut/StringCutData.java        |   11 +-
 .../transforms/stringcut/StringCutDialog.java      |   36 +-
 .../transforms/stringcut/StringCutField.java       |  112 +
 .../transforms/stringcut/StringCutMeta.java        |  205 +-
 .../stringcut/messages/messages_en_US.properties   |    9 +-
 .../stringcut/messages/messages_it_IT.properties   |   21 +-
 .../transforms/stringcut/StringCutMetaTest.java    |   89 +-
 .../samples/transforms/string-operations-basic.hpl |  269 ++
 .../main/samples/transforms/switch-case-basic.hpl  |  235 +-
 .../SynchronizeAfterMerge.java                     |  882 ++++---
 .../messages/messages_it_IT.properties             |    2 +-
 .../transforms/tableexists/TableExists.java        |  119 +-
 .../transforms/tableexists/TableExistsData.java    |    5 -
 .../transforms/tableexists/TableExistsDialog.java  |   21 +-
 .../transforms/tableexists/TableExistsMeta.java    |  127 +-
 .../tableexists/messages/messages_en_US.properties |    9 +-
 .../tableexists/messages/messages_fr_FR.properties |    7 +-
 .../tableexists/messages/messages_it_IT.properties |   42 +-
 .../tableexists/messages/messages_ja_JP.properties |    5 +-
 .../tableexists/messages/messages_ko_KR.properties |    2 -
 .../tableexists/messages/messages_zh_CN.properties |    4 +-
 .../tableexists/TableExistsMetaTest.java           |    4 +-
 .../pipeline/transforms/tableinput/TableInput.java |    4 +-
 .../transforms/tableinput/TableInputDialog.java    |    5 -
 .../samples/transforms/tableinput-accept-input.hpl |  147 +-
 .../main/samples/transforms/tableinput-basic.hpl   |  127 +-
 .../samples/transforms/tableinput-variables.hpl    |  137 +-
 .../transforms/tableoutput/TableOutput.java        |   83 +-
 .../transforms/tableoutput/TableOutputData.java    |   15 +-
 .../transforms/tableoutput/TableOutputDialog.java  |  149 +-
 .../transforms/tableoutput/TableOutputField.java   |   86 +
 .../transforms/tableoutput/TableOutputMeta.java    |  360 ++-
 .../tableoutput/messages/messages_en_US.properties |   21 +
 .../tableoutput/messages/messages_it_IT.properties |  113 +-
 .../main/samples/metadata/rdbms/hop-samples.json   |   26 +
 .../main/samples/transforms/tableoutput-basic.hpl  |  169 +-
 .../tableoutput/TableOutputMetaLoadSaveTest.java   |  114 -
 .../tableoutput/TableOutputMetaTest.java           |  211 +-
 .../transforms/tableoutput/TableOutputTest.java    |   12 +-
 .../src/main/samples/transforms/csvinput-basic.hpl |  167 +-
 .../main/samples/transforms/csvinput-huge-file.hpl |  167 ++
 .../samples/transforms/textfileinput-basic.hpl     |  232 ++
 .../transforms/textfileoutput-huge-file.hpl        |  240 ++
 .../transforms/textfileoutput-tiny-file.hpl        |  171 +-
 .../tokenreplacement/TokenReplacementMeta.java     |    2 +-
 .../transforms/uniquerows/UniqueField.java         |   72 +
 .../pipeline/transforms/uniquerows/UniqueRows.java |  129 +-
 .../transforms/uniquerows/UniqueRowsData.java      |   23 +-
 .../transforms/uniquerows/UniqueRowsDialog.java    |   75 +-
 .../transforms/uniquerows/UniqueRowsMeta.java      |  153 +-
 .../uniquerows/messages/messages_de_DE.properties  |    4 +-
 .../uniquerows/messages/messages_en_US.properties  |   14 +-
 .../uniquerows/messages/messages_es_AR.properties  |    4 +-
 .../uniquerows/messages/messages_es_ES.properties  |    4 +-
 .../uniquerows/messages/messages_fr_FR.properties  |    6 +-
 .../uniquerows/messages/messages_ja_JP.properties  |    4 +-
 .../uniquerows/messages/messages_zh_CN.properties  |    4 +-
 .../transforms/uniquerows/UniqueRowsMetaTest.java  |   51 +-
 .../hop/pipeline/transforms/update/Update.java     |  463 ++--
 .../main/samples/transforms/value-mapper-basic.hpl |  225 ++
 .../xml/xslt/messages/messages_it_IT.properties    |    2 +-
 .../org/apache/hop/vfs/s3/s3/vfs/S3FileName.java   |    4 +-
 .../org/apache/hop/vfs/s3/s3/vfs/S3FileObject.java |   20 +-
 .../org/apache/hop/vfs/s3/s3a/vfs/S3AFileName.java |    4 +-
 .../vfs/s3/s3common/S3CommonFileInputStream.java   |    4 +-
 .../hop/vfs/s3/s3common/S3CommonFileObject.java    |   23 +-
 .../hop/vfs/s3/s3common/S3CommonFileProvider.java  |   24 +-
 .../hop/vfs/s3/s3common/S3CommonFileSystem.java    |    9 +-
 .../s3common/S3CommonFileSystemConfigBuilder.java  |    8 +-
 .../vfs/s3/s3common/S3CommonPipedOutputStream.java |   40 +-
 .../apache/hop/ui/hopgui/CanvasListenerImpl.java   |   19 +-
 .../main/java/org/apache/hop/ui/hopgui/HopWeb.java |  118 +-
 .../org/apache/hop/ui/hopgui/canvas-dark.js        |  207 ++
 .../org/apache/hop/ui/hopgui/canvas-light.js       |  205 ++
 .../resources/org/apache/hop/ui/hopgui/canvas.js   |  205 --
 .../org/apache/hop/ui/hopgui/dark-mode.css         | 2517 ++++++++++++++++++
 .../org/apache/hop/ui/hopgui/light-mode.css        | 2517 ++++++++++++++++++
 .../hop/ui/core/database/DatabaseMetaEditor.java   |    5 +-
 .../database/dialog/DatabaseExplorerDialog.java    |    8 +-
 .../dialog/GetTableSizeProgressDialog.java         |   12 +-
 .../hop/ui/core/database/dialog/SqlEditor.java     |    7 +-
 .../hop/ui/core/dialog/CheckResultDialog.java      |   18 +-
 .../hop/ui/core/dialog/ConfigurationDialog.java    |   12 +-
 .../apache/hop/ui/core/dialog/ContextDialog.java   |   49 +-
 .../hop/ui/core/dialog/EnterNumberDialog.java      |   18 -
 .../hop/ui/core/dialog/EnterSelectionDialog.java   |   19 +-
 .../ui/core/dialog/MessageDialogWithToggle.java    |   14 -
 .../apache/hop/ui/core/dialog/ShowHelpDialog.java  |    1 -
 .../hop/ui/core/dialog/SqlStatementsDialog.java    |    5 +-
 .../org/apache/hop/ui/core/gui/GuiResource.java    |   22 +-
 .../apache/hop/ui/core/gui/GuiToolbarWidgets.java  |    4 +-
 .../hop/ui/core/metadata/MetadataEditor.java       |    2 +-
 .../hop/ui/core/metadata/MetadataManager.java      |    4 +-
 .../apache/hop/ui/core/vfs/HopVfsFileDialog.java   |  116 +-
 .../hop/ui/core/widget/ControlSpaceKeyAdapter.java |   74 +-
 .../hop/ui/core/widget/MetaSelectionLine.java      |  286 +-
 .../apache/hop/ui/core/widget/StyledTextComp.java  |   29 +-
 .../org/apache/hop/ui/hopgui/HopGuiKeyHandler.java |   86 +-
 .../ui/hopgui/delegates/HopGuiFileDelegate.java    |   10 +-
 .../hopgui/dialog/CheckPipelineProgressDialog.java |    1 +
 .../hopgui/file/pipeline/HopGuiPipelineGraph.java  |   40 +-
 .../hopgui/file/workflow/HopGuiWorkflowGraph.java  |   37 +
 .../perspective/dataorch/HopGuiAbstractGraph.java  |    2 +
 .../perspective/explorer/ExplorerPerspective.java  |    4 +-
 .../org/apache/hop/ui/hopgui/shared/SwtGc.java     |    2 +-
 .../ui/pipeline/dialog/ModPartitionerDialog.java   |    8 +-
 .../ui/pipeline/dialog/PipelineDialogPlugin.java   |    7 -
 .../pipeline/dialog/PipelineDialogPluginType.java  |    5 -
 .../ui/pipeline/transform/BaseTransformDialog.java |    7 +-
 .../java/org/apache/hop/ui/util/HelpUtils.java     |   71 +-
 .../hop/ui/workflow/dialog/WorkflowDialog.java     |    2 +-
 .../ui/workflow/dialog/WorkflowDialogPlugin.java   |    7 -
 .../workflow/dialog/WorkflowDialogPluginType.java  |    5 -
 .../database/messages/messages_it_IT.properties    |   26 +-
 .../ui/core/vfs/messages/messages_en_US.properties |    9 +-
 .../pipeline/messages/messages_en_US.properties    |   16 +-
 .../workflow/messages/messages_en_US.properties    |    5 +
 .../workflow/messages/messages_it_IT.properties    |    2 +-
 .../i18n/editor/messages/messages_en_US.properties |    4 +-
 .../i18n/editor/messages/messages_pt_BR.properties |    5 +
 .../partition/messages/messages_pt_BR.properties   |   33 +
 .../config/messages/messages_en_US.properties      |    2 +
 .../dialog/messages/messages_it_IT.properties      |    3 +-
 .../ui/server/messages/messages_pt_BR.properties   |   17 -
 .../actions/messages/messages_it_IT.properties     |    2 +-
 .../config/messages/messages_en_US.properties      |    6 +-
 .../config/messages/messages_it_IT.properties      |    1 +
 .../dialog/messages/messages_it_IT.properties      |    3 +-
 .../www/service/messages/messages_pt_BR.properties |    9 +-
 ui/src/main/resources/ui/images/zoom-100.svg       |   31 +
 ui/src/main/resources/ui/images/zoom-in.svg        |   25 +
 ui/src/main/resources/ui/images/zoom-out.svg       |   19 +
 770 files changed, 42999 insertions(+), 36000 deletions(-)
 rename assemblies/plugins/transforms/dropbox/src/main/resources/version.xml => .mvn/extensions.xml (81%)
 create mode 100644 .mvn/wrapper/MavenWrapperDownloader.java
 copy plugins/misc/import/src/main/resources/org/apache/hop/imports/gui/messages/messages_en_US.properties => .mvn/wrapper/maven-wrapper.properties (78%)
 delete mode 100644 assemblies/plugins/transforms/dropbox/pom.xml
 delete mode 100644 assemblies/plugins/transforms/dropbox/src/assembly/assembly.xml
 delete mode 100644 assemblies/plugins/transforms/mqtt/pom.xml
 delete mode 100644 assemblies/plugins/transforms/mqtt/src/assembly/assembly.xml
 delete mode 100644 assemblies/plugins/transforms/mqtt/src/main/resources/version.xml
 copy assemblies/static/src/main/resources/{hop-conf.bat => hop-import.bat} (95%)
 create mode 100755 assemblies/static/src/main/resources/hop-import.sh
 rename plugins/tech/google/src/main/java/org/apache/hop/pipeline/transforms/googlesheets/GoogleSheetsOutputData.java => core/src/main/java/org/apache/hop/core/LogProgressMonitor.java (53%)
 delete mode 100644 core/src/main/java/org/apache/hop/core/database/IDatabaseTransaction.java
 create mode 100644 core/src/main/resources/org/apache/hop/core/database/messages/messages_pt_BR.properties
 create mode 100644 docs/hop-user-manual/modules/ROOT/assets/images/beam-getting-started-beam-file-definition.png
 create mode 100644 docs/hop-user-manual/modules/ROOT/assets/images/beam-getting-started-flushes-metric.png
 create mode 100644 docs/hop-user-manual/modules/ROOT/assets/images/beam-getting-started-input-transforms-on-dataflow.png
 create mode 100644 docs/hop-user-manual/modules/ROOT/assets/images/copy-as-pipeline-action.png
 create mode 100644 docs/hop-user-manual/modules/ROOT/assets/images/getting-started-input-process-output-sample.png
 create mode 100644 docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-import.adoc
 create mode 100644 docs/hop-user-manual/modules/ROOT/pages/pipeline/beam/getting-started-with-beam.adoc
 delete mode 100644 docs/hop-user-manual/modules/ROOT/pages/pipeline/transforms/dropboxinput.adoc
 delete mode 100644 docs/hop-user-manual/modules/ROOT/pages/pipeline/transforms/dropboxoutput.adoc
 delete mode 100644 docs/hop-user-manual/modules/ROOT/pages/pipeline/transforms/filter.adoc
 delete mode 100644 docs/hop-user-manual/modules/ROOT/pages/pipeline/transforms/googleanalytics.adoc
 delete mode 100644 docs/hop-user-manual/modules/ROOT/pages/pipeline/transforms/googlesheetsinput.adoc
 delete mode 100644 docs/hop-user-manual/modules/ROOT/pages/pipeline/transforms/googlesheetsoutput.adoc
 create mode 100644 docs/hop-user-manual/modules/ROOT/pages/pipeline/transforms/pgbulkloader.adoc
 create mode 100644 docs/hop-user-manual/modules/ROOT/pages/plugins/import/kettle-import.adoc
 create mode 100644 docs/hop-user-manual/modules/ROOT/pages/protips/index.adoc
 rename docs/hop-user-manual/modules/ROOT/pages/{pipeline/transforms/mqttpublisher.adoc => snippets/best-practices/governance.adoc} (63%)
 copy docs/hop-user-manual/modules/ROOT/pages/{hop-tools/index.adoc => snippets/best-practices/logging.adoc} (57%)
 copy docs/hop-user-manual/modules/ROOT/pages/{metadata-types/neo4j/neo4j-graphmodel.adoc => snippets/best-practices/loops.adoc} (61%)
 rename docs/hop-user-manual/modules/ROOT/pages/{pipeline/transforms/mqttsubscriber.adoc => snippets/best-practices/mappings.adoc} (64%)
 copy docs/hop-user-manual/modules/ROOT/pages/{metadata-types/neo4j/neo4j-graphmodel.adoc => snippets/best-practices/metadata-injection.adoc} (60%)
 create mode 100644 docs/hop-user-manual/modules/ROOT/pages/snippets/best-practices/naming-conventions.adoc
 copy docs/hop-user-manual/modules/ROOT/pages/{hop-tools/index.adoc => snippets/best-practices/performance-basics.adoc} (57%)
 create mode 100644 docs/hop-user-manual/modules/ROOT/pages/snippets/best-practices/size-matters.adoc
 copy docs/hop-user-manual/modules/ROOT/pages/{metadata-types/neo4j/neo4j-graphmodel.adoc => snippets/best-practices/variables.adoc} (55%)
 delete mode 100644 docs/hop-user-manual/modules/ROOT/pages/workflow/actions/ftpsget.adoc
 delete mode 100644 docs/hop-user-manual/modules/ROOT/pages/workflow/actions/ftpsput.adoc
 create mode 100644 docs/hop-user-manual/modules/ROOT/pages/workflow/workflow-run-configurations/native-local-workflow-engine.adoc
 create mode 100644 engine/src/main/java/org/apache/hop/imp/HopImport.java
 create mode 100644 engine/src/main/java/org/apache/hop/imp/HopImportBase.java
 create mode 100644 engine/src/main/java/org/apache/hop/imp/IHopImport.java
 rename engine/src/main/java/org/apache/hop/{core/annotations/ImportRulePlugin.java => imp/ImportPlugin.java} (65%)
 create mode 100644 engine/src/main/java/org/apache/hop/imp/ImportPluginType.java
 create mode 100644 engine/src/main/java/org/apache/hop/pipeline/engines/local/transaction/DatabaseCreatedXp.java
 create mode 100644 engine/src/main/java/org/apache/hop/pipeline/engines/local/transaction/TransformCreatedXp.java
 create mode 100644 helm/README.md
 copy docker/integration-tests/integration-tests-mongo.yaml => helm/hop-server/.helmignore (64%)
 create mode 100644 helm/hop-server/Chart.yaml
 create mode 100644 helm/hop-server/templates/_helpers.tpl
 copy docker/integration-tests/integration-tests-mongo.yaml => helm/hop-server/templates/hop-config.yaml (64%)
 create mode 100644 helm/hop-server/templates/hop-deployment.yaml
 copy docker/integration-tests/integration-tests-mongo.yaml => helm/hop-server/templates/hop-service.yaml (64%)
 copy docker/integration-tests/integration-tests-mongo.yaml => helm/hop-server/templates/tests/test-connection.yaml (64%)
 create mode 100644 helm/hop-server/values.yaml
 copy integration-tests/{transforms/0017-database-lookup.hpl => beam_directrunner/0001-generate-rows.hpl} (60%)
 create mode 100644 integration-tests/beam_directrunner/0002-switch-case.hpl
 copy {plugins/engines/beam/src/main/samples/beam/input => integration-tests/beam_directrunner/datasets}/customers-noheader-1k.txt (100%)
 copy integration-tests/{xml => beam_directrunner}/dev-env-config.json (100%)
 copy integration-tests/{mdi => beam_directrunner}/hop-config.json (97%)
 copy integration-tests/{mdi/main-0009-coalesce.hwf => beam_directrunner/main-0001-generate-rows.hwf} (63%)
 copy integration-tests/{mdi/main-0006-filter.hwf => beam_directrunner/main-0002-switch-case.hwf} (63%)
 copy {plugins/engines/beam/src/main/samples => integration-tests/beam_directrunner}/metadata/dataset/customers-input.json (100%)
 copy {plugins/engines/beam/src/main/samples => integration-tests/beam_directrunner}/metadata/file-definition/Customers.json (100%)
 create mode 100644 integration-tests/beam_directrunner/metadata/pipeline-run-configuration/local.json
 copy integration-tests/{scripting => beam_directrunner}/metadata/rdbms/testdb.json (100%)
 copy integration-tests/{xml => beam_directrunner}/metadata/workflow-run-configuration/local.json (100%)
 create mode 100644 integration-tests/beam_directrunner/project-config.json
 copy integration-tests/{mdi/0006-filter-child.hpl => database/0014-1-setup-before.hpl} (60%)
 copy integration-tests/{transforms/main-0017-database-lookup.hwf => database/0014-1-setup-before.hwf} (63%)
 copy integration-tests/{transforms/main-0017-database-lookup.hwf => database/0014-2-fail-transactional.hwf} (58%)
 copy integration-tests/{mdi/0006-filter-child.hpl => database/0014-2-overwrite.hpl} (71%)
 copy integration-tests/{mdi/0006-filter-child.hpl => database/0014-3-validate.hpl} (57%)
 copy integration-tests/database/{0006-insert-table-output.hpl => 0015-check-table-exists.hpl} (54%)
 copy integration-tests/database/{0006-insert-table-output.hpl => 0017-postgresql-bulkloader.hpl} (65%)
 copy integration-tests/{transforms/main-0017-database-lookup.hwf => database/main-0014-transactional.hwf} (58%)
 copy integration-tests/{parameters_and_variables/main-0003-pipeline-pipeline-executor.hwf => database/main-0015-check-table-exists.hwf} (61%)
 copy integration-tests/{mdi/main-0006-filter.hwf => database/main-0016-delete-generic-driver.hwf} (75%)
 copy integration-tests/{parameters_and_variables/main-0003-pipeline-pipeline-executor.hwf => database/main-0017-postgresql-bulkloader.hwf} (61%)
 create mode 100644 integration-tests/database/metadata/pipeline-run-configuration/transactional.json
 create mode 100644 integration-tests/database/metadata/workflow-run-configuration/transactional.json
 delete mode 100644 integration-tests/header-env-conf.json
 copy integration-tests/mdi/{0006-filter-parent.hpl => 0006-row-denormaliser-child.hpl} (59%)
 create mode 100644 integration-tests/mdi/0006-row-denormaliser-parent.hpl
 copy integration-tests/mdi/{0006-filter-child.hpl => 0011-data-grid-child.hpl} (52%)
 create mode 100644 integration-tests/mdi/0011-data-grid-parent.hpl
 copy integration-tests/mdi/{0006-filter-child.hpl => 0012-string-cut-child.hpl} (63%)
 copy integration-tests/mdi/{0006-filter-parent.hpl => 0012-string-cut-parent.hpl} (57%)
 create mode 100644 integration-tests/mdi/datasets/golden-data-grid.csv
 copy integration-tests/{transforms => mdi}/datasets/golden-row-denormaliser.csv (100%)
 create mode 100644 integration-tests/mdi/datasets/golden-stringcut.csv
 copy integration-tests/mdi/{main-0006-filter.hwf => main-0006-row-denormaliser.hwf} (91%)
 copy integration-tests/mdi/{main-0006-filter.hwf => main-0011-data-grid.hwf} (91%)
 copy integration-tests/mdi/{main-0006-filter.hwf => main-0012-string-cut.hwf} (91%)
 create mode 100644 integration-tests/mdi/metadata/dataset/golden-data-grid.json
 copy integration-tests/{transforms => mdi}/metadata/dataset/golden-row-denormaliser.json (100%)
 create mode 100644 integration-tests/mdi/metadata/dataset/golden-string-cut.json
 create mode 100644 integration-tests/mdi/metadata/unit-test/0006-row-denormaliser-parent UNIT.json
 create mode 100644 integration-tests/mdi/metadata/unit-test/0011-data-grid-parent-basic UNIT.json
 create mode 100644 integration-tests/mdi/metadata/unit-test/0012-string-cut-parent UNIT.json
 create mode 100644 integration-tests/scripting/0002-udjc-get-MDI-transforms.hpl
 copy integration-tests/{mdi/0006-filter-parent.hpl => transforms/0005-metastructure-options.hpl} (57%)
 copy integration-tests/{database/0006-insert-table-output.hpl => transforms/0030-data-grid.hpl} (62%)
 copy integration-tests/{mdi/0006-filter-child.hpl => transforms/0031-stringcut-basics.hpl} (61%)
 create mode 100644 integration-tests/transforms/0032-fields-change-sequence.hpl
 copy integration-tests/{mdi/0006-filter-parent.hpl => transforms/0033-clone-row.hpl} (51%)
 create mode 100644 integration-tests/transforms/0034-unique-rows.hpl
 create mode 100644 integration-tests/transforms/datasets/golden-clone-row-constant.csv
 create mode 100644 integration-tests/transforms/datasets/golden-clone-row-dynamic.csv
 create mode 100644 integration-tests/transforms/datasets/golden-data-grid.csv
 create mode 100644 integration-tests/transforms/datasets/golden-fields-changing-sequence.csv
 create mode 100644 integration-tests/transforms/datasets/golden-metastructure-options.csv
 create mode 100644 integration-tests/transforms/datasets/golden-stringcut.csv
 create mode 100644 integration-tests/transforms/datasets/golden-unique-rows.csv
 copy integration-tests/{mdi/main-0006-filter.hwf => transforms/main-0030-data-grid.hwf} (84%)
 copy integration-tests/{mdi/main-0006-filter.hwf => transforms/main-0031-stringcut.hwf} (84%)
 copy integration-tests/{mdi/main-0006-filter.hwf => transforms/main-0032-fields-change-sequence.hwf} (83%)
 copy integration-tests/{mdi/main-0006-filter.hwf => transforms/main-0033-clone-row.hwf} (83%)
 rename integration-tests/{mdi/main-0006-filter.hwf => transforms/main-0034-unique-rows.hwf} (81%)
 create mode 100644 integration-tests/transforms/metadata/dataset/golden-clone-row-constant.json
 create mode 100644 integration-tests/transforms/metadata/dataset/golden-clone-row-dynamic.json
 create mode 100644 integration-tests/transforms/metadata/dataset/golden-data-grid.json
 create mode 100644 integration-tests/transforms/metadata/dataset/golden-fields-change-sequence.json
 create mode 100644 integration-tests/transforms/metadata/dataset/golden-metastructure-options.json
 create mode 100644 integration-tests/transforms/metadata/dataset/golden-metastructure.json
 create mode 100644 integration-tests/transforms/metadata/dataset/golden-stringcut.json
 create mode 100644 integration-tests/transforms/metadata/dataset/golden-unique-rows.json
 create mode 100644 integration-tests/transforms/metadata/unit-test/0005-metastructure-options UNIT.json
 create mode 100644 integration-tests/transforms/metadata/unit-test/0030-data-grid UNIT.json
 rename integration-tests/{mdi/metadata/unit-test/0006-filter-parent UNIT.json => transforms/metadata/unit-test/0031-stringcut-basics UNIT.json} (50%)
 create mode 100644 integration-tests/transforms/metadata/unit-test/0032-fields-change-sequence UNIT.json
 create mode 100644 integration-tests/transforms/metadata/unit-test/0033-clone-row UNIT.json
 create mode 100644 integration-tests/transforms/metadata/unit-test/0034-unique-rows UNIT.json
 create mode 100755 mvnw
 create mode 100644 mvnw.cmd
 rename plugins/actions/delay/src/test/java/org/apache/hop/workflow/actions/delay/{WorkflowEntryDelayTest.java => WorkflowActionDelayTest.java} (97%)
 rename plugins/actions/writetolog/src/test/java/org/apache/hop/workflow/actions/writetolog/{WorkflowEntryWriteToLogTest.java => WorkflowActionWriteToLogTest.java} (97%)
 create mode 100644 plugins/engines/beam/src/main/java/org/apache/hop/beam/engines/dataflow/DataFlowJvmStart.java
 create mode 100644 plugins/engines/beam/src/main/resources/org/apache/hop/beam/gui/messages/messages_en_US.properties
 create mode 100644 plugins/engines/beam/src/main/resources/org/apache/hop/beam/gui/messages/messages_it_IT.properties
 create mode 100644 plugins/engines/beam/src/main/samples/metadata/pipeline-run-configuration/Spark.json
 delete mode 100644 plugins/misc/import/src/main/java/org/apache/hop/imports/HopImport.java
 delete mode 100644 plugins/misc/import/src/main/java/org/apache/hop/imports/HopVarImport.java
 delete mode 100644 plugins/misc/import/src/main/java/org/apache/hop/imports/IHopImport.java
 create mode 100644 plugins/misc/projects/src/main/java/org/apache/hop/projects/xp/ProjectHomeExtensionPoint.java
 copy plugins/{transforms/fieldschangesequence/src/main/resources/org/apache/hop/pipeline/transforms/fieldschangesequence/messages/messages_zh_CN.properties => misc/testing/src/main/resources/org/apache/hop/testing/xp/messages/messages_en_US.properties} (85%)
 rename plugins/{transforms/mqtt/src/main/resources/org/apache/hop/pipeline/transforms/mqtt/subscriber => misc/testing/src/main/resources/org/apache/hop/testing/xp}/messages/messages_it_IT.properties (75%)
 delete mode 100644 plugins/tech/google/src/main/java/org/apache/hop/pipeline/transforms/googleanalytics/BareBonesBrowserLaunch.java
 delete mode 100644 plugins/tech/google/src/main/java/org/apache/hop/pipeline/transforms/googleanalytics/GoogleAnalytics.java
 delete mode 100644 plugins/tech/google/src/main/java/org/apache/hop/pipeline/transforms/googleanalytics/GoogleAnalyticsApiFacade.java
 delete mode 100644 plugins/tech/google/src/main/java/org/apache/hop/pipeline/transforms/googleanalytics/GoogleAnalyticsData.java
 delete mode 100644 plugins/tech/google/src/main/java/org/apache/hop/pipeline/transforms/googleanalytics/GoogleAnalyticsDialog.java
 delete mode 100644 plugins/tech/google/src/main/java/org/apache/hop/pipeline/transforms/googleanalytics/GoogleAnalyticsMeta.java
 delete mode 100644 plugins/tech/google/src/main/java/org/apache/hop/pipeline/transforms/googleanalytics/OutputTypeConverter.java
 delete mode 100644 plugins/tech/google/src/main/java/org/apache/hop/pipeline/transforms/googlesheets/GoogleSheetsCredentials.java
 delete mode 100644 plugins/tech/google/src/main/java/org/apache/hop/pipeline/transforms/googlesheets/GoogleSheetsInput.java
 delete mode 100644 plugins/tech/google/src/main/java/org/apache/hop/pipeline/transforms/googlesheets/GoogleSheetsInputData.java
 delete mode 100644 plugins/tech/google/src/main/java/org/apache/hop/pipeline/transforms/googlesheets/GoogleSheetsInputDialog.java
 delete mode 100644 plugins/tech/google/src/main/java/org/apache/hop/pipeline/transforms/googlesheets/GoogleSheetsInputFields.java
 delete mode 100644 plugins/tech/google/src/main/java/org/apache/hop/pipeline/transforms/googlesheets/GoogleSheetsInputMeta.java
 delete mode 100644 plugins/tech/google/src/main/java/org/apache/hop/pipeline/transforms/googlesheets/GoogleSheetsOutput.java
 delete mode 100644 plugins/tech/google/src/main/java/org/apache/hop/pipeline/transforms/googlesheets/GoogleSheetsOutputDialog.java
 delete mode 100644 plugins/tech/google/src/main/java/org/apache/hop/pipeline/transforms/googlesheets/GoogleSheetsOutputMeta.java
 delete mode 100644 plugins/tech/google/src/main/resources/GoogleSheetsInput.svg
 delete mode 100644 plugins/tech/google/src/main/resources/GoogleSheetsOutput.svg
 delete mode 100644 plugins/tech/google/src/main/resources/googleanalytics.svg
 delete mode 100644 plugins/tech/google/src/main/resources/org/apache/hop/pipeline/transforms/googleanalytics/messages/messages_en_US.properties
 delete mode 100644 plugins/tech/google/src/main/resources/org/apache/hop/pipeline/transforms/googlesheets/messages/messages_en_FR.properties
 delete mode 100644 plugins/tech/google/src/main/resources/org/apache/hop/pipeline/transforms/googlesheets/messages/messages_en_US.properties
 copy integration-tests/mdi/0006-filter-parent.hpl => plugins/transforms/abort/src/main/samples/transforms/abort-basic.hpl (52%)
 copy integration-tests/database/0006-insert-table-output.hpl => plugins/transforms/analyticquery/src/main/samples/transforms/analyticquery-basic.hpl (52%)
 copy integration-tests/mdi/0006-filter-parent.hpl => plugins/transforms/analyticquery/src/main/samples/transforms/analyticquery-grouped.hpl (53%)
 copy integration-tests/mdi/0006-filter-child.hpl => plugins/transforms/blockingtransform/src/main/samples/transforms/blockingtransform-basic.hpl (62%)
 copy integration-tests/mdi/0006-filter-parent.hpl => plugins/transforms/coalesce/src/main/samples/transforms/coalesce-basic.hpl (56%)
 copy integration-tests/database/0006-insert-table-output.hpl => plugins/transforms/columnexists/src/main/samples/transforms/columnexists-basic.hpl (58%)
 copy integration-tests/database/0006-insert-table-output.hpl => plugins/transforms/columnexists/src/main/samples/transforms/columnexists-table-field.hpl (53%)
 create mode 100644 plugins/transforms/constant/src/main/java/org/apache/hop/pipeline/transforms/constant/ConstantField.java
 copy integration-tests/database/0006-insert-table-output.hpl => plugins/transforms/databasejoin/src/main/samples/transforms/databasejoin-basic.hpl (56%)
 copy integration-tests/database/0006-insert-table-output.hpl => plugins/transforms/databaselookup/src/main/samples/transforms/databaselookup.hpl (51%)
 create mode 100644 plugins/transforms/datagrid/src/main/java/org/apache/hop/pipeline/transforms/datagrid/DataGridDataMeta.java
 create mode 100644 plugins/transforms/datagrid/src/main/java/org/apache/hop/pipeline/transforms/datagrid/DataGridFieldMeta.java
 delete mode 100644 plugins/transforms/datagrid/src/test/java/org/apache/hop/pipeline/transforms/datagrid/DataGridMetaTest.java
 delete mode 100644 plugins/transforms/datagrid/src/test/java/org/apache/hop/pipeline/transforms/datagrid/DataGrid_EmptyStringVsNull_Test.java
 delete mode 100644 plugins/transforms/datagrid/src/test/java/org/apache/hop/pipeline/transforms/datagrid/TransformMockUtil.java
 create mode 100644 plugins/transforms/delete/src/main/java/org/apache/hop/pipeline/transforms/delete/DeleteKeyField.java
 create mode 100644 plugins/transforms/delete/src/main/java/org/apache/hop/pipeline/transforms/delete/DeleteLookupField.java
 create mode 100644 plugins/transforms/denormaliser/src/main/java/org/apache/hop/pipeline/transforms/denormaliser/DenormaliserGroupField.java
 rename plugins/transforms/denormaliser/src/test/java/org/apache/hop/pipeline/transforms/denormaliser/{PDI4910_DenormaliserTest.java => DenormaliserTest.java} (55%)
 delete mode 100644 plugins/transforms/denormaliser/src/test/java/org/apache/hop/pipeline/transforms/denormaliser/DenormalizerMetaTest.java
 copy integration-tests/database/0006-insert-table-output.hpl => plugins/transforms/detectlastrow/src/main/samples/transforms/identify-last-row-basic.hpl (57%)
 create mode 100644 plugins/transforms/dimensionlookup/src/main/samples/transforms/dimensionlookup-basic.hpl
 delete mode 100644 plugins/transforms/dropbox/pom.xml
 delete mode 100644 plugins/transforms/dropbox/src/main/java/org/apache/hop/pipeline/transforms/dropbox/input/DropboxInput.java
 delete mode 100644 plugins/transforms/dropbox/src/main/java/org/apache/hop/pipeline/transforms/dropbox/input/DropboxInputData.java
 delete mode 100644 plugins/transforms/dropbox/src/main/java/org/apache/hop/pipeline/transforms/dropbox/input/DropboxInputDialog.java
 delete mode 100644 plugins/transforms/dropbox/src/main/java/org/apache/hop/pipeline/transforms/dropbox/input/DropboxInputMeta.java
 delete mode 100644 plugins/transforms/dropbox/src/main/java/org/apache/hop/pipeline/transforms/dropbox/output/DropboxOutput.java
 delete mode 100644 plugins/transforms/dropbox/src/main/java/org/apache/hop/pipeline/transforms/dropbox/output/DropboxOutputData.java
 delete mode 100644 plugins/transforms/dropbox/src/main/java/org/apache/hop/pipeline/transforms/dropbox/output/DropboxOutputDialog.java
 delete mode 100644 plugins/transforms/dropbox/src/main/java/org/apache/hop/pipeline/transforms/dropbox/output/DropboxOutputMeta.java
 delete mode 100644 plugins/transforms/dropbox/src/main/resources/dropboxinput.svg
 delete mode 100644 plugins/transforms/dropbox/src/main/resources/dropboxoutput.svg
 delete mode 100644 plugins/transforms/dropbox/src/main/resources/org/apache/hop/pipeline/transforms/dropbox/input/messages/messages_en_US.properties
 delete mode 100644 plugins/transforms/dropbox/src/main/resources/org/apache/hop/pipeline/transforms/dropbox/output/messages/messages_en_US.properties
 create mode 100644 plugins/transforms/excelwriter/src/main/java/org/apache/hop/pipeline/transforms/excelwriter/ExcelWriterFileField.java
 rename plugins/transforms/excelwriter/src/main/java/org/apache/hop/pipeline/transforms/excelwriter/{ExcelWriterTransformField.java => ExcelWriterOutputField.java} (51%)
 create mode 100644 plugins/transforms/excelwriter/src/main/java/org/apache/hop/pipeline/transforms/excelwriter/ExcelWriterTemplateField.java
 create mode 100644 plugins/transforms/fieldschangesequence/src/main/java/org/apache/hop/pipeline/transforms/fieldschangesequence/FieldsChangeSequenceField.java
 create mode 100644 plugins/transforms/filterrows/src/main/samples/transforms/filter-rows-basic.hpl
 copy integration-tests/transforms/0029-parquet-input.hpl => plugins/transforms/getfilenames/src/main/samples/transforms/getfilenames-from-field.hpl (53%)
 copy integration-tests/mdi/0006-filter-child.hpl => plugins/transforms/getfilenames/src/main/samples/transforms/getfilenames-read-sample-transform-files.hpl (51%)
 create mode 100644 plugins/transforms/ifnull/src/main/samples/transforms/if-null-basic.hpl
 create mode 100644 plugins/transforms/insertupdate/src/main/samples/transforms/insertupdate-basic.hpl
 copy integration-tests/mdi/0006-filter-child.hpl => plugins/transforms/janino/src/main/samples/transforms/javafilter-basic.hpl (53%)
 rename plugins/transforms/javascript/src/main/java/org/apache/hop/pipeline/transforms/javascript/{ScriptValuesMod.java => ScriptValues.java} (97%)
 rename plugins/transforms/javascript/src/main/java/org/apache/hop/pipeline/transforms/javascript/{ScriptValuesModData.java => ScriptValuesData.java} (92%)
 rename plugins/transforms/javascript/src/main/java/org/apache/hop/pipeline/transforms/javascript/{ScriptValuesMetaModDialog.java => ScriptValuesDialog.java} (99%)
 rename plugins/transforms/javascript/src/main/java/org/apache/hop/pipeline/transforms/javascript/{ScriptValuesModDummy.java => ScriptValuesDummy.java} (66%)
 rename plugins/transforms/javascript/src/main/java/org/apache/hop/pipeline/transforms/javascript/{ScriptValuesMetaMod.java => ScriptValuesMeta.java} (97%)
 rename plugins/transforms/javascript/src/test/java/org/apache/hop/pipeline/transforms/javascript/{ScriptValuesMetaModInjectionTest.java => ScriptValuesMetaInjectionTest.java} (97%)
 rename plugins/transforms/javascript/src/test/java/org/apache/hop/pipeline/transforms/javascript/{ScriptValuesMetaModTest.java => ScriptValuesMetaTest.java} (95%)
 rename plugins/transforms/javascript/src/test/java/org/apache/hop/pipeline/transforms/javascript/{ScriptValuesModTest.java => ScriptValuesTest.java} (86%)
 create mode 100644 plugins/transforms/mergejoin/src/main/samples/transforms/merge-join-basic.hpl
 delete mode 100644 plugins/transforms/mqtt/pom.xml
 delete mode 100644 plugins/transforms/mqtt/src/main/java/org/apache/hop/pipeline/transforms/mqtt/key/PrivateKeyReader.java
 delete mode 100644 plugins/transforms/mqtt/src/main/java/org/apache/hop/pipeline/transforms/mqtt/key/SSLSocketFactoryGenerator.java
 delete mode 100644 plugins/transforms/mqtt/src/main/java/org/apache/hop/pipeline/transforms/mqtt/publisher/MQTTPublisher.java
 delete mode 100644 plugins/transforms/mqtt/src/main/java/org/apache/hop/pipeline/transforms/mqtt/publisher/MQTTPublisherData.java
 delete mode 100644 plugins/transforms/mqtt/src/main/java/org/apache/hop/pipeline/transforms/mqtt/publisher/MQTTPublisherDialog.java
 delete mode 100644 plugins/transforms/mqtt/src/main/java/org/apache/hop/pipeline/transforms/mqtt/publisher/MQTTPublisherMeta.java
 delete mode 100644 plugins/transforms/mqtt/src/main/java/org/apache/hop/pipeline/transforms/mqtt/subscriber/MQTTSubscriber.java
 delete mode 100644 plugins/transforms/mqtt/src/main/java/org/apache/hop/pipeline/transforms/mqtt/subscriber/MQTTSubscriberData.java
 delete mode 100644 plugins/transforms/mqtt/src/main/java/org/apache/hop/pipeline/transforms/mqtt/subscriber/MQTTSubscriberDialog.java
 delete mode 100644 plugins/transforms/mqtt/src/main/java/org/apache/hop/pipeline/transforms/mqtt/subscriber/MQTTSubscriberMeta.java
 delete mode 100644 plugins/transforms/mqtt/src/main/resources/MQTTPublisherIcon.svg
 delete mode 100644 plugins/transforms/mqtt/src/main/resources/MQTTSubscriberIcon.svg
 delete mode 100644 plugins/transforms/mqtt/src/main/resources/org/apache/hop/pipeline/transforms/mqtt/publisher/messages/messages_en_US.properties
 delete mode 100644 plugins/transforms/mqtt/src/main/resources/org/apache/hop/pipeline/transforms/mqtt/publisher/messages/messages_it_IT.properties
 delete mode 100644 plugins/transforms/mqtt/src/main/resources/org/apache/hop/pipeline/transforms/mqtt/subscriber/messages/messages_en_US.properties
 delete mode 100644 plugins/transforms/mqtt/src/test/org/apache/hop/pipeline/transforms/mqtt/publisher/MQTTPublisherMetaTest.java
 delete mode 100644 plugins/transforms/mqtt/src/test/org/apache/hop/pipeline/transforms/mqtt/subscriber/MQTTSubscriberMetaTest.java
 copy integration-tests/database/0006-insert-table-output.hpl => plugins/transforms/nullif/src/main/samples/transforms/null-if-basic.hpl (58%)
 create mode 100644 plugins/transforms/numberrange/src/main/samples/transforms/number-range-basic.hpl
 create mode 100644 plugins/transforms/pgbulkloader/src/main/java/org/apache/hop/pipeline/transforms/pgbulkloader/PGBulkLoaderMappingMeta.java
 create mode 100644 plugins/transforms/selectvalues/src/main/samples/transforms/select-values-basic.hpl
 create mode 100644 plugins/transforms/sort/src/main/samples/transforms/sort-rows-basic.hpl
 create mode 100644 plugins/transforms/sort/src/main/samples/transforms/sort-rows-sorted-merge.hpl
 copy integration-tests/mdi/0006-filter-parent.hpl => plugins/transforms/streamlookup/src/main/samples/transforms/stream-lookup-basic.hpl (52%)
 create mode 100644 plugins/transforms/stringcut/src/main/java/org/apache/hop/pipeline/transforms/stringcut/StringCutField.java
 create mode 100644 plugins/transforms/stringoperations/src/main/samples/transforms/string-operations-basic.hpl
 copy integration-tests/transforms/0017-database-lookup.hpl => plugins/transforms/switchcase/src/main/samples/transforms/switch-case-basic.hpl (51%)
 copy integration-tests/mdi/0006-filter-child.hpl => plugins/transforms/tableinput/src/main/samples/transforms/tableinput-accept-input.hpl (52%)
 copy integration-tests/mdi/0006-filter-child.hpl => plugins/transforms/tableinput/src/main/samples/transforms/tableinput-basic.hpl (51%)
 rename integration-tests/mdi/0006-filter-child.hpl => plugins/transforms/tableinput/src/main/samples/transforms/tableinput-variables.hpl (51%)
 create mode 100644 plugins/transforms/tableoutput/src/main/java/org/apache/hop/pipeline/transforms/tableoutput/TableOutputField.java
 create mode 100644 plugins/transforms/tableoutput/src/main/samples/metadata/rdbms/hop-samples.json
 copy integration-tests/database/0006-insert-table-output.hpl => plugins/transforms/tableoutput/src/main/samples/transforms/tableoutput-basic.hpl (61%)
 delete mode 100644 plugins/transforms/tableoutput/src/test/java/org/apache/hop/pipeline/transforms/tableoutput/TableOutputMetaLoadSaveTest.java
 copy integration-tests/database/0006-insert-table-output.hpl => plugins/transforms/textfile/src/main/samples/transforms/csvinput-basic.hpl (50%)
 create mode 100644 plugins/transforms/textfile/src/main/samples/transforms/csvinput-huge-file.hpl
 create mode 100644 plugins/transforms/textfile/src/main/samples/transforms/textfileinput-basic.hpl
 create mode 100644 plugins/transforms/textfile/src/main/samples/transforms/textfileoutput-huge-file.hpl
 rename integration-tests/mdi/0006-filter-parent.hpl => plugins/transforms/textfile/src/main/samples/transforms/textfileoutput-tiny-file.hpl (51%)
 create mode 100644 plugins/transforms/uniquerows/src/main/java/org/apache/hop/pipeline/transforms/uniquerows/UniqueField.java
 create mode 100644 plugins/transforms/valuemapper/src/main/samples/transforms/value-mapper-basic.hpl
 create mode 100644 rap/src/main/resources/org/apache/hop/ui/hopgui/canvas-dark.js
 create mode 100644 rap/src/main/resources/org/apache/hop/ui/hopgui/canvas-light.js
 delete mode 100644 rap/src/main/resources/org/apache/hop/ui/hopgui/canvas.js
 create mode 100644 rap/src/main/resources/org/apache/hop/ui/hopgui/dark-mode.css
 create mode 100644 rap/src/main/resources/org/apache/hop/ui/hopgui/light-mode.css
 create mode 100644 ui/src/main/resources/org/apache/hop/ui/partition/messages/messages_pt_BR.properties
 copy plugins/misc/import/src/main/resources/org/apache/hop/imports/gui/messages/messages_en_US.properties => ui/src/main/resources/org/apache/hop/ui/www/service/messages/messages_pt_BR.properties (64%)
 create mode 100644 ui/src/main/resources/ui/images/zoom-100.svg
 create mode 100644 ui/src/main/resources/ui/images/zoom-in.svg
 create mode 100644 ui/src/main/resources/ui/images/zoom-out.svg

[incubator-hop] 01/01: Merge remote-tracking branch 'upstream/master' into release0.99

Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

hansva pushed a commit to branch release0.99
in repository https://gitbox.apache.org/repos/asf/incubator-hop.git

commit 069d67ef7fc3bd76694c5fc1f5813ca53d4d3fe7
Merge: 0f3e4fd bd7edde
Author: Hans Van Akelyen <ha...@gmail.com>
AuthorDate: Tue Jul 27 14:59:19 2021 +0200

    Merge remote-tracking branch 'upstream/master' into release0.99

 .../resources/version.xml => .mvn/extensions.xml   |   10 +-
 .mvn/wrapper/MavenWrapperDownloader.java           |  117 +
 .../wrapper/maven-wrapper.properties               |    3 +-
 README.md                                          |   33 +-
 .../plugins/actions/ftp/src/assembly/assembly.xml  |    7 -
 .../databases/googlebigquery-assemblies/pom.xml    |    4 +-
 .../databases/postgresql-assemblies/pom.xml        |    2 +-
 assemblies/plugins/dist/pom.xml                    |   25 -
 assemblies/plugins/engines/beam/pom.xml            |   14 +-
 .../plugins/engines/beam/src/assembly/assembly.xml |   11 +-
 assemblies/plugins/tech/google/pom.xml             |    4 +-
 .../plugins/tech/google/src/assembly/assembly.xml  |  146 +-
 assemblies/plugins/tech/neo4j/pom.xml              |    3 +-
 .../plugins/tech/parquet/src/assembly/assembly.xml |    1 -
 assemblies/plugins/transforms/dropbox/pom.xml      |   51 -
 .../transforms/dropbox/src/assembly/assembly.xml   |   57 -
 assemblies/plugins/transforms/mongodb/pom.xml      |    2 +-
 .../transforms/mongodb/src/assembly/assembly.xml   |    4 +-
 assemblies/plugins/transforms/mqtt/pom.xml         |   61 -
 .../transforms/mqtt/src/assembly/assembly.xml      |   57 -
 .../transforms/mqtt/src/main/resources/version.xml |   19 -
 .../pgbulkloader/src/assembly/assembly.xml         |    2 +-
 assemblies/plugins/transforms/pom.xml              |    2 -
 assemblies/static/src/main/resources/hop-conf.bat  |    1 +
 .../static/src/main/resources/hop-encrypt.bat      |    1 +
 assemblies/static/src/main/resources/hop-gui.bat   |    1 +
 .../resources/{hop-conf.bat => hop-import.bat}     |    5 +-
 assemblies/static/src/main/resources/hop-import.sh |   79 +
 assemblies/static/src/main/resources/hop-run.bat   |    1 +
 .../static/src/main/resources/hop-search.bat       |    1 +
 .../static/src/main/resources/hop-server.bat       |    1 +
 .../static/src/main/resources/hop-translator.bat   |    1 +
 core/pom.xml                                       |   16 +
 core/src/main/java/org/apache/hop/core/Const.java  |    8 +-
 .../org/apache/hop/core/HopClientEnvironment.java  |  107 +-
 .../org/apache/hop/core/LogProgressMonitor.java    |   45 +-
 .../hop/core/config/ConfigFileSerializer.java      |   69 +-
 .../hop/core/config/plugin/ConfigPluginType.java   |    6 -
 .../apache/hop/core/database/BaseDatabaseMeta.java |    1 +
 .../org/apache/hop/core/database/Database.java     |   39 +-
 .../org/apache/hop/core/database/DatabaseMeta.java |   71 +-
 .../hop/core/database/DatabasePluginType.java      |    6 -
 .../org/apache/hop/core/database/IDatabase.java    |    5 +
 .../hop/core/database/IDatabaseTransaction.java    |   25 -
 .../core/database/map/DatabaseConnectionMap.java   |  111 +-
 .../TwoWayPasswordEncoderPluginType.java           |    6 -
 .../core/extension/ExtensionPointPluginType.java   |    5 -
 .../hop/core/extension/HopExtensionPoint.java      |  215 +-
 .../apache/hop/core/gui/plugin/GuiPluginType.java  |    6 -
 .../apache/hop/core/logging/LoggingPluginType.java |    5 -
 .../apache/hop/core/plugins/BaseFragmentType.java  |    6 -
 .../apache/hop/core/plugins/BasePluginType.java    |   49 +-
 .../hop/core/plugins/BasePluginTypeExposer.java    |   19 +-
 .../java/org/apache/hop/core/row/IRowMeta.java     |   14 -
 .../main/java/org/apache/hop/core/row/RowMeta.java |   27 -
 .../org/apache/hop/core/row/ValueDataUtil.java     |   15 -
 .../hop/core/row/value/ValueMetaPluginType.java    |    6 -
 .../core/search/SearchableAnalyserPluginType.java  |    5 -
 .../java/org/apache/hop/core/svg/SvgCache.java     |   87 +-
 .../main/java/org/apache/hop/core/vfs/HopVfs.java  |  361 +--
 .../apache/hop/core/vfs/plugin/VfsPluginType.java  |    5 -
 .../hop/metadata/api/HopMetadataProperty.java      |    3 +
 .../hop/metadata/plugin/MetadataPluginType.java    |    5 -
 .../serializer/json/JsonMetadataProvider.java      |   77 +-
 .../serializer/json/JsonMetadataSerializer.java    |  194 +-
 .../metadata/serializer/xml/XmlMetadataUtil.java   |   12 +
 .../database/messages/messages_pt_BR.properties    |   79 +
 .../hop/core/messages/messages_it_IT.properties    |    4 +-
 .../hop/i18n/messages/messages_en_US.properties    |    7 +-
 .../hop/i18n/messages/messages_it_IT.properties    |    1 +
 .../hop/i18n/messages/messages_ja_JP.properties    |    6 +-
 .../hop/core/database/DatabaseConnectingTest.java  |  175 +-
 docker/Dockerfile.web                              |   10 +-
 docker/create_hop_web_container.sh                 |    9 +-
 docker/integration-tests/Dockerfile.unit-tests     |    4 +-
 .../integration-tests-cassandra.yaml               |    7 +-
 .../integration-tests-database.yaml                |    7 +-
 .../integration-tests/integration-tests-mongo.yaml |    5 +-
 .../integration-tests/integration-tests-neo4j.yaml |    5 +-
 .../pages/apache-release/checking-a-release.adoc   |   11 +-
 .../pages/apache-release/creating-a-release.adoc   |   62 +-
 .../pages/apache-release/promoting-a-release.adoc  |   47 -
 .../modules/ROOT/pages/hopweb/developer-guide.adoc |   66 +-
 .../modules/ROOT/pages/svg-files.adoc              |    3 +-
 .../beam-getting-started-beam-file-definition.png  |  Bin 0 -> 145198 bytes
 .../images/beam-getting-started-flushes-metric.png |  Bin 0 -> 98819 bytes
 ...etting-started-input-transforms-on-dataflow.png |  Bin 0 -> 71602 bytes
 .../ROOT/assets/images/copy-as-pipeline-action.png |  Bin 0 -> 14267 bytes
 ...getting-started-input-process-output-sample.png |  Bin 0 -> 57642 bytes
 .../ROOT/assets/images/icons/neo4j_logo.svg        |   56 +-
 docs/hop-user-manual/modules/ROOT/nav.adoc         |   16 +-
 .../modules/ROOT/pages/best-practices/index.adoc   |   91 +-
 .../getting-started/hop-download-install.adoc      |    2 +-
 .../pages/getting-started/hop-gui-workflows.adoc   |    8 +-
 .../ROOT/pages/getting-started/hop-next-steps.adoc |    2 +-
 .../pages/getting-started/hop-what-is-hop.adoc     |    6 +-
 .../modules/ROOT/pages/hop-gui/hop-gui-git.adoc    |    8 +-
 .../modules/ROOT/pages/hop-server/index.adoc       |    8 +-
 .../modules/ROOT/pages/hop-server/rest-api.adoc    |   38 +-
 .../modules/ROOT/pages/hop-tools/hop-import.adoc   |  100 +
 .../modules/ROOT/pages/hop-tools/index.adoc        |    3 +-
 .../modules/ROOT/pages/logging/logging-basics.adoc |   43 +
 .../metadata-types/neo4j/neo4j-graphmodel.adoc     |    2 +-
 .../pages/metadata-types/pipeline-run-config.adoc  |   20 +-
 .../pages/metadata-types/rdbms-connection.adoc     |    2 +-
 .../pipeline/beam/getting-started-with-beam.adoc   |  179 ++
 .../ROOT/pages/pipeline/metadata-injection.adoc    |  199 ++
 .../modules/ROOT/pages/pipeline/partitioning.adoc  |   18 +-
 .../beam-dataflow-pipeline-engine.adoc             |   63 +-
 .../beam-spark-pipeline-engine.adoc                |   24 +-
 .../native-local-pipeline-engine.adoc              |   53 +-
 .../ROOT/pages/pipeline/pipeline-unit-testing.adoc |   18 +-
 .../modules/ROOT/pages/pipeline/pipelines.adoc     |    1 +
 .../modules/ROOT/pages/pipeline/transforms.adoc    |    8 -
 .../ROOT/pages/pipeline/transforms/datagrid.adoc   |    3 +-
 .../pages/pipeline/transforms/dropboxinput.adoc    |   38 -
 .../pages/pipeline/transforms/dropboxoutput.adoc   |   39 -
 .../ROOT/pages/pipeline/transforms/filter.adoc     |  122 -
 .../pages/pipeline/transforms/getsystemdata.adoc   |   15 -
 .../pages/pipeline/transforms/googleanalytics.adoc |   87 -
 .../pipeline/transforms/googlesheetsinput.adoc     |   41 -
 .../pipeline/transforms/googlesheetsoutput.adoc    |   51 -
 .../pages/pipeline/transforms/metastructure.adoc   |   15 +
 .../pages/pipeline/transforms/pgbulkloader.adoc    |   74 +
 .../pages/pipeline/transforms/rowdenormaliser.adoc |   13 +-
 .../pages/pipeline/transforms/simple-mapping.adoc  |    6 +-
 .../ROOT/pages/plugins/import/kettle-import.adoc   |   72 +
 .../modules/ROOT/pages/plugins/plugins.adoc        |    1 -
 .../modules/ROOT/pages/protips/index.adoc          |   62 +
 .../best-practices/governance.adoc}                |   15 +-
 .../best-practices/logging.adoc}                   |   14 +-
 .../best-practices/loops.adoc}                     |   13 +-
 .../best-practices/mappings.adoc}                  |    7 +-
 .../best-practices/metadata-injection.adoc}        |   16 +-
 .../best-practices/naming-conventions.adoc         |   49 +
 .../best-practices/performance-basics.adoc}        |   17 +-
 .../snippets/best-practices/size-matters.adoc      |   25 +
 .../best-practices/variables.adoc}                 |   13 +-
 .../ROOT/pages/technology/google/index.adoc        |    3 -
 .../modules/ROOT/pages/technology/neo4j/index.adoc |    4 +-
 .../modules/ROOT/pages/variables.adoc              |   66 +
 docs/hop-user-manual/modules/ROOT/pages/vfs.adoc   |   94 +-
 .../modules/ROOT/pages/vfs/aws-s3-vfs.adoc         |   23 +-
 .../ROOT/pages/workflow/actions/ftpsget.adoc       |   83 -
 .../ROOT/pages/workflow/actions/ftpsput.adoc       |   69 -
 .../native-local-workflow-engine.adoc              |   44 +
 .../workflow-run-configurations.adoc               |    2 +-
 .../modules/ROOT/pages/workflow/workflows.adoc     |    6 +-
 .../java/org/apache/hop/base/AbstractMeta.java     |  592 ++---
 .../java/org/apache/hop/core/HopEnvironment.java   |  125 +-
 .../IProvidesDatabaseConnectionInformation.java    |    2 +-
 .../org/apache/hop/core/annotations/Action.java    |    7 -
 .../auth/AuthenticationConsumerPluginType.java     |    5 -
 .../auth/AuthenticationProviderPluginType.java     |    5 -
 .../hop/core/compress/CompressionPluginType.java   |    5 -
 .../hop/core/injection/bean/BeanInjectionInfo.java |   18 +-
 .../hop/core/injection/bean/BeanLevelInfo.java     |    2 +-
 .../apache/hop/core/plugins/ActionPluginType.java  |    5 -
 .../hop/core/plugins/HopServerPluginType.java      |    5 -
 .../hop/core/plugins/PartitionerPluginType.java    |    5 -
 .../hop/core/plugins/TransformPluginType.java      |    5 -
 .../main/java/org/apache/hop/imp/HopImport.java    |  618 +++++
 .../java/org/apache/hop/imp/HopImportBase.java     |  499 ++++
 .../main/java/org/apache/hop/imp/IHopImport.java   |  158 ++
 .../ImportPlugin.java}                             |   33 +-
 .../java/org/apache/hop/imp/ImportPluginType.java  |   66 +
 .../java/org/apache/hop/pipeline/Pipeline.java     | 2300 ++++++++--------
 .../java/org/apache/hop/pipeline/PipelineMeta.java |   13 -
 .../hop/pipeline/engine/IPipelineEngine.java       |  151 +-
 .../pipeline/engine/PipelineEnginePluginType.java  |    5 -
 .../engines/local/LocalPipelineEngine.java         |  142 +-
 .../local/LocalPipelineRunConfiguration.java       |  226 +-
 .../local/transaction/DatabaseCreatedXp.java       |   52 +
 .../local/transaction/TransformCreatedXp.java      |   49 +
 .../hop/pipeline/transform/BaseTransform.java      |   22 +-
 .../apache/hop/pipeline/transform/ITransform.java  |  328 +--
 .../transform/RowDistributionPluginType.java       |    6 -
 .../pipeline/transform/TransformInitThread.java    |   66 +-
 .../java/org/apache/hop/workflow/Workflow.java     |   11 +-
 .../org/apache/hop/workflow/action/IAction.java    |    3 +-
 .../hop/workflow/engine/IWorkflowEngine.java       |    5 +-
 .../workflow/engine/WorkflowEnginePluginType.java  |    6 -
 .../engines/local/LocalWorkflowEngine.java         |  146 +-
 .../local/LocalWorkflowRunConfiguration.java       |   55 +-
 engine/src/main/resources/hop-variables.xml        |    6 -
 .../pipeline/messages/messages_en_US.properties    |    5 -
 .../pipeline/messages/messages_ja_JP.properties    |    5 -
 .../core/compress/CompressionPluginTypeTest.java   |    3 -
 .../org/apache/hop/core/row/ValueDataUtilTest.java |   12 +-
 .../WorkflowActionLoadSaveTestSupport.java         |    1 -
 helm/README.md                                     |   49 +
 .../hop-server/.helmignore                         |   43 +-
 helm/hop-server/Chart.yaml                         |   41 +
 helm/hop-server/templates/_helpers.tpl             |   81 +
 .../hop-server/templates/hop-config.yaml           |   30 +-
 helm/hop-server/templates/hop-deployment.yaml      |   67 +
 .../hop-server/templates/hop-service.yaml          |   36 +-
 .../templates/tests/test-connection.yaml           |   36 +-
 helm/hop-server/values.yaml                        |   84 +
 integration-tests/actions/project-config.json      |   15 +-
 .../0001-generate-rows.hpl}                        |  214 +-
 .../beam_directrunner/0002-switch-case.hpl         |  314 +++
 .../datasets/customers-noheader-1k.txt             | 1000 +++++++
 .../beam_directrunner/dev-env-config.json          |   16 +
 .../{mdi => beam_directrunner}/hop-config.json     |    5 -
 .../main-0001-generate-rows.hwf}                   |   57 +-
 .../main-0002-switch-case.hwf}                     |   44 +-
 .../metadata/dataset/customers-input.json          |   88 +
 .../metadata/file-definition/Customers.json        |   78 +
 .../metadata/pipeline-run-configuration/local.json |   18 +
 .../beam_directrunner/metadata/rdbms/testdb.json   |   26 +
 .../metadata/workflow-run-configuration/local.json |    9 +
 .../beam_directrunner/project-config.json          |   15 +
 integration-tests/cassandra/hop-config.json        |    8 +-
 integration-tests/cassandra/project-config.json    |   20 +-
 .../database/0006-insert-table-output.hpl          |   52 +-
 .../0014-1-setup-before.hpl}                       |  137 +-
 .../0014-1-setup-before.hwf}                       |  103 +-
 .../0014-2-fail-transactional.hwf}                 |  113 +-
 .../0014-2-overwrite.hpl}                          |  110 +-
 .../0014-3-validate.hpl}                           |  136 +-
 ...able-output.hpl => 0015-check-table-exists.hpl} |  100 +-
 ...e-output.hpl => 0017-postgresql-bulkloader.hpl} |  126 +-
 integration-tests/database/hop-config.json         |    8 +-
 .../main-0014-transactional.hwf}                   |  126 +-
 .../main-0015-check-table-exists.hwf}              |   70 +-
 .../main-0016-delete-generic-driver.hwf}           |   33 +-
 .../main-0017-postgresql-bulkloader.hwf}           |   74 +-
 .../pipeline-run-configuration/transactional.json  |   18 +
 .../workflow-run-configuration/transactional.json  |   10 +
 integration-tests/database/project-config.json     |   18 +-
 integration-tests/header-env-conf.json             |    9 -
 ...-parent.hpl => 0006-row-denormaliser-child.hpl} |  160 +-
 .../mdi/0006-row-denormaliser-parent.hpl           |  349 +++
 .../mdi/0010-database-lookup-parent.hpl            |   85 +-
 ...6-filter-child.hpl => 0011-data-grid-child.hpl} |  107 +-
 integration-tests/mdi/0011-data-grid-parent.hpl    |  403 +++
 ...-filter-child.hpl => 0012-string-cut-child.hpl} |   98 +-
 ...ilter-parent.hpl => 0012-string-cut-parent.hpl} |  153 +-
 .../mdi/datasets/golden-data-grid.csv              |    5 +
 .../mdi/datasets/golden-row-denormaliser.csv       |    3 +
 .../mdi/datasets/golden-stringcut.csv              |    2 +
 integration-tests/mdi/hop-config.json              |    5 -
 ...6-filter.hwf => main-0006-row-denormaliser.hwf} |    8 +-
 integration-tests/mdi/main-0009-coalesce.hwf       |   15 -
 .../mdi/main-0010-database-lookup.hwf              |    2 +-
 ...ain-0006-filter.hwf => main-0011-data-grid.hwf} |   10 +-
 ...in-0006-filter.hwf => main-0012-string-cut.hwf} |   10 +-
 .../mdi/metadata/dataset/golden-data-grid.json     |   48 +
 .../metadata/dataset/golden-row-denormaliser.json  |   56 +
 .../mdi/metadata/dataset/golden-string-cut.json    |   24 +
 .../0006-row-denormaliser-parent UNIT.json         |   48 +
 .../0011-data-grid-parent-basic UNIT.json          |   44 +
 .../unit-test/0012-string-cut-parent UNIT.json     |   33 +
 integration-tests/mdi/project-config.json          |    8 +-
 integration-tests/mongo/hop-config.json            |    5 -
 integration-tests/mongo/project-config.json        |   20 +-
 integration-tests/neo4j/hop-config.json            |    5 -
 integration-tests/neo4j/project-config.json        |   18 +-
 .../parameters_and_variables/hop-config.json       |    5 -
 .../main-0003-pipeline-pipeline-executor.hwf       |    9 -
 .../parameters_and_variables/project-config.json   |   18 +-
 integration-tests/partitioning/hop-config.json     |    5 -
 integration-tests/partitioning/project-config.json |   18 +-
 .../scripting/0002-udjc-get-MDI-transforms.hpl     |  173 ++
 integration-tests/scripting/hop-config.json        |    5 -
 integration-tests/scripting/project-config.json    |   18 +-
 integration-tests/sort_and_unique/hop-config.json  |    5 -
 .../sort_and_unique/project-config.json            |   18 +-
 integration-tests/spreadsheet/hop-config.json      |    5 -
 integration-tests/spreadsheet/project-config.json  |   18 +-
 .../0005-metastructure-options.hpl}                |  159 +-
 .../transforms/0017-database-lookup.hpl            |   64 +-
 .../transforms/0029-parquet-input.hpl              |    6 +-
 .../transforms/0029-parquet-output.hpl             |  149 +-
 .../0030-data-grid.hpl}                            |  120 +-
 .../0031-stringcut-basics.hpl}                     |  110 +-
 .../transforms/0032-fields-change-sequence.hpl     |  258 ++
 .../0033-clone-row.hpl}                            |  208 +-
 integration-tests/transforms/0034-unique-rows.hpl  |  317 +++
 .../datasets/golden-clone-row-constant.csv         |   45 +
 .../datasets/golden-clone-row-dynamic.csv          |   59 +
 .../transforms/datasets/golden-data-grid.csv       |    5 +
 .../datasets/golden-fields-changing-sequence.csv   |   12 +
 .../datasets/golden-metastructure-options.csv      |    6 +
 .../transforms/datasets/golden-stringcut.csv       |    2 +
 .../transforms/datasets/golden-unique-rows.csv     |    8 +
 integration-tests/transforms/hop-config.json       |    5 -
 .../transforms/main-0005-metastructure.hwf         |    3 +
 .../transforms/main-0017-database-lookup.hwf       |    2 +-
 .../main-0030-data-grid.hwf}                       |   20 +-
 .../main-0031-stringcut.hwf}                       |   20 +-
 .../main-0032-fields-change-sequence.hwf}          |   20 +-
 .../main-0033-clone-row.hwf}                       |   22 +-
 .../main-0034-unique-rows.hwf}                     |   23 +-
 .../dataset/golden-clone-row-constant.json         |   48 +
 .../metadata/dataset/golden-clone-row-dynamic.json |   48 +
 .../metadata/dataset/golden-data-grid.json         |   48 +
 .../dataset/golden-fields-change-sequence.json     |   40 +
 .../dataset/golden-metastructure-options.json      |   64 +
 .../metadata/dataset/golden-metastructure.json     |   16 +
 .../metadata/dataset/golden-stringcut.json         |   24 +
 .../metadata/dataset/golden-unique-rows.json       |   40 +
 .../unit-test/0005-metastructure-options UNIT.json |   58 +
 .../metadata/unit-test/0030-data-grid UNIT.json    |   44 +
 .../unit-test/0031-stringcut-basics UNIT.json}     |   17 +-
 .../0032-fields-change-sequence UNIT.json          |   14 +
 .../metadata/unit-test/0033-clone-row UNIT.json    |   81 +
 .../metadata/unit-test/0034-unique-rows UNIT.json  |   71 +
 integration-tests/transforms/project-config.json   |   18 +-
 integration-tests/xml/hop-config.json              |    5 -
 integration-tests/xml/project-config.json          |   18 +-
 mvnw                                               |  310 +++
 mvnw.cmd                                           | 2451 ++++++++++++++++++
 .../WorkflowActionColumnsExistTest.java            |  106 +-
 .../hop/workflow/actions/delay/ActionDelay.java    |    5 -
 ...DelayTest.java => WorkflowActionDelayTest.java} |    2 +-
 .../messages/messages_it_IT.properties             |    2 +-
 .../hop/workflow/actions/sftp/ActionSftp.java      |   17 -
 .../workflow/actions/sftp/ActionSftpDialog.java    |    8 +-
 .../actions/ftp/messages/messages_it_IT.properties |    4 +-
 .../ftpdelete/messages/messages_it_IT.properties   |    2 +-
 .../hop/workflow/actions/http/ActionHttp.java      |   19 -
 .../hop/workflow/actions/http/ActionHttpTest.java  |   11 +-
 .../movefiles/messages/messages_it_IT.properties   |    2 +-
 .../messages/messages_it_IT.properties             |    2 +-
 .../pgpdecryptfiles/ActionPGPDecryptFiles.java     |    9 -
 .../ActionPGPDecryptFilesDialog.java               |    2 +-
 .../messages/messages_it_IT.properties             |    2 +-
 .../messages/messages_it_IT.properties             |    2 +-
 .../pipeline/messages/messages_it_IT.properties    |    2 +-
 .../hop/workflow/actions/shell/ActionShell.java    |   11 +-
 .../workflow/actions/shell/ActionShellDialog.java  |    2 +-
 .../snmptrap/messages/messages_it_IT.properties    |    2 +-
 .../unzip/messages/messages_it_IT.properties       |    2 +-
 .../actions/waitforsql/ActionWaitForSql.java       |  502 ++--
 .../workflow/actions/workflow/ActionWorkflow.java  |    9 -
 .../workflow/messages/messages_it_IT.properties    |    2 +-
 .../actions/writetolog/ActionWriteToLog.java       |   22 +-
 .../actions/writetolog/ActionWriteToLogDialog.java |    6 +-
 .../WorkflowActionWriteToLogLoadSaveTest.java      |    4 +-
 ...Test.java => WorkflowActionWriteToLogTest.java} |    4 +-
 .../messages/messages_it_IT.properties             |    2 +-
 .../xml/xslt/messages/messages_it_IT.properties    |    2 +-
 .../zipfile/messages/messages_it_IT.properties     |    4 +-
 .../hop/databases/generic/GenericDatabaseMeta.java |    5 +
 plugins/databases/postgresql/pom.xml               |    2 +-
 plugins/engines/beam/pom.xml                       |   14 +-
 .../beam/engines/dataflow/DataFlowJvmStart.java    |   44 +
 .../org/apache/hop/beam/gui/HopBeamGuiPlugin.java  |   40 +-
 .../handler/BeamGenericTransformHandler.java       |   11 +-
 .../transforms/bigtable/BeamBigtableInputMeta.java |    4 +-
 .../bigtable/BeamBigtableOutputMeta.java           |    4 +-
 .../beam/gui/messages/messages_en_US.properties    |   39 +
 .../beam/gui/messages/messages_it_IT.properties    |   39 +
 .../bigtable/messages/messages_en_US.properties    |   10 +
 .../pipeline-run-configuration/DataFlow.json       |    6 +-
 .../metadata/pipeline-run-configuration/Flink.json |    2 +-
 .../metadata/pipeline-run-configuration/Spark.json |   42 +
 .../apache/hop/beam/util/BeamPipelineMetaUtil.java |   19 +-
 .../org/apache/hop/imports/HopDbConnImport.java    |    6 +-
 .../java/org/apache/hop/imports/HopImport.java     |  168 --
 .../java/org/apache/hop/imports/HopVarImport.java  |   23 -
 .../java/org/apache/hop/imports/IHopImport.java    |   41 -
 .../apache/hop/imports/gui/HopImportGuiPlugin.java |   56 +-
 .../apache/hop/imports/kettle/KettleImport.java    |  637 +++--
 .../hop/imports/kettle/KettleImportDialog.java     |  507 ++--
 .../imports/gui/messages/messages_en_US.properties |    2 -
 .../imports/gui/messages/messages_it_IT.properties |    2 -
 .../kettle/messages/messages_en_US.properties      |    6 +-
 .../kettle/messages/messages_it_IT.properties      |    2 -
 .../config/ProjectsConfigOptionPlugin.java         |   70 +-
 .../environment/LifecycleEnvironmentDialog.java    |   15 +-
 .../ManageEnvironmentsOptionPlugin.java            |  279 +-
 .../apache/hop/projects/gui/ProjectsGuiPlugin.java | 1730 +++++++------
 .../org/apache/hop/projects/project/Project.java   |   48 +-
 .../apache/hop/projects/project/ProjectConfig.java |  100 +-
 .../apache/hop/projects/project/ProjectDialog.java | 1173 +++++----
 .../search/ProjectSearchablesIterator.java         |   30 +-
 .../org/apache/hop/projects/util/ProjectsUtil.java |  162 +-
 .../projects/var/ManageConfigFileOptionPlugin.java |  109 +-
 .../projects/xp/HopGuiFileReplaceHomeVariable.java |   50 +-
 .../hop/projects/xp/HopImportDbConnections.java    |  108 +-
 .../hop/projects/xp/HopImportMigratedFiles.java    |  192 +-
 .../apache/hop/projects/xp/HopImportVariables.java |   79 +-
 .../hop/projects/xp/ProjectHomeExtensionPoint.java |   44 +
 .../config/messages/messages_en_US.properties      |    5 +
 .../config/messages/messages_it_IT.properties      |    8 +-
 .../gui/messages/messages_en_US.properties         |    6 +
 .../gui/messages/messages_it_IT.properties         |    8 +-
 .../main/java/org/apache/hop/testing/DataSet.java  |  122 +-
 .../org/apache/hop/testing/PipelineUnitTest.java   |    8 +-
 .../transforms/exectests/ExecuteTestsMeta.java     |    2 +-
 .../xp/ValidatePipelineUnitTestExtensionPoint.java |    6 +-
 .../org/apache/hop/ui/testing/DataSetEditor.java   |   10 +-
 .../testing/gui/messages/messages_it_IT.properties |   30 +-
 .../testing/xp/messages/messages_en_US.properties} |    3 +-
 .../testing/xp}/messages/messages_it_IT.properties |   10 +-
 .../ui/testing/messages/messages_it_IT.properties  |    4 +-
 plugins/tech/google/pom.xml                        |    4 +-
 .../googleanalytics/BareBonesBrowserLaunch.java    |   71 -
 .../googleanalytics/GoogleAnalytics.java           |  304 ---
 .../googleanalytics/GoogleAnalyticsApiFacade.java  |   87 -
 .../googleanalytics/GoogleAnalyticsData.java       |   42 -
 .../googleanalytics/GoogleAnalyticsDialog.java     | 1527 -----------
 .../googleanalytics/GoogleAnalyticsMeta.java       |  608 -----
 .../googleanalytics/OutputTypeConverter.java       |   30 -
 .../googlesheets/GoogleSheetsCredentials.java      |   53 -
 .../transforms/googlesheets/GoogleSheetsInput.java |  258 --
 .../googlesheets/GoogleSheetsInputData.java        |   39 -
 .../googlesheets/GoogleSheetsInputDialog.java      |  776 ------
 .../googlesheets/GoogleSheetsInputFields.java      |  634 -----
 .../googlesheets/GoogleSheetsInputMeta.java        |  329 ---
 .../googlesheets/GoogleSheetsOutput.java           |  367 ---
 .../googlesheets/GoogleSheetsOutputDialog.java     |  564 ----
 .../googlesheets/GoogleSheetsOutputMeta.java       |  264 --
 .../src/main/resources/GoogleSheetsInput.svg       |   36 -
 .../src/main/resources/GoogleSheetsOutput.svg      |   37 -
 .../google/src/main/resources/googleanalytics.svg  |   27 -
 .../messages/messages_en_US.properties             |  126 -
 .../messages/messages_en_FR.properties             |   57 -
 .../messages/messages_en_US.properties             |   60 -
 plugins/tech/neo4j/pom.xml                         |    3 +-
 .../hop/neo4j/transforms/cypher/CypherDialog.java  |  314 ++-
 plugins/tech/neo4j/src/main/resources/NEO4J.svg    |    2 +-
 .../tech/neo4j/src/main/resources/neo4j_check.svg  |    4 +-
 .../tech/neo4j/src/main/resources/neo4j_cypher.svg |    2 +-
 .../src/main/resources/neo4j_graph_output.svg      |    2 +-
 .../tech/neo4j/src/main/resources/neo4j_import.svg |    2 +-
 .../tech/neo4j/src/main/resources/neo4j_load.svg   |    2 +-
 .../tech/neo4j/src/main/resources/neo4j_logo.svg   |    2 +-
 .../tech/neo4j/src/main/resources/neo4j_output.svg |    2 +-
 .../tech/neo4j/src/main/resources/neo4j_split.svg  |    2 +-
 .../cypher/messages/messages_en_US.properties      |   45 +-
 .../transforms/input/ParquetInputDialog.java       |    1 -
 .../parquet/transforms/output/ParquetOutput.java   |   14 +
 .../transforms/output/ParquetOutputDialog.java     |   24 +-
 .../transforms/output/ParquetOutputMeta.java       |   19 +
 .../output/messages/messages_en_US.properties      |    1 +
 .../src/main/samples/transforms/abort-basic.hpl    |  208 +-
 .../transforms/addsequence/AddSequence.java        |    2 +-
 .../transforms/addsequence/AddSequenceMeta.java    |    3 +-
 .../addsequence/messages/messages_pt_BR.properties |  114 +-
 .../samples/transforms/analyticquery-basic.hpl     |  191 +-
 .../samples/transforms/analyticquery-grouped.hpl   |  224 +-
 .../samples/transforms/blockingtransform-basic.hpl |  111 +-
 .../calculator/CalculatorValueDataUtilTest.java    |   12 +-
 .../hop/pipeline/transforms/clonerow/CloneRow.java |  154 +-
 .../pipeline/transforms/clonerow/CloneRowData.java |   18 +-
 .../transforms/clonerow/CloneRowDialog.java        |   24 +-
 .../pipeline/transforms/clonerow/CloneRowMeta.java |  164 +-
 .../clonerow/messages/messages_en_US.properties    |    9 +-
 .../clonerow/messages/messages_fr_FR.properties    |   18 +-
 .../transforms/clonerow/CloneRowMetaTest.java      |   48 +-
 .../pipeline/transforms/clonerow/CloneRowTest.java |   36 +-
 .../src/main/samples/transforms/coalesce-basic.hpl |  229 +-
 .../transforms/columnexists/ColumnExists.java      |  176 +-
 .../main/samples/transforms/columnexists-basic.hpl |  115 +-
 .../transforms/columnexists-table-field.hpl        |  142 +-
 .../combinationlookup/CombinationLookup.java       |  585 +++--
 .../messages/messages_it_IT.properties             |    2 +-
 .../hop/pipeline/transforms/constant/Constant.java |  236 +-
 .../pipeline/transforms/constant/ConstantData.java |   13 +-
 .../transforms/constant/ConstantDialog.java        |   82 +-
 .../transforms/constant/ConstantField.java         |  217 ++
 .../pipeline/transforms/constant/ConstantMeta.java |  282 +-
 .../constant/messages/messages_en_US.properties    |   15 +-
 .../constant/messages/messages_it_IT.properties    |   31 +-
 .../transforms/constant/ConstantMetaTest.java      |  155 +-
 .../pipeline/transforms/constant/ConstantTest.java |   52 +-
 .../transforms/databasejoin/DatabaseJoin.java      |  180 +-
 .../main/samples/transforms/databasejoin-basic.hpl |  132 +-
 .../transforms/databaselookup/DatabaseLookup.java  |   45 +-
 .../databaselookup/DatabaseLookupData.java         |    1 +
 .../databaselookup/DatabaseLookupDialog.java       |   21 +-
 .../databaselookup/DatabaseLookupMeta.java         |    4 +-
 .../pipeline/transforms/databaselookup/Lookup.java |    3 +
 .../transforms/databaselookup/ReturnValue.java     |   30 +-
 .../messages/messages_en_US.properties             |    2 +
 .../messages/messages_it_IT.properties             |   99 +-
 .../src/main/samples/transforms/databaselookup.hpl |  188 +-
 .../databaselookup/DatabaseLookupMetaTest.java     |   17 +-
 .../databaselookup/DatabaseLookupUTest.java        |    6 +-
 .../hop/pipeline/transforms/datagrid/DataGrid.java |   68 +-
 .../transforms/datagrid/DataGridDataMeta.java      |   82 +
 .../transforms/datagrid/DataGridDialog.java        |  123 +-
 .../transforms/datagrid/DataGridFieldMeta.java     |  190 ++
 .../pipeline/transforms/datagrid/DataGridMeta.java |  318 +--
 .../datagrid/messages/messages_en_US.properties    |    3 +
 .../transforms/datagrid/DataGridMetaTest.java      |  148 --
 .../datagrid/DataGrid_EmptyStringVsNull_Test.java  |  114 -
 .../transforms/datagrid/TransformMockUtil.java     |   69 -
 .../hop/pipeline/transforms/dbproc/DBProc.java     |  161 +-
 .../hop/pipeline/transforms/delete/Delete.java     |  221 +-
 .../hop/pipeline/transforms/delete/DeleteData.java |    5 -
 .../pipeline/transforms/delete/DeleteDialog.java   |   66 +-
 .../pipeline/transforms/delete/DeleteKeyField.java |  108 +
 .../transforms/delete/DeleteLookupField.java       |  110 +
 .../hop/pipeline/transforms/delete/DeleteMeta.java |  284 +-
 .../delete/messages/messages_it_IT.properties      |   52 +-
 .../pipeline/transforms/delete/DeleteMetaTest.java |  199 +-
 .../transforms/denormaliser/Denormaliser.java      |  356 +--
 .../transforms/denormaliser/DenormaliserData.java  |    1 -
 .../denormaliser/DenormaliserDialog.java           |  109 +-
 .../denormaliser/DenormaliserGroupField.java       |   61 +
 .../transforms/denormaliser/DenormaliserMeta.java  |  221 +-
 .../denormaliser/DenormaliserTargetField.java      |  409 +--
 .../denormaliser/DenormaliserAggregationsTest.java |  142 +-
 ...DenormaliserTest.java => DenormaliserTest.java} |   64 +-
 .../denormaliser/DenormalizerMetaTest.java         |  137 -
 .../samples/transforms/identify-last-row-basic.hpl |  132 +-
 .../dimensionlookup/DimensionLookup.java           | 1326 +++++-----
 .../dimensionlookup/DimensionLookupDialog.java     |  174 +-
 .../samples/transforms/dimensionlookup-basic.hpl   |  277 ++
 plugins/transforms/dropbox/pom.xml                 |   44 -
 .../transforms/dropbox/input/DropboxInput.java     |  222 --
 .../transforms/dropbox/input/DropboxInputData.java |   42 -
 .../dropbox/input/DropboxInputDialog.java          |  380 ---
 .../transforms/dropbox/input/DropboxInputMeta.java |  243 --
 .../transforms/dropbox/output/DropboxOutput.java   |  406 ---
 .../dropbox/output/DropboxOutputData.java          |   46 -
 .../dropbox/output/DropboxOutputDialog.java        |  386 ---
 .../dropbox/output/DropboxOutputMeta.java          |  241 --
 .../dropbox/src/main/resources/dropboxinput.svg    |    1 -
 .../dropbox/src/main/resources/dropboxoutput.svg   |    1 -
 .../input/messages/messages_en_US.properties       |   59 -
 .../output/messages/messages_en_US.properties      |   68 -
 .../transforms/dynamicsqlrow/DynamicSqlRow.java    |  257 +-
 .../excelwriter/ExcelWriterFileField.java          |  339 +++
 ...sformField.java => ExcelWriterOutputField.java} |   87 +-
 .../excelwriter/ExcelWriterTemplateField.java      |  115 +
 .../excelwriter/ExcelWriterTransform.java          |  776 +++---
 .../excelwriter/ExcelWriterTransformData.java      |   23 +-
 .../excelwriter/ExcelWriterTransformDialog.java    |  463 ++--
 .../excelwriter/ExcelWriterTransformMeta.java      |  626 +----
 .../excelwriter/messages/messages_en_US.properties |   69 +-
 .../excelwriter/messages/messages_it_IT.properties |   85 +-
 .../excelwriter/ExcelWriterTransformMetaTest.java  |  380 ++-
 .../excelwriter/ExcelWriterTransformTest.java      |  440 ++--
 ...elWriterTransform_FormulaRecalculationTest.java |   56 +-
 .../ExcelWriterTransform_StyleFormatTest.java      |  250 +-
 .../transforms/excelwriter/TransformMockUtil.java  |   60 +-
 .../pipeline/transforms/execsqlrow/ExecSqlRow.java |  198 +-
 .../fieldschangesequence/FieldsChangeSequence.java |  140 +-
 .../FieldsChangeSequenceData.java                  |    5 -
 .../FieldsChangeSequenceDialog.java                |   16 +-
 .../FieldsChangeSequenceField.java                 |   56 +
 .../FieldsChangeSequenceMeta.java                  |  167 +-
 .../messages/messages_en_US.properties             |   12 +-
 .../messages/messages_fr_FR.properties             |    4 +-
 .../messages/messages_ja_JP.properties             |    4 +-
 .../messages/messages_zh_CN.properties             |    2 +-
 .../FieldsChangeSequenceMetaTest.java              |   33 +-
 .../transforms/filemetadata/FileMetadataMeta.java  |    2 +-
 .../main/samples/transforms/filter-rows-basic.hpl  |  393 +++
 .../samples/transforms/getfilenames-from-field.hpl |  182 +-
 .../getfilenames-read-sample-transform-files.hpl   |  149 +-
 .../transforms/gettablenames/GetTableNames.java    |  387 +--
 .../src/main/samples/transforms/if-null-basic.hpl  |  266 ++
 .../transforms/insertupdate/InsertUpdate.java      |  426 +--
 .../main/samples/transforms/insertupdate-basic.hpl |  215 ++
 .../messages/messages_it_IT.properties             |    2 +-
 .../main/samples/transforms/javafilter-basic.hpl   |  148 +-
 .../{ScriptValuesMod.java => ScriptValues.java}    |   10 +-
 .../javascript/ScriptValuesAddedFunctions.java     | 2736 +++++++++++---------
 ...iptValuesModData.java => ScriptValuesData.java} |    4 +-
 ...sMetaModDialog.java => ScriptValuesDialog.java} |   22 +-
 ...tValuesModDummy.java => ScriptValuesDummy.java} |  196 +-
 ...iptValuesMetaMod.java => ScriptValuesMeta.java} |   30 +-
 ...est.java => ScriptValuesMetaInjectionTest.java} |    4 +-
 ...sMetaModTest.java => ScriptValuesMetaTest.java} |   14 +-
 ...iptValuesModTest.java => ScriptValuesTest.java} |   14 +-
 .../kafka/consumer/KafkaConsumerInputMeta.java     |    2 +-
 .../kafka/producer/KafkaProducerOutputMeta.java    |    2 +-
 .../transforms/mapping/SimpleMappingMeta.java      |    5 -
 .../main/samples/transforms/merge-join-basic.hpl   |  449 ++++
 .../pipeline/transforms/metainject/MetaInject.java |    2 +
 .../transforms/metainject/MetaInjectDialog.java    |   96 +-
 .../transforms/metainject/MetaInjectMeta.java      |   19 +-
 .../metainject/messages/messages_en_US.properties  |   27 +-
 .../metainject/messages/messages_fr_FR.properties  |   20 +-
 .../metainject/messages/messages_it_IT.properties  |   63 +-
 .../metainject/messages/messages_ja_JP.properties  |   23 +-
 .../metainject/messages/messages_ko_KR.properties  |   13 +-
 .../metainject/messages/messages_zh_CN.properties  |   25 +-
 .../metastructure/TransformMetaStructure.java      |   76 +-
 .../TransformMetaStructureDialog.java              |  778 ++++--
 .../metastructure/TransformMetaStructureMeta.java  |  351 ++-
 .../messages/messages_en_US.properties             |   19 +-
 .../messages/messages_it_IT.properties             |   38 +-
 .../monetdbbulkloader/MonetDbBulkLoader.java       |    4 +-
 plugins/transforms/mongodb/pom.xml                 |    2 +-
 plugins/transforms/mqtt/pom.xml                    |   55 -
 .../transforms/mqtt/key/PrivateKeyReader.java      |  480 ----
 .../mqtt/key/SSLSocketFactoryGenerator.java        |   80 -
 .../transforms/mqtt/publisher/MQTTPublisher.java   |  288 ---
 .../mqtt/publisher/MQTTPublisherData.java          |   36 -
 .../mqtt/publisher/MQTTPublisherDialog.java        |  689 -----
 .../mqtt/publisher/MQTTPublisherMeta.java          |  422 ---
 .../transforms/mqtt/subscriber/MQTTSubscriber.java |  327 ---
 .../mqtt/subscriber/MQTTSubscriberData.java        |   35 -
 .../mqtt/subscriber/MQTTSubscriberDialog.java      |  728 ------
 .../mqtt/subscriber/MQTTSubscriberMeta.java        |  452 ----
 .../mqtt/src/main/resources/MQTTPublisherIcon.svg  |  364 ---
 .../mqtt/src/main/resources/MQTTSubscriberIcon.svg |  360 ---
 .../publisher/messages/messages_en_US.properties   |  103 -
 .../publisher/messages/messages_it_IT.properties   |   31 -
 .../subscriber/messages/messages_en_US.properties  |  103 -
 .../mqtt/publisher/MQTTPublisherMetaTest.java      |   61 -
 .../mqtt/subscriber/MQTTSubscriberMetaTest.java    |   61 -
 .../normaliser/messages/messages_fr_FR.properties  |    2 +-
 .../src/main/samples/transforms/null-if-basic.hpl  |  127 +-
 .../main/samples/transforms/number-range-basic.hpl |  243 ++
 plugins/transforms/pgbulkloader/pom.xml            |    2 +-
 .../transforms/pgbulkloader/PGBulkLoader.java      |  363 +--
 .../transforms/pgbulkloader/PGBulkLoaderData.java  |   19 +-
 .../pgbulkloader/PGBulkLoaderDialog.java           |   84 +-
 .../pgbulkloader/PGBulkLoaderMappingMeta.java      |   78 +
 .../transforms/pgbulkloader/PGBulkLoaderMeta.java  |  216 +-
 .../messages/messages_en_US.properties             |   12 +
 .../pgbulkloader/PGBulkLoaderMetaTest.java         |    9 +-
 .../transforms/pgbulkloader/PGBulkLoaderTest.java  |    4 +-
 .../pipelineexecutor/PipelineExecutorMeta.java     |    6 -
 plugins/transforms/pom.xml                         |    2 -
 .../messages/messages_it_IT.properties             |    2 +-
 .../samples/transforms/select-values-basic.hpl     |  358 +++
 .../main/samples/transforms/sort-rows-basic.hpl    |  221 ++
 .../samples/transforms/sort-rows-sorted-merge.hpl  |  262 ++
 .../splitfieldtorows/SplitFieldToRows.java         |  107 +-
 .../splitfieldtorows/SplitFieldToRowsDialog.java   |   23 +-
 .../splitfieldtorows/SplitFieldToRowsMeta.java     |  100 +-
 .../messages/messages_en_US.properties             |   11 +-
 .../messages/messages_it_IT.properties             |   39 +-
 .../splitfieldtorows/SplitFieldToRowsMetaTest.java |    6 +-
 .../splitfieldtorows/SplitFieldToRowsTest.java     |    2 +-
 .../hop/pipeline/transforms/sql/ExecSql.java       |  229 +-
 .../samples/transforms/stream-lookup-basic.hpl     |  234 +-
 .../pipeline/transforms/stringcut/StringCut.java   |  171 +-
 .../transforms/stringcut/StringCutData.java        |   11 +-
 .../transforms/stringcut/StringCutDialog.java      |   36 +-
 .../transforms/stringcut/StringCutField.java       |  112 +
 .../transforms/stringcut/StringCutMeta.java        |  205 +-
 .../stringcut/messages/messages_en_US.properties   |    9 +-
 .../stringcut/messages/messages_it_IT.properties   |   21 +-
 .../transforms/stringcut/StringCutMetaTest.java    |   89 +-
 .../samples/transforms/string-operations-basic.hpl |  269 ++
 .../main/samples/transforms/switch-case-basic.hpl  |  235 +-
 .../SynchronizeAfterMerge.java                     |  882 ++++---
 .../messages/messages_it_IT.properties             |    2 +-
 .../transforms/tableexists/TableExists.java        |  119 +-
 .../transforms/tableexists/TableExistsData.java    |    5 -
 .../transforms/tableexists/TableExistsDialog.java  |   21 +-
 .../transforms/tableexists/TableExistsMeta.java    |  127 +-
 .../tableexists/messages/messages_en_US.properties |    9 +-
 .../tableexists/messages/messages_fr_FR.properties |    7 +-
 .../tableexists/messages/messages_it_IT.properties |   42 +-
 .../tableexists/messages/messages_ja_JP.properties |    5 +-
 .../tableexists/messages/messages_ko_KR.properties |    2 -
 .../tableexists/messages/messages_zh_CN.properties |    4 +-
 .../tableexists/TableExistsMetaTest.java           |    4 +-
 .../pipeline/transforms/tableinput/TableInput.java |    4 +-
 .../transforms/tableinput/TableInputDialog.java    |    5 -
 .../samples/transforms/tableinput-accept-input.hpl |  147 +-
 .../main/samples/transforms/tableinput-basic.hpl   |  127 +-
 .../samples/transforms/tableinput-variables.hpl    |  137 +-
 .../transforms/tableoutput/TableOutput.java        |   83 +-
 .../transforms/tableoutput/TableOutputData.java    |   15 +-
 .../transforms/tableoutput/TableOutputDialog.java  |  149 +-
 .../transforms/tableoutput/TableOutputField.java   |   86 +
 .../transforms/tableoutput/TableOutputMeta.java    |  360 ++-
 .../tableoutput/messages/messages_en_US.properties |   21 +
 .../tableoutput/messages/messages_it_IT.properties |  113 +-
 .../main/samples/metadata/rdbms/hop-samples.json   |   26 +
 .../main/samples/transforms/tableoutput-basic.hpl  |  169 +-
 .../tableoutput/TableOutputMetaLoadSaveTest.java   |  114 -
 .../tableoutput/TableOutputMetaTest.java           |  211 +-
 .../transforms/tableoutput/TableOutputTest.java    |   12 +-
 .../src/main/samples/transforms/csvinput-basic.hpl |  167 +-
 .../main/samples/transforms/csvinput-huge-file.hpl |  167 ++
 .../samples/transforms/textfileinput-basic.hpl     |  232 ++
 .../transforms/textfileoutput-huge-file.hpl        |  240 ++
 .../transforms/textfileoutput-tiny-file.hpl        |  171 +-
 .../tokenreplacement/TokenReplacementMeta.java     |    2 +-
 .../transforms/uniquerows/UniqueField.java         |   72 +
 .../pipeline/transforms/uniquerows/UniqueRows.java |  129 +-
 .../transforms/uniquerows/UniqueRowsData.java      |   23 +-
 .../transforms/uniquerows/UniqueRowsDialog.java    |   75 +-
 .../transforms/uniquerows/UniqueRowsMeta.java      |  153 +-
 .../uniquerows/messages/messages_de_DE.properties  |    4 +-
 .../uniquerows/messages/messages_en_US.properties  |   14 +-
 .../uniquerows/messages/messages_es_AR.properties  |    4 +-
 .../uniquerows/messages/messages_es_ES.properties  |    4 +-
 .../uniquerows/messages/messages_fr_FR.properties  |    6 +-
 .../uniquerows/messages/messages_ja_JP.properties  |    4 +-
 .../uniquerows/messages/messages_zh_CN.properties  |    4 +-
 .../transforms/uniquerows/UniqueRowsMetaTest.java  |   51 +-
 .../hop/pipeline/transforms/update/Update.java     |  463 ++--
 .../main/samples/transforms/value-mapper-basic.hpl |  225 ++
 .../xml/xslt/messages/messages_it_IT.properties    |    2 +-
 .../org/apache/hop/vfs/s3/s3/vfs/S3FileName.java   |    4 +-
 .../org/apache/hop/vfs/s3/s3/vfs/S3FileObject.java |   20 +-
 .../org/apache/hop/vfs/s3/s3a/vfs/S3AFileName.java |    4 +-
 .../vfs/s3/s3common/S3CommonFileInputStream.java   |    4 +-
 .../hop/vfs/s3/s3common/S3CommonFileObject.java    |   23 +-
 .../hop/vfs/s3/s3common/S3CommonFileProvider.java  |   24 +-
 .../hop/vfs/s3/s3common/S3CommonFileSystem.java    |    9 +-
 .../s3common/S3CommonFileSystemConfigBuilder.java  |    8 +-
 .../vfs/s3/s3common/S3CommonPipedOutputStream.java |   40 +-
 .../apache/hop/ui/hopgui/CanvasListenerImpl.java   |   19 +-
 .../main/java/org/apache/hop/ui/hopgui/HopWeb.java |  118 +-
 .../org/apache/hop/ui/hopgui/canvas-dark.js        |  207 ++
 .../org/apache/hop/ui/hopgui/canvas-light.js       |  205 ++
 .../resources/org/apache/hop/ui/hopgui/canvas.js   |  205 --
 .../org/apache/hop/ui/hopgui/dark-mode.css         | 2517 ++++++++++++++++++
 .../org/apache/hop/ui/hopgui/light-mode.css        | 2517 ++++++++++++++++++
 .../hop/ui/core/database/DatabaseMetaEditor.java   |    5 +-
 .../database/dialog/DatabaseExplorerDialog.java    |    8 +-
 .../dialog/GetTableSizeProgressDialog.java         |   12 +-
 .../hop/ui/core/database/dialog/SqlEditor.java     |    7 +-
 .../hop/ui/core/dialog/CheckResultDialog.java      |   18 +-
 .../hop/ui/core/dialog/ConfigurationDialog.java    |   12 +-
 .../apache/hop/ui/core/dialog/ContextDialog.java   |   49 +-
 .../hop/ui/core/dialog/EnterNumberDialog.java      |   18 -
 .../hop/ui/core/dialog/EnterSelectionDialog.java   |   19 +-
 .../ui/core/dialog/MessageDialogWithToggle.java    |   14 -
 .../apache/hop/ui/core/dialog/ShowHelpDialog.java  |    1 -
 .../hop/ui/core/dialog/SqlStatementsDialog.java    |    5 +-
 .../org/apache/hop/ui/core/gui/GuiResource.java    |   22 +-
 .../apache/hop/ui/core/gui/GuiToolbarWidgets.java  |    4 +-
 .../hop/ui/core/metadata/MetadataEditor.java       |    2 +-
 .../hop/ui/core/metadata/MetadataManager.java      |    4 +-
 .../apache/hop/ui/core/vfs/HopVfsFileDialog.java   |  116 +-
 .../hop/ui/core/widget/ControlSpaceKeyAdapter.java |   74 +-
 .../hop/ui/core/widget/MetaSelectionLine.java      |  286 +-
 .../apache/hop/ui/core/widget/StyledTextComp.java  |   29 +-
 .../org/apache/hop/ui/hopgui/HopGuiKeyHandler.java |   86 +-
 .../ui/hopgui/delegates/HopGuiFileDelegate.java    |   10 +-
 .../hopgui/dialog/CheckPipelineProgressDialog.java |    1 +
 .../hopgui/file/pipeline/HopGuiPipelineGraph.java  |   40 +-
 .../hopgui/file/workflow/HopGuiWorkflowGraph.java  |   37 +
 .../perspective/dataorch/HopGuiAbstractGraph.java  |    2 +
 .../perspective/explorer/ExplorerPerspective.java  |    4 +-
 .../org/apache/hop/ui/hopgui/shared/SwtGc.java     |    2 +-
 .../ui/pipeline/dialog/ModPartitionerDialog.java   |    8 +-
 .../ui/pipeline/dialog/PipelineDialogPlugin.java   |    7 -
 .../pipeline/dialog/PipelineDialogPluginType.java  |    5 -
 .../ui/pipeline/transform/BaseTransformDialog.java |    7 +-
 .../java/org/apache/hop/ui/util/HelpUtils.java     |   71 +-
 .../hop/ui/workflow/dialog/WorkflowDialog.java     |    2 +-
 .../ui/workflow/dialog/WorkflowDialogPlugin.java   |    7 -
 .../workflow/dialog/WorkflowDialogPluginType.java  |    5 -
 .../database/messages/messages_it_IT.properties    |   26 +-
 .../ui/core/vfs/messages/messages_en_US.properties |    9 +-
 .../pipeline/messages/messages_en_US.properties    |   16 +-
 .../workflow/messages/messages_en_US.properties    |    5 +
 .../workflow/messages/messages_it_IT.properties    |    2 +-
 .../i18n/editor/messages/messages_en_US.properties |    4 +-
 .../i18n/editor/messages/messages_pt_BR.properties |    5 +
 .../partition/messages/messages_pt_BR.properties   |   33 +
 .../config/messages/messages_en_US.properties      |    2 +
 .../dialog/messages/messages_it_IT.properties      |    3 +-
 .../ui/server/messages/messages_pt_BR.properties   |   17 -
 .../actions/messages/messages_it_IT.properties     |    2 +-
 .../config/messages/messages_en_US.properties      |    6 +-
 .../config/messages/messages_it_IT.properties      |    1 +
 .../dialog/messages/messages_it_IT.properties      |    3 +-
 .../www/service/messages/messages_pt_BR.properties |    9 +-
 ui/src/main/resources/ui/images/zoom-100.svg       |   31 +
 ui/src/main/resources/ui/images/zoom-in.svg        |   25 +
 ui/src/main/resources/ui/images/zoom-out.svg       |   19 +
 770 files changed, 44275 insertions(+), 36000 deletions(-)

diff --cc plugins/engines/beam/pom.xml
index 56f30bd,b8c9e4a..3d8b41a
--- a/plugins/engines/beam/pom.xml
+++ b/plugins/engines/beam/pom.xml
@@@ -106,9 -106,15 +106,15 @@@
      <dependency>
        <groupId>org.apache.hop</groupId>
        <artifactId>hop-transform-rowgenerator</artifactId>
 -      <version>1.0-SNAPSHOT</version>
 +      <version>0.99</version>
      </dependency>
  
+     <dependency>
+       <groupId>commons-codec</groupId>
+       <artifactId>commons-codec</artifactId>
+       <version>1.14</version>
+     </dependency>
+ 
      <!-- The Apache Beam dependencies -->
  
      <dependency>
diff --cc plugins/transforms/mongodb/pom.xml
index 2e250ac,f85cf18..f8ea2b4
--- a/plugins/transforms/mongodb/pom.xml
+++ b/plugins/transforms/mongodb/pom.xml
@@@ -25,10 -25,10 +25,10 @@@
    <parent>
      <groupId>org.apache.hop</groupId>
      <artifactId>hop-plugins-transforms</artifactId>
 -    <version>1.0-SNAPSHOT</version>
 +    <version>0.99</version>
    </parent>
  
-   <artifactId>hop-transforms-mongodb</artifactId>
+   <artifactId>hop-transform-mongodb</artifactId>
    <name>Hop Plugins Transforms MongoDB</name>
    <packaging>jar</packaging>