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 <[email protected]> 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(-)
