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/06/15 12:54:21 UTC

[incubator-hop] 02/04: 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 097148595ddc54e8fa4c6c630c5df56097566c3a
Merge: eab2233 a7f3a93
Author: Hans Van Akelyen <ha...@gmail.com>
AuthorDate: Tue Jun 15 14:42:40 2021 +0200

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

 assemblies/plugins/dist/pom.xml                    |   26 +-
 .../{transforms/filter => tech/parquet}/pom.xml    |   50 +-
 .../plugins/tech/parquet/src/assembly/assembly.xml |  108 ++
 .../parquet}/src/main/resources/version.xml        |    0
 assemblies/plugins/tech/pom.xml                    |    1 +
 .../transforms/filter/src/assembly/assembly.xml    |   49 -
 assemblies/plugins/transforms/pom.xml              |    1 -
 .../main/java/org/apache/hop/core/Condition.java   |  526 ++++----
 core/src/main/java/org/apache/hop/core/Const.java  |   43 +-
 .../main/java/org/apache/hop/core/IAttributes.java |   27 +-
 ...Aggregation.java => IRunnableWithProgress.java} |   20 +-
 .../java/org/apache/hop/core/jdbc/ThinUtil.java    |  685 ----------
 .../java/org/apache/hop/core/sql/IifFunction.java  |  161 ---
 .../src/main/java/org/apache/hop/core/sql/Sql.java |  353 -----
 .../java/org/apache/hop/core/sql/SqlCondition.java |  647 ---------
 .../java/org/apache/hop/core/sql/SqlField.java     |  447 -------
 .../java/org/apache/hop/core/sql/SqlFields.java    |  265 ----
 .../java/org/apache/hop/core/sql/SqlLimit.java     |   89 --
 .../main/java/org/apache/hop/core/xml/IXml.java    |   10 +-
 .../java/org/apache/hop/core/xml/XmlHandler.java   |   28 +
 .../java/org/apache/hop/core/jdbc/SqlTest.java     |  136 --
 .../org/apache/hop/core/jdbc/ThinUtilTest.java     |  371 ------
 .../org/apache/hop/core/sql/IifFunctionTest.java   |   73 --
 .../org/apache/hop/core/sql/SqlConditionTest.java  | 1385 --------------------
 .../java/org/apache/hop/core/sql/SqlFieldTest.java |  561 --------
 .../org/apache/hop/core/sql/SqlFieldsTest.java     |  210 ---
 .../org/apache/hop/core/sql/SqlFieldsUnitTest.java |  128 --
 .../test/java/org/apache/hop/core/sql/SqlTest.java |  687 ----------
 docker/integration-tests/Dockerfile.unit-tests     |   57 +-
 .../integration-tests/integration-tests-base.yaml  |    2 +-
 .../integration-tests-cassandra.yaml               |    2 +-
 .../integration-tests-database.yaml                |    2 +-
 .../integration-tests/integration-tests-mongo.yaml |    2 +-
 .../integration-tests/integration-tests-neo4j.yaml |    2 +-
 docs/hop-user-manual/modules/ROOT/nav.adoc         |   13 +-
 .../pages/getting-started/hop-what-is-hop.adoc     |    2 +-
 .../modules/ROOT/pages/pipeline/transforms.adoc    |  199 ++-
 .../pipeline/transforms/parquet-file-input.adoc    |   56 +
 .../pipeline/transforms/parquet-file-output.adoc   |   97 ++
 .../pages/snippets/hop-concepts/environment.adoc   |    2 +-
 .../org/apache/hop/IExecutionConfiguration.java    |   21 +-
 .../main/java/org/apache/hop/base/BaseHopMeta.java |   31 +-
 .../main/java/org/apache/hop/core/IEngineMeta.java |   40 +-
 .../main/java/org/apache/hop/core/NotePadMeta.java |  364 +++--
 .../org/apache/hop/pipeline/ModPartitioner.java    |   67 +-
 .../apache/hop/pipeline/PipelineConfiguration.java |   66 +-
 .../pipeline/PipelineExecutionConfiguration.java   |    3 +-
 .../org/apache/hop/pipeline/PipelineHopMeta.java   |  103 +-
 .../java/org/apache/hop/pipeline/PipelineMeta.java |  140 +-
 .../engines/remote/RemotePipelineEngine.java       |    2 +-
 .../hop/pipeline/transform/TransformErrorMeta.java |  314 ++---
 .../hop/pipeline/transform/TransformMeta.java      |  516 ++++----
 .../transform/TransformPartitioningMeta.java       |  221 ++--
 .../java/org/apache/hop/resource/ResourceUtil.java |    2 +-
 .../main/java/org/apache/hop/server/HopServer.java | 1081 ++++++++-------
 .../apache/hop/workflow/WorkflowConfiguration.java |   68 +-
 .../workflow/WorkflowExecutionConfiguration.java   |    2 +-
 .../org/apache/hop/workflow/WorkflowHopMeta.java   |  141 +-
 .../java/org/apache/hop/workflow/WorkflowMeta.java |   16 +-
 .../org/apache/hop/workflow/action/ActionMeta.java |   21 +-
 .../org/apache/hop/workflow/action/IAction.java    |  307 +++--
 .../engines/remote/RemoteWorkflowEngine.java       |    5 +-
 .../java/org/apache/hop/www/HopServerConfig.java   |  328 +++--
 engine/src/main/resources/hop-variables.xml        |   83 +-
 .../java/org/apache/hop/base/AbstractMetaTest.java |  535 ++++----
 .../hop/pipeline/PartitionerLoadSaveTester.java    |   45 +-
 .../hop/pipeline/transform/TransformMetaTest.java  |  113 +-
 .../validator/ConditionLoadSaveValidator.java      |   23 +-
 .../ael/adapters/trans-meta-converter-parent.hpl   |   18 +
 .../ael/adapters/trans-meta-converter-sub.hpl      |   18 +
 .../hop/pipeline/ael/websocket/get-and-log.hpl     |   18 +
 .../pipeline/ael/websocket/grid-to-subtrans.hpl    |   18 +
 .../org/apache/hop/pipeline/one-step-pipeline.hpl  |   18 +
 .../hop/pipeline/subpipeline-executor-parent.hpl   |   18 +
 .../hop/pipeline/subpipeline-executor-sub.hpl      |   18 +
 .../pipeline/transforms/rowgenerator/safe-stop.hpl |   18 +
 integration-tests/actions/0001-abort.hwf           |   18 +
 integration-tests/actions/main-0001-abort.hwf      |   18 +
 .../actions/main-0002-add-result-filenames.hwf     |   18 +
 integration-tests/actions/project-config.json      |    7 +
 integration-tests/asf-header.txt                   |   16 +
 integration-tests/cassandra/hop-config.json        |  294 +----
 .../cassandra-input-validation.hpl                 |   18 +
 .../cassandra-output-to-table.hpl                  |   18 +
 .../main-cassandra-input-output.hwf                |   18 +
 .../tests/shared/validate-tests-in-folder.hpl      |   18 +
 integration-tests/database/0006-delete.hpl         |   18 +
 ...006-insert-table-output-no-field-definition.hpl |   18 +
 .../database/0006-insert-table-output.hpl          |   18 +
 .../database/0006-insert-update-update.hpl         |   18 +
 integration-tests/database/0006-insert.hpl         |   18 +
 integration-tests/database/0006-update.hpl         |   18 +
 .../database/0007-database-lookup-empty-result.hpl |   18 +
 .../database/0007-database-lookup-should-fail.hpl  |   18 +
 .../database/0007-database-lookup.hpl              |   18 +
 .../database/0008-table-input-with-parameter.hpl   |   18 +
 .../database/0008-table-input-with-variable.hpl    |   18 +
 integration-tests/database/0008-table-input.hpl    |   18 +
 .../database/0009-database-join-normal.hpl         |   18 +
 .../database/0009-database-join-outer.hpl          |   18 +
 .../database/0009-database-join-parameter.hpl      |   18 +
 .../database/0010-execute-sql-row.hpl              |   18 +
 .../database/0011-combination-lookup-update.hpl    |   18 +
 .../database/0012-dimension-lookup-update.hpl      |   18 +
 .../database/0013-synchronize-after-merge.hpl      |   18 +
 integration-tests/database/hop-config.json         |  294 +----
 .../database/main-0001-database-connection.hwf     |   18 +
 .../database/main-0002-copy-driver-for-generic.hwf |   18 +
 .../main-0003-database-connection-generic.hwf      |   18 +
 .../database/main-0004-execute-sql-script.hwf      |   18 +
 .../database/main-0005-check-table.hwf             |   18 +
 .../database/main-0006-insert-update-delete.hwf    |   18 +
 .../database/main-0007-input-lookup.hwf            |   18 +
 .../database/main-0008-table-input.hwf             |   18 +
 .../database/main-0009-database-join.hwf           |   18 +
 .../database/main-0010-execute-sql-row.hwf         |   18 +
 .../main-0011-combination-lookup-update.hwf        |   18 +
 .../database/main-0012-dimension-lookup-update.hwf |   18 +
 .../database/main-0013-synchronize-after-merge.hwf |   18 +
 integration-tests/header-env-conf.json             |    9 +
 integration-tests/mdi/0001-calculator-child.hpl    |   18 +
 integration-tests/mdi/0001-calculator-parent.hpl   |   18 +
 integration-tests/mdi/0002-abort-child.hpl         |   18 +
 integration-tests/mdi/0002-abort-parent.hpl        |   18 +
 integration-tests/mdi/0003-add-sequence-child.hpl  |   18 +
 integration-tests/mdi/0003-add-sequence-parent.hpl |   18 +
 integration-tests/mdi/0004-csv-input-child.hpl     |   18 +
 integration-tests/mdi/0004-csv-input-parent.hpl    |   18 +
 integration-tests/mdi/0005-merge-join-child.hpl    |   18 +
 integration-tests/mdi/0005-merge-join-parent.hpl   |   18 +
 integration-tests/mdi/0006-filter-child.hpl        |   18 +
 integration-tests/mdi/0006-filter-parent.hpl       |   18 +
 integration-tests/mdi/0007-add-checksum-child.hpl  |   18 +
 integration-tests/mdi/0007-add-checksum-parent.hpl |   18 +
 .../mdi/0008-analytic-query-child.hpl              |   18 +
 .../mdi/0008-analytic-query-parent.hpl             |   18 +
 integration-tests/mdi/0009-coalesce-child.hpl      |   18 +
 integration-tests/mdi/0009-coalesce-parent.hpl     |   18 +
 .../mdi/0010-database-lookup-child.hpl             |   18 +
 .../mdi/0010-database-lookup-parent.hpl            |   18 +
 .../mdi/0010-database-lookup-populate.hpl          |   18 +
 integration-tests/mdi/hop-config.json              |    5 +
 integration-tests/mdi/main-0001-calculator.hwf     |   18 +
 integration-tests/mdi/main-0002-abort.hwf          |   18 +
 integration-tests/mdi/main-0003-add-sequence.hwf   |   18 +
 integration-tests/mdi/main-0004-csv-input.hwf      |   18 +
 integration-tests/mdi/main-0005-merge-join.hwf     |   18 +
 integration-tests/mdi/main-0006-filter.hwf         |   18 +
 integration-tests/mdi/main-0007-add-checksum.hwf   |   18 +
 integration-tests/mdi/main-0008-analytic-query.hwf |   18 +
 integration-tests/mdi/main-0009-coalesce.hwf       |   18 +
 .../mdi/main-0010-database-lookup.hwf              |   18 +
 integration-tests/mongo/hop-config.json            |  524 ++++----
 .../mongo/tests/mongo-insert/main-mongo-insert.hwf |   18 +
 .../mongo-insert/mongo-insert-in-collection.hpl    |   18 +
 .../tests/mongo-insert/mongo-insert-validation.hpl |   18 +
 .../mongo/tests/mongo-update/main-mongo-update.hwf |   18 +
 .../mongo-update/mongo-insert-in-collection.hpl    |   18 +
 .../tests/mongo-update/mongo-update-collection.hpl |   18 +
 .../tests/mongo-update/mongo-update-validation.hpl |   18 +
 .../tests/shared/validate-tests-in-folder.hpl      |   18 +
 integration-tests/neo4j/hop-config.json            |  524 ++++----
 .../main-neo4j-cypher-returns.hwf                  |   18 +
 .../neo4j-cypher-create-nodes.hpl                  |   18 +
 .../neo4j-cypher-no-returns-validation.hpl         |   18 +
 .../neo4j-cypher-returns-validation.hpl            |   18 +
 .../main-neo4j-cypher-unwind.hwf                   |   18 +
 .../neo4j-cypher-unwind-create-nodes.hpl           |   18 +
 .../neo4j-cypher-unwind-create-read-validation.hpl |   18 +
 .../neo4j-cypher-unwind-nodes-validation.hpl       |   18 +
 .../neo4j-cypher-update-nodes.hpl                  |   20 +-
 .../neo4j/tests/neo4j-cypher/main-neo4j-cypher.hwf |   18 +
 .../neo4j-cypher/neo4j-cypher-create-nodes.hpl     |   18 +
 .../neo4j-cypher-create-relationships.hpl          |   20 +-
 .../neo4j-cypher-customers-validation.hpl          |   18 +
 .../neo4j-cypher-relationships-validation.hpl      |   18 +
 .../neo4j-cypher-states-validation.hpl             |   18 +
 .../neo4j-cypher/neo4j-cypher-update-nodes.hpl     |   20 +-
 .../neo4j-graph-output/main-neo4j-graph-output.hwf |   18 +
 .../neo4j-graph-output-build.hpl                   |   18 +
 .../neo4j-graph-output-validation.hpl              |   18 +
 ...main-neo4j-output-create-nodes-relationship.hwf |   18 +
 ...output-create-nodes-relationship-validation.hpl |   18 +
 .../neo4j-output-create-nodes-relationship.hpl     |   20 +-
 .../main-neo4j-output-create-nodes.hwf             |   18 +
 .../neo4j-output-create-nodes-validation.hpl       |   18 +
 .../neo4j-output-create-nodes.hpl                  |   18 +
 .../main-neo4j-output-dynamic-labels.hwf           |   18 +
 .../neo4j-output-dynamic-labels-load-data.hpl      |   20 +-
 .../neo4j-output-dynamic-labels-simple-case.hpl    |   20 +-
 ...o4j-output-dynamic-labels-simple-validation.hpl |   18 +
 .../neo4j-output-dynamic-labels-validation.hpl     |   18 +
 .../main-neo4j-output-merge-nodes.hwf              |   18 +
 .../neo4j-output-create-nodes.hpl                  |   20 +-
 .../neo4j-output-merge-nodes-validation.hpl        |   18 +
 .../neo4j-output-merge-nodes.hpl                   |   20 +-
 .../neo4j/tests/shared/cleanup-database.hwf        |   18 +
 .../remove-everything/drop all constraints.hpl     |   18 +
 .../shared/remove-everything/drop all indexes.hpl  |   18 +
 .../remove-everything/remove all in database.hwf   |   18 +
 .../shared/remove-everything/remove all nodes.hpl  |   18 +
 .../remove-everything/remove all relationships.hpl |   18 +
 .../remove-everything/rename labels in blocks.hpl  |   20 +-
 .../parameters_and_variables/00005-mapping.hpl     |   18 +
 .../parameters_and_variables/0001-get-variable.hpl |   18 +
 .../parameters_and_variables/0001-set-variable.hpl |   18 +
 .../parameters_and_variables/0002-pipeline.hpl     |   18 +
 .../parameters_and_variables/0002-workflow.hwf     |   18 +
 .../0003-child-pipeline.hpl                        |   18 +
 .../0003-pipeline-parent.hpl                       |   18 +
 .../0004-check-variable.hpl                        |   18 +
 .../0004-check-variables.hwf                       |   18 +
 .../0005-main-pipeline.hpl                         |   18 +
 .../0006-check-variables.hpl                       |   18 +
 .../0006-check-variables.hwf                       |   18 +
 .../0007-internal-pipeline-variables.hpl           |   18 +
 .../0007-internal-variables.hwf                    |   18 +
 .../parameters_and_variables/0008-copyRows.hwf     |   18 +
 .../parameters_and_variables/0008-copyRowsTest.hpl |   18 +
 .../0009-getConnectionValues.hpl                   |   18 +
 .../0009-writeConnectionValues.hpl                 |   18 +
 .../0010-run-env-check-test.hpl                    |   18 +
 .../parameters_and_variables/hop-config.json       |  524 ++++----
 .../main-0001-workflow-set-get-variable.hwf        |   18 +
 .../main-0002-pipeline-workflow-executor.hwf       |   18 +
 .../main-0003-pipeline-pipeline-executor.hwf       |   18 +
 .../main-0004-pass-variables-and-parameters.hwf    |   18 +
 .../main-0005-mappings.hwf                         |   18 +
 .../main-0006-not-passing-parameters.hwf           |   18 +
 .../main-0007-internal-variables.hwf               |   18 +
 .../main-0008-copy-to-params.hwf                   |   18 +
 .../main-0009-empty-variable-test.hwf              |   18 +
 .../main-0010-test-environment-variables.hwf       |   18 +
 .../parameters_and_variables/run-all.hwf           |   18 +
 .../partitioning/0001-static-partitioning.hpl      |   18 +
 .../partitioning/0002-dynamic-partitioning.hpl     |   18 +
 .../partitioning/0003-repartitioning.hpl           |   18 +
 .../partitioning/0004-copies-repartitioning.hpl    |   18 +
 .../0005-non-partitioned-stream-lookup.hpl         |   18 +
 .../0005-partitioned-stream-lookup.hpl             |   18 +
 ...-partitioned-when-stream-lookup-should-fail.hpl |   18 +
 ...partitioned-when-stream-lookup-should-fail2.hpl |   18 +
 integration-tests/partitioning/hop-config.json     |  524 ++++----
 .../partitioning/main-0001-static-partitioning.hwf |   18 +
 .../main-0002-dynamic-partitioning.hwf             |   18 +
 .../partitioning/main-0003-repartitioning.hwf      |   18 +
 .../main-0004-copies-repartitioning.hwf            |   18 +
 .../main-0005-partitioned-stream-lookup.hwf        |   18 +
 ...-partitioned-when-stream-lookup-should-fail.hwf |   18 +
 ...-partitioned-when-stream-lookup-should-fail.hwf |   18 +
 integration-tests/scripting/0003-udjc-simple.hpl   |   18 +
 .../0004-udjc-render-all-transforms-in-svg.hpl     |   18 +
 .../0005-udjc-render-all-actions-in-svg.hpl        |   18 +
 integration-tests/scripting/hop-config.json        |  524 ++++----
 ...main-0004-udjc-render-all-transforms-in-svg.hwf |   18 +
 ...al_main-0005-udjc-render-all-actions-in-svg.hwf |   18 +
 .../scripting/main-0001-shell-action.hwf           |   18 +
 .../main-0002-shell-action-remote-script.hwf       |   18 +
 .../scripting/main-0003-udjc-simple.hwf            |   18 +
 integration-tests/scripts/run-tests-docker.sh      |    6 +-
 .../0001-sort-order-ascending-case-sensitive.hpl   |   18 +
 .../0002-sort-order-ascending-case-insensitive.hpl |   18 +
 integration-tests/sort_and_unique/hop-config.json  |  524 ++++----
 ...in-0001-sort-order-ascending-case-sensitive.hwf |   18 +
 ...-0002-sort-order-ascending-case-insensitive.hwf |   18 +
 integration-tests/spreadsheet/0003-write-xlsx.hpl  |   18 +
 integration-tests/spreadsheet/00100-excelinput.hpl |   20 +-
 integration-tests/spreadsheet/00200-xls-input.hpl  |   18 +
 integration-tests/spreadsheet/00200-xls-loop.hpl   |   18 +
 integration-tests/spreadsheet/hop-config.json      |  524 ++++----
 .../spreadsheet/main-0003-excelwriter.hwf          |   18 +
 .../spreadsheet/main-00100-excelinput.hwf          |   20 +-
 .../spreadsheet/main-00200-xls-file-loop.hwf       |   18 +
 .../transforms/0001-add-sequence-copies.hpl        |   18 +
 .../transforms/0001-add-sequence-single.hpl        |   18 +
 .../transforms/0002-repeating-work.hpl             |   18 +
 integration-tests/transforms/0002-test-case.hpl    |   18 +
 .../transforms/0003-field-splitter-enclosure.hpl   |   18 +
 .../0003-field-splitter-escape-string.hpl          |   18 +
 .../transforms/0003-field-splitter-using-ids.hpl   |   18 +
 .../transforms/0004-concat-fields.hpl              |   18 +
 ...ncat-fields.hpl => 0004-concat-some-fields.hpl} |   57 +-
 .../transforms/0005-metastructure.hpl              |   18 +
 .../transforms/0006-groupby-all-rows.hpl           |   18 +
 .../transforms/0006-groupby-basics.hpl             |   18 +
 .../transforms/0006-groupby-no-group.hpl           |   18 +
 .../transforms/0007-analytic-query-no-group.hpl    |   18 +
 .../transforms/0007-analytic-query-with-group.hpl  |   18 +
 integration-tests/transforms/0008-append.hpl       |   18 +
 .../transforms/0009-blocking-transform.hpl         |   18 +
 .../0010-blocking-until-transforms-finish.hpl      |   18 +
 .../transforms/0011-calculator-basics.hpl          |   18 +
 .../transforms/0011-calculator-dates.hpl           |   18 +
 integration-tests/transforms/0012-fuzzymatch.hpl   |   18 +
 .../transforms/0013-row-generator.hpl              |   18 +
 .../transforms/0014-merge-join-double-fields.hpl   |   18 +
 integration-tests/transforms/0014-merge-join.hpl   |   18 +
 integration-tests/transforms/0015-add-checksum.hpl |   18 +
 .../transforms/0016-coalesce-fields.hpl            |   18 +
 .../transforms/0017-database-lookup-populate.hpl   |   18 +
 .../transforms/0017-database-lookup.hpl            |   18 +
 .../transforms/0018-avro-file-input.hpl            |   18 +
 .../transforms/0019-split-field-to-rows-basic.hpl  |   18 +
 .../0020-row-normaliser-multiple-targets.hpl       |   18 +
 .../0020-row-normaliser-single-target.hpl          |   18 +
 .../transforms/0021-row-denormaliser.hpl           |   18 +
 .../transforms/0022-stream-lookup.hpl              |   18 +
 integration-tests/transforms/0023-number-range.hpl |   18 +
 integration-tests/transforms/0023-number-range.hwf |   18 +
 .../transforms/0024-if-null-all-fields.hpl         |   18 +
 .../transforms/0024-if-null-by-type.hpl            |   18 +
 .../transforms/0024-if-null-specific-fields.hpl    |   18 +
 .../transforms/0025-null-if-basic.hpl              |   18 +
 .../transforms/0026-replace-in-string.hpl          |   18 +
 .../transforms/0027-switch-case-basic.hpl          |   18 +
 .../transforms/0028-set-field-value.hpl            |   18 +
 .../transforms/0029-parquet-input.hpl              |  210 +++
 ...0012-fuzzymatch.hpl => 0029-parquet-output.hpl} |  226 ++--
 .../datasets/golden-concat-some-fields.csv         |  101 ++
 .../transforms/datasets/golden-parquet-input.csv   |  101 ++
 integration-tests/transforms/hop-config.json       |  524 ++++----
 .../transforms/main-0001-add-sequence.hwf          |   18 +
 .../main-0002-pipeline-executor-test.hwf           |   18 +
 .../transforms/main-0003-field-splitter.hwf        |   18 +
 .../transforms/main-0004-concat-fields.hwf         |   25 +-
 .../transforms/main-0005-metastructure.hwf         |   18 +
 integration-tests/transforms/main-0006-groupby.hwf |   18 +
 .../transforms/main-0007-analytic-query.hwf        |   18 +
 integration-tests/transforms/main-0008-append.hwf  |   18 +
 .../transforms/main-0009-blocking-transform.hwf    |   18 +
 .../main-0010-blocking-until-transforms-finish.hwf |   18 +
 .../transforms/main-0011-calculator.hwf            |   18 +
 .../transforms/main-0012-fuzzymatch.hwf            |   18 +
 .../transforms/main-0013-row-generator.hwf         |   18 +
 .../transforms/main-0014-merge-join.hwf            |   18 +
 .../transforms/main-0015-add-checksum.hwf          |   18 +
 .../transforms/main-0016-coalesce-fields.hwf       |   18 +
 .../transforms/main-0017-database-lookup.hwf       |   18 +
 .../transforms/main-0018-avro-file-input.hwf       |   18 +
 .../transforms/main-0019-split-field-to-rows.hwf   |   18 +
 .../transforms/main-0020-row-normaliser.hwf        |   18 +
 .../transforms/main-0021-row-denormaliser.hwf      |   18 +
 .../transforms/main-0022-stream-lookup.hwf         |   18 +
 .../transforms/main-0023-number-range.hwf          |   20 +-
 integration-tests/transforms/main-0024-if-null.hwf |   18 +
 integration-tests/transforms/main-0025-null-if.hwf |   18 +
 .../transforms/main-0026-replace-in-string.hwf     |   18 +
 .../transforms/main-0027-switch-case.hwf           |   18 +
 .../transforms/main-0028-set-field-value.hwf       |   18 +
 .../main-0029-parquet.hwf}                         |   56 +-
 .../dataset/golden-concat-some-fields.json         |   24 +
 .../metadata/dataset/golden-parquet-input.json     |   88 ++
 .../unit-test/0004-concat-some-fields UNIT.json    |   28 +
 .../unit-test/0029-parquet-input UNIT.json         |   64 +
 integration-tests/transforms/run-all.hpl           |   18 +
 integration-tests/transforms/run-workflow.hwf      |   18 +
 integration-tests/xml/0001-xml-join-test.hpl       |   18 +
 integration-tests/xml/hop-config.json              |  524 ++++----
 integration-tests/xml/main-0001-xml-join-test.hwf  |   20 +-
 .../actions/as400command/ActionAs400Command.java   |   10 +-
 .../ActionCheckDbConnections.java                  |   26 +-
 .../checkfilelocked/ActionCheckFilesLocked.java    |   24 +-
 .../actions/columnsexist/ActionColumnsExist.java   |   27 +-
 .../actions/copyfiles/ActionCopyFiles.java         |   62 +-
 .../ActionCopyMoveResultFilenames.java             |   48 +-
 .../actions/createfile/ActionCreateFile.java       |   17 +-
 .../actions/createfolder/ActionCreateFolder.java   |   14 +-
 .../main/resources/demo/repeat-sample1-work.hpl    |   18 +
 .../src/main/resources/demo/repeat-sample1.hwf     |   18 +
 .../main/resources/demo/repeat-sample2-work.hwf    |   18 +
 .../src/main/resources/demo/repeat-sample2.hwf     |   18 +
 .../org/apache/hop/beam/gui/HopBeamGuiPlugin.java  |   14 +-
 .../src/main/samples/beam/pipelines/complex.hpl    |   18 +
 .../beam/pipelines/generate-synthetic-data.hpl     |   18 +
 .../beam/pipelines/input-process-output.hpl        |   18 +
 .../main/samples/beam/pipelines/switch-case.hpl    |   18 +
 .../beam/pipelines/unbounded-synthetic-data.hpl    |   18 +
 .../samples/beam/pipelines/write-to-bigtable.hpl   |   18 +
 .../beam/workflows/input-process-output.hwf        |   18 +
 .../apache/hop/git/dialog/DeleteBranchDialog.java  |   98 --
 .../apache/hop/git/dialog/MergeBranchDialog.java   |  109 --
 .../hop/git/dialog/UsernamePasswordDialog.java     |   76 --
 .../main/java/org/apache/hop/git/model/UIGit.java  |   82 +-
 .../main/java/org/apache/hop/git/model/VCS.java    |   27 +-
 plugins/misc/git/src/test/resources/r1.hpl         |   18 +
 plugins/misc/git/src/test/resources/r1.hwf         |   18 +
 plugins/misc/git/src/test/resources/r2.hpl         |   18 +
 plugins/misc/git/src/test/resources/r2.hwf         |   18 +
 .../apache/hop/imports/kettle/KettleImport.java    |  764 ++++++-----
 .../apache/hop/projects/gui/ProjectsGuiPlugin.java |    8 +-
 .../hop/projects/xp/HopImportMigratedFiles.java    |    9 +-
 ...PipelineMetaPriorToExecutionExtensionPoint.java |   80 +-
 .../hop/testing/xp/PipelineMetaModifier.java       |    3 +-
 plugins/tech/parquet/pom.xml                       |  123 ++
 .../hop/parquet/transforms/input/ParquetField.java |  163 +++
 .../hop/parquet/transforms/input/ParquetInput.java |  107 ++
 .../parquet/transforms/input/ParquetInputData.java |   23 +-
 .../transforms/input/ParquetInputDialog.java       |  346 +++++
 .../parquet/transforms/input/ParquetInputMeta.java |  125 ++
 .../transforms/input/ParquetInputStream.java       |  150 +++
 .../transforms/input/ParquetReadSupport.java       |   64 +
 .../transforms/input/ParquetReaderBuilder.java     |   52 +
 .../input/ParquetRecordMaterializer.java           |   74 ++
 .../transforms/input/ParquetRowConverter.java      |   81 ++
 .../parquet/transforms/input/ParquetStream.java    |   74 ++
 .../transforms/input/ParquetValueConverter.java    |  144 ++
 .../parquet/transforms/output/ParquetField.java    |   67 +
 .../parquet/transforms/output/ParquetOutput.java   |  231 ++++
 .../transforms/output/ParquetOutputData.java}      |   43 +-
 .../transforms/output/ParquetOutputDialog.java     |  537 ++++++++
 .../transforms/output/ParquetOutputFile.java       |   48 +-
 .../transforms/output/ParquetOutputMeta.java       |  347 +++++
 .../transforms/output/ParquetOutputStream.java     |   64 +
 .../parquet/transforms/output/ParquetVersion.java  |   78 ++
 .../transforms/output/ParquetWriteSupport.java     |  102 ++
 .../transforms/output/ParquetWriterBuilder.java    |   56 +
 .../input/messages/messages_en_US.properties       |   28 +
 .../output/messages/messages_en_US.properties      |   37 +
 .../tech/parquet/src/main/resources/parquet.svg    |   38 +
 .../parquet/src/main/resources/parquet_input.svg   |   41 +
 .../parquet/src/main/resources/parquet_output.svg  |   40 +
 plugins/tech/pom.xml                               |    1 +
 .../samples/transforms/add-sequence-cyclic-id.hpl  |   18 +
 .../samples/transforms/add-sequence-unique-id.hpl  |   18 +
 .../analyticquery/AnalyticQueryMetaTest.java       |    5 +-
 .../src/test/resources/transform1.hpl              |   55 -
 .../src/test/resources/transform1.snippet          |   55 +
 .../src/test/resources/transform2.hpl              |   12 -
 .../src/test/resources/transform2.snippet          |   12 +
 .../samples/transforms/append-streams-basic.hpl    |   18 +
 .../block-until-transforms-finish-basic.hpl        |   18 +
 .../main/samples/transforms/calculator-basic.hpl   |   18 +
 .../samples/transforms/add-a-checksum-CRC32.hpl    |   18 +
 .../samples/transforms/add-a-checksum-SHA-512.hpl  |   18 +
 .../main/samples/transforms/clone-row-basic.hpl    |   18 +
 .../closure-generate-calculate-distance.hpl        |   18 +
 .../transforms/concatfields/ConcatFields.java      |    4 +-
 .../databaselookup/DatabaseLookupMetaTest.java     |    2 +-
 .../src/test/resources/transform1.hpl              |   29 -
 .../src/test/resources/transform1.snippet          |   29 +
 .../main/samples/transforms/delay-row-basic.hpl    |   18 +
 .../fake-data-generate-person-record.hpl           |   18 +
 .../main/samples/transforms/split-fields-basic.hpl |   18 +
 plugins/transforms/filter/pom.xml                  |   35 -
 .../hop/pipeline/transforms/filter/Filter.java     |  166 ---
 .../pipeline/transforms/filter/FilterDialog.java   |  227 ----
 .../hop/pipeline/transforms/filter/FilterMeta.java |  345 -----
 .../filter/src/main/resources/filter.svg           |   26 -
 .../filter/messages/messages_de_DE.properties      |   39 -
 .../filter/messages/messages_en_US.properties      |   47 -
 .../filter/messages/messages_es_AR.properties      |   45 -
 .../filter/messages/messages_es_ES.properties      |   39 -
 .../filter/messages/messages_fr_FR.properties      |   45 -
 .../filter/messages/messages_it_IT.properties      |   43 -
 .../filter/messages/messages_ja_JP.properties      |   45 -
 .../filter/messages/messages_ko_KR.properties      |   32 -
 .../filter/messages/messages_zh_CN.properties      |   73 --
 .../transforms/filter/FilterMetaInjectionTest.java |   43 -
 .../pipeline/transforms/filter/FilterMetaTest.java |   80 --
 .../samples/transforms/fuzzy-match-soundex.hpl     |   18 +
 .../transforms/group-by-median-and-percentile.hpl  |   18 +
 .../apache/hop/pipeline/transforms/ifnull/v4.hpl   |   18 +
 .../apache/hop/pipeline/transforms/ifnull/v5.hpl   |   18 +
 .../pipeline/transforms/joinrows/JoinRowsMeta.java |   20 +-
 .../json-output-generate-nested-structure.hpl      |   18 +
 .../transforms/ldapoutput/LdapOutputDialog.java    |   17 +-
 .../samples/transforms/simple-mapping-child.hpl    |   18 +
 .../samples/transforms/simple-mapping-parent.hpl   |   18 +
 .../pipeline/transforms/metainject/MetaInject.java |    4 +-
 plugins/transforms/pom.xml                         |    1 -
 .../src/test/resources/propertyOutput.hpl          |   18 +
 .../pipeline/transforms/rowgenerator/safe-stop.hpl |   18 +
 .../transforms/sasinput/SasInputField.java         |    9 +-
 .../selectvalues/SelectMetadataChange.java         |  361 +++--
 .../transforms/selectvalues/SelectValuesMeta.java  |  802 ++++++------
 .../samples/transforms/get-system-info-basic.hpl   |   18 +
 .../fileinput/TextFileCSVImportProgressDialog.java |  600 +++++----
 .../text/TextFileCSVImportProgressDialog.java      |  592 +++++----
 .../main/samples/transforms/unique-rows-basic.hpl  |   18 +
 .../samples/transforms/workflow-executor-basic.hpl |   18 +
 .../samples/transforms/workflow-executor-child.hwf |   18 +
 .../getxmldata/LoopNodesImportProgressDialog.java  |  214 +--
 .../XmlInputFieldsImportProgressDialog.java        |  343 ++---
 .../transforms/xml/PipelineTestFactory.java        |  203 +--
 .../transforms/xml/getxmldata/GetXMLDataTest.java  |  409 +++---
 .../xml/xmlinputstream/XmlInputStreamMetaTest.java |   46 -
 .../transforms/xml/xmloutput/XmlOutputTest.java    |  140 +-
 .../hop/pipeline/transforms/xml/xslt/XsltTest.java |  282 ++--
 .../XMLInputStream_TestMultipleFiles.expected.txt  |   27 -
 .../XMLInputStream_TestMultipleFiles.hpl           |  413 ------
 .../XMLInputStream_TestMultipleFiles.input1.xml    |   26 -
 .../XMLInputStream_TestMultipleFiles.input2.xml    |   26 -
 .../XMLInputStream_TestSingleFile.expected.txt     |   14 -
 .../XMLInputStream_TestSingleFile.hpl              |  344 -----
 .../XMLInputStream_TestSingleFile.input.xml        |   26 -
 .../src/main/samples/transforms/zip-file-basic.hpl |   18 +
 pom.xml                                            |    3 +-
 .../org/eclipse/jface/window/DefaultToolTip.java   |   43 -
 .../java/org/eclipse/jface/window/ToolTip.java     |   81 --
 .../apache/hop/core/ProgressMonitorAdapter.java    |   23 +-
 .../dialog/GetDatabaseInfoProgressDialog.java      |   59 +-
 .../dialog/GetPreviewTableProgressDialog.java      |  129 +-
 .../dialog/GetQueryFieldsProgressDialog.java       |  107 +-
 .../dialog/GetTableSizeProgressDialog.java         |  131 +-
 .../hop/ui/core/dialog/EnterStringDialog.java      |   20 +
 .../hop/ui/core/dialog/ProgressMonitorDialog.java  |  295 +++++
 .../org/apache/hop/ui/core/gui/WindowProperty.java |   30 +-
 .../apache/hop/ui/core/widget/CheckBoxToolTip.java |  265 ----
 .../apache/hop/ui/core/widget/ConditionEditor.java |    5 +-
 .../hop/ui/core/widget/ControlSpaceKeyAdapter.java |   19 +-
 .../hop/ui/core/widget/TreeToolTipSupport.java     |   48 -
 .../hopgui/dialog/AnalyseImpactProgressDialog.java |   77 +-
 .../hopgui/dialog/CheckPipelineProgressDialog.java |  135 +-
 .../hop/ui/hopgui/dialog/GetSqlProgressDialog.java |   66 +-
 .../dialog/GetWorkflowSqlProgressDialog.java       |   77 +-
 .../hopgui/dialog/SearchFieldsProgressDialog.java  |   89 +-
 .../hopgui/file/pipeline/HopGuiPipelineGraph.java  |   83 +-
 .../delegates/HopGuiPipelineClipboardDelegate.java |    1 +
 .../hopgui/file/workflow/HopGuiWorkflowGraph.java  |   65 +-
 .../delegates/HopGuiWorkflowClipboardDelegate.java |    3 +
 .../perspective/dataorch/HopGuiAbstractGraph.java  |   11 +
 .../perspective/explorer/ExplorerPerspective.java  |  121 +-
 .../perspective/metadata/MetadataPerspective.java  |   58 +-
 .../dialog/PipelinePreviewProgressDialog.java      |  241 ++--
 .../core/dialog/messages/messages_en_US.properties |    5 +-
 525 files changed, 19644 insertions(+), 17904 deletions(-)