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:37 UTC

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

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>