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

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


The following commit(s) were added to refs/heads/master by this push:
     new b2f3c33  HOP-2122: add first integration tests (#445)
b2f3c33 is described below

commit b2f3c33c17b2df718ab3514809a2bac4a51ac674
Author: Hans Van Akelyen <[email protected]>
AuthorDate: Mon Dec 7 14:14:37 2020 +0100

    HOP-2122: add first integration tests (#445)
---
 .../main.hwf                                       |  97 +++---
 .../metadata/pipeline-run-configuration/local.json |   2 +-
 .../metadata/workflow-run-configuration/local.json |   0
 .../project-config.json                            |   2 +-
 .../HOP-2135_test_shell_step/shell-test.bat        |   4 +
 .../HOP-2135_test_shell_step/shell-test.sh         |   5 +
 .../main.hwf                                       |  38 +-
 .../metadata/pipeline-run-configuration/local.json |   0
 .../metadata/workflow-run-configuration/local.json |   0
 .../project-config.json                            |   2 +-
 .../testcase.hpl}                                  |  80 ++---
 .../main.hwf                                       |  68 ++--
 .../metadata/pipeline-run-configuration/local.json |   0
 .../metadata/workflow-run-configuration/local.json |   0
 .../project-config.json                            |   2 +-
 .../repeating-work.hpl}                            |  65 ++--
 .../HOP-2199_test_pipeline_executor/test-case.hpl  | 139 ++++++++
 .../copyRows.hwf}                                  |  75 ++--
 .../copyRowsTest.hpl}                              |  84 +++--
 .../main.hwf                                       |  71 ++--
 .../metadata/pipeline-run-configuration/local.json |   0
 .../metadata/workflow-run-configuration/local.json |   0
 .../project-config.json                            |   2 +-
 .../getConnectionValues.hpl                        | 386 +++++++++++++++++++++
 .../main.hwf                                       | 107 ++++--
 .../metadata/pipeline-run-configuration/local.json |   0
 .../metadata/workflow-run-configuration/local.json |   0
 .../project-config.json                            |   2 +-
 .../HOP-2214_test_empty_variables/tenantconfig.txt |   1 +
 .../writeConnectionValues.hpl                      | 325 +++++++++++++++++
 30 files changed, 1222 insertions(+), 335 deletions(-)

diff --git a/integration-tests/HOP-2212/main.hwf 
b/integration-tests/HOP-2135_test_shell_step/main.hwf
similarity index 53%
copy from integration-tests/HOP-2212/main.hwf
copy to integration-tests/HOP-2135_test_shell_step/main.hwf
index f3a59c2..cd641f3 100644
--- a/integration-tests/HOP-2212/main.hwf
+++ b/integration-tests/HOP-2135_test_shell_step/main.hwf
@@ -1,14 +1,14 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <workflow>
-  <name>main</name>
+  <name>hop-2135</name>
   <name_sync_with_filename>Y</name_sync_with_filename>
   <description/>
   <extended_description/>
   <workflow_version/>
   <created_user>-</created_user>
-  <created_date>2020/12/05 14:11:58.724</created_date>
+  <created_date>2020/11/12 12:08:00.618</created_date>
   <modified_user>-</modified_user>
-  <modified_date>2020/12/05 14:11:58.724</modified_date>
+  <modified_date>2020/11/12 12:08:00.618</modified_date>
   <parameters>
     </parameters>
   <pass_batchid>N</pass_batchid>
@@ -30,91 +30,84 @@
       <DayOfMonth>1</DayOfMonth>
       <parallel>N</parallel>
       <nr>0</nr>
-      <xloc>327</xloc>
-      <yloc>139</yloc>
+      <xloc>96</xloc>
+      <yloc>160</yloc>
       <attributes_hac/>
     </action>
     <action>
-      <name>Pipeline</name>
+      <name>shell-test.sh</name>
       <description/>
-      <type>PIPELINE</type>
+      <type>SHELL</type>
       <attributes/>
-      <filename>${PROJECT_HOME}/main.hpl</filename>
-      <params_from_previous>N</params_from_previous>
+      <filename>${PROJECT_HOME}/shell-test.sh</filename>
+      <work_directory>${PROJECT_HOME}</work_directory>
+      <arg_from_previous>N</arg_from_previous>
       <exec_per_row>N</exec_per_row>
-      <clear_rows>N</clear_rows>
-      <clear_files>N</clear_files>
       <set_logfile>N</set_logfile>
       <logfile/>
+      <set_append_logfile>N</set_append_logfile>
       <logext/>
       <add_date>N</add_date>
       <add_time>N</add_time>
+      <insertScript>Y</insertScript>
+      <script>#!/bin/bash
+
+echo "This is a test"
+echo PROJECT_HOME=${PROJECT_HOME}
+</script>
       <loglevel>Basic</loglevel>
-      <set_append_logfile>N</set_append_logfile>
-      <wait_until_finished>Y</wait_until_finished>
-      <follow_abort_remote>N</follow_abort_remote>
-      <create_parent_folder>N</create_parent_folder>
-      <run_configuration>local</run_configuration>
-      <parameters>
-        <pass_all_parameters>Y</pass_all_parameters>
-      </parameters>
       <parallel>N</parallel>
       <nr>0</nr>
-      <xloc>517</xloc>
-      <yloc>140</yloc>
+      <xloc>320</xloc>
+      <yloc>112</yloc>
       <attributes_hac/>
     </action>
     <action>
-      <name>Success</name>
+      <name>shell-test.bat</name>
       <description/>
-      <type>SUCCESS</type>
+      <type>SHELL</type>
       <attributes/>
+      <filename>${PROJECT_HOME}/shell-test.bat</filename>
+      <work_directory>${PROJECT_HOME}</work_directory>
+      <arg_from_previous>N</arg_from_previous>
+      <exec_per_row>N</exec_per_row>
+      <set_logfile>N</set_logfile>
+      <logfile/>
+      <set_append_logfile>N</set_append_logfile>
+      <logext/>
+      <add_date>N</add_date>
+      <add_time>N</add_time>
+      <insertScript>Y</insertScript>
+      <script>
+echo "This is a test"
+echo PROJECT_HOME=%%PROJECT_HOME%%
+</script>
+      <loglevel>Basic</loglevel>
       <parallel>N</parallel>
       <nr>0</nr>
-      <xloc>744</xloc>
-      <yloc>138</yloc>
-      <attributes_hac/>
-    </action>
-    <action>
-      <name>Abort workflow</name>
-      <description/>
-      <type>ABORT</type>
-      <attributes/>
-      <message/>
-      <parallel>N</parallel>
-      <nr>0</nr>
-      <xloc>512</xloc>
-      <yloc>256</yloc>
+      <xloc>320</xloc>
+      <yloc>224</yloc>
       <attributes_hac/>
     </action>
   </actions>
   <hops>
     <hop>
       <from>START</from>
-      <to>Pipeline</to>
+      <to>shell-test.sh</to>
       <from_nr>0</from_nr>
       <to_nr>0</to_nr>
-      <enabled>Y</enabled>
+      <enabled>N</enabled>
       <evaluation>Y</evaluation>
       <unconditional>Y</unconditional>
     </hop>
     <hop>
-      <from>Pipeline</from>
-      <to>Success</to>
+      <from>START</from>
+      <to>shell-test.bat</to>
       <from_nr>0</from_nr>
       <to_nr>0</to_nr>
       <enabled>Y</enabled>
       <evaluation>Y</evaluation>
-      <unconditional>N</unconditional>
-    </hop>
-    <hop>
-      <from>Pipeline</from>
-      <to>Abort workflow</to>
-      <from_nr>0</from_nr>
-      <to_nr>0</to_nr>
-      <enabled>Y</enabled>
-      <evaluation>N</evaluation>
-      <unconditional>N</unconditional>
+      <unconditional>Y</unconditional>
     </hop>
   </hops>
   <notepads>
diff --git 
a/integration-tests/HOP-2212/metadata/pipeline-run-configuration/local.json 
b/integration-tests/HOP-2135_test_shell_step/metadata/pipeline-run-configuration/local.json
similarity index 91%
copy from 
integration-tests/HOP-2212/metadata/pipeline-run-configuration/local.json
copy to 
integration-tests/HOP-2135_test_shell_step/metadata/pipeline-run-configuration/local.json
index f1b301f..5867a2f 100644
--- a/integration-tests/HOP-2212/metadata/pipeline-run-configuration/local.json
+++ 
b/integration-tests/HOP-2135_test_shell_step/metadata/pipeline-run-configuration/local.json
@@ -3,7 +3,7 @@
     "Local": {
       "feedback_size": "50000",
       "sample_size": "100",
-      "sample_type_in_gui": "Last",
+      "sample_type_in_gui": "First",
       "rowset_size": "10000",
       "safe_mode": false,
       "show_feedback": false,
diff --git 
a/integration-tests/HOP-2212/metadata/workflow-run-configuration/local.json 
b/integration-tests/HOP-2135_test_shell_step/metadata/workflow-run-configuration/local.json
similarity index 100%
copy from 
integration-tests/HOP-2212/metadata/workflow-run-configuration/local.json
copy to 
integration-tests/HOP-2135_test_shell_step/metadata/workflow-run-configuration/local.json
diff --git a/integration-tests/HOP-2212/project-config.json 
b/integration-tests/HOP-2135_test_shell_step/project-config.json
similarity index 76%
copy from integration-tests/HOP-2212/project-config.json
copy to integration-tests/HOP-2135_test_shell_step/project-config.json
index 4b92204..f8d4595 100644
--- a/integration-tests/HOP-2212/project-config.json
+++ b/integration-tests/HOP-2135_test_shell_step/project-config.json
@@ -1,5 +1,5 @@
 {
-  "metadataBaseFolder" : "${PROJECT_HOME}/metadata/",
+  "metadataBaseFolder" : "${PROJECT_HOME}/metadata",
   "unitTestsBasePath" : "${PROJECT_HOME}",
   "dataSetsCsvFolder" : "${PROJECT_HOME}/datasets",
   "enforcingExecutionInHome" : true,
diff --git a/integration-tests/HOP-2135_test_shell_step/shell-test.bat 
b/integration-tests/HOP-2135_test_shell_step/shell-test.bat
new file mode 100644
index 0000000..01029e2
--- /dev/null
+++ b/integration-tests/HOP-2135_test_shell_step/shell-test.bat
@@ -0,0 +1,4 @@
+
+echo This is a test
+echo PROJECT_HOME=%%PROJECT_HOME%%
+
diff --git a/integration-tests/HOP-2135_test_shell_step/shell-test.sh 
b/integration-tests/HOP-2135_test_shell_step/shell-test.sh
new file mode 100755
index 0000000..e5c70eb
--- /dev/null
+++ b/integration-tests/HOP-2135_test_shell_step/shell-test.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+echo "This is a test"
+echo PROJECT_HOME=${PROJECT_HOME}
+
diff --git a/integration-tests/HOP-2212/main.hwf 
b/integration-tests/HOP-2173_test_SingletonUtil_getValuesList/main.hwf
similarity index 85%
copy from integration-tests/HOP-2212/main.hwf
copy to integration-tests/HOP-2173_test_SingletonUtil_getValuesList/main.hwf
index f3a59c2..1ad8578 100644
--- a/integration-tests/HOP-2212/main.hwf
+++ b/integration-tests/HOP-2173_test_SingletonUtil_getValuesList/main.hwf
@@ -6,9 +6,9 @@
   <extended_description/>
   <workflow_version/>
   <created_user>-</created_user>
-  <created_date>2020/12/05 14:11:58.724</created_date>
+  <created_date>2020/12/07 13:00:01.606</created_date>
   <modified_user>-</modified_user>
-  <modified_date>2020/12/05 14:11:58.724</modified_date>
+  <modified_date>2020/12/07 13:00:01.607</modified_date>
   <parameters>
     </parameters>
   <pass_batchid>N</pass_batchid>
@@ -30,16 +30,16 @@
       <DayOfMonth>1</DayOfMonth>
       <parallel>N</parallel>
       <nr>0</nr>
-      <xloc>327</xloc>
-      <yloc>139</yloc>
+      <xloc>240</xloc>
+      <yloc>128</yloc>
       <attributes_hac/>
     </action>
     <action>
-      <name>Pipeline</name>
+      <name>testcase</name>
       <description/>
       <type>PIPELINE</type>
       <attributes/>
-      <filename>${PROJECT_HOME}/main.hpl</filename>
+      <filename>${PROJECT_HOME}/testcase.hpl</filename>
       <params_from_previous>N</params_from_previous>
       <exec_per_row>N</exec_per_row>
       <clear_rows>N</clear_rows>
@@ -60,8 +60,8 @@
       </parameters>
       <parallel>N</parallel>
       <nr>0</nr>
-      <xloc>517</xloc>
-      <yloc>140</yloc>
+      <xloc>419</xloc>
+      <yloc>128</yloc>
       <attributes_hac/>
     </action>
     <action>
@@ -71,8 +71,8 @@
       <attributes/>
       <parallel>N</parallel>
       <nr>0</nr>
-      <xloc>744</xloc>
-      <yloc>138</yloc>
+      <xloc>551</xloc>
+      <yloc>128</yloc>
       <attributes_hac/>
     </action>
     <action>
@@ -83,15 +83,15 @@
       <message/>
       <parallel>N</parallel>
       <nr>0</nr>
-      <xloc>512</xloc>
-      <yloc>256</yloc>
+      <xloc>419</xloc>
+      <yloc>261</yloc>
       <attributes_hac/>
     </action>
   </actions>
   <hops>
     <hop>
       <from>START</from>
-      <to>Pipeline</to>
+      <to>testcase</to>
       <from_nr>0</from_nr>
       <to_nr>0</to_nr>
       <enabled>Y</enabled>
@@ -99,21 +99,21 @@
       <unconditional>Y</unconditional>
     </hop>
     <hop>
-      <from>Pipeline</from>
-      <to>Success</to>
+      <from>testcase</from>
+      <to>Abort workflow</to>
       <from_nr>0</from_nr>
       <to_nr>0</to_nr>
       <enabled>Y</enabled>
-      <evaluation>Y</evaluation>
+      <evaluation>N</evaluation>
       <unconditional>N</unconditional>
     </hop>
     <hop>
-      <from>Pipeline</from>
-      <to>Abort workflow</to>
+      <from>testcase</from>
+      <to>Success</to>
       <from_nr>0</from_nr>
       <to_nr>0</to_nr>
       <enabled>Y</enabled>
-      <evaluation>N</evaluation>
+      <evaluation>Y</evaluation>
       <unconditional>N</unconditional>
     </hop>
   </hops>
diff --git 
a/integration-tests/HOP-2212/metadata/pipeline-run-configuration/local.json 
b/integration-tests/HOP-2173_test_SingletonUtil_getValuesList/metadata/pipeline-run-configuration/local.json
similarity index 100%
copy from 
integration-tests/HOP-2212/metadata/pipeline-run-configuration/local.json
copy to 
integration-tests/HOP-2173_test_SingletonUtil_getValuesList/metadata/pipeline-run-configuration/local.json
diff --git 
a/integration-tests/HOP-2212/metadata/workflow-run-configuration/local.json 
b/integration-tests/HOP-2173_test_SingletonUtil_getValuesList/metadata/workflow-run-configuration/local.json
similarity index 100%
copy from 
integration-tests/HOP-2212/metadata/workflow-run-configuration/local.json
copy to 
integration-tests/HOP-2173_test_SingletonUtil_getValuesList/metadata/workflow-run-configuration/local.json
diff --git a/integration-tests/HOP-2212/project-config.json 
b/integration-tests/HOP-2173_test_SingletonUtil_getValuesList/project-config.json
similarity index 76%
copy from integration-tests/HOP-2212/project-config.json
copy to 
integration-tests/HOP-2173_test_SingletonUtil_getValuesList/project-config.json
index 4b92204..f8d4595 100644
--- a/integration-tests/HOP-2212/project-config.json
+++ 
b/integration-tests/HOP-2173_test_SingletonUtil_getValuesList/project-config.json
@@ -1,5 +1,5 @@
 {
-  "metadataBaseFolder" : "${PROJECT_HOME}/metadata/",
+  "metadataBaseFolder" : "${PROJECT_HOME}/metadata",
   "unitTestsBasePath" : "${PROJECT_HOME}",
   "dataSetsCsvFolder" : "${PROJECT_HOME}/datasets",
   "enforcingExecutionInHome" : true,
diff --git a/integration-tests/HOP-2212/main.hpl 
b/integration-tests/HOP-2173_test_SingletonUtil_getValuesList/testcase.hpl
similarity index 59%
copy from integration-tests/HOP-2212/main.hpl
copy to integration-tests/HOP-2173_test_SingletonUtil_getValuesList/testcase.hpl
index cb56d9e..7072995 100644
--- a/integration-tests/HOP-2212/main.hpl
+++ b/integration-tests/HOP-2173_test_SingletonUtil_getValuesList/testcase.hpl
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <pipeline>
   <info>
-    <name>main</name>
+    <name>testcase</name>
     <name_sync_with_filename>Y</name_sync_with_filename>
     <description/>
     <extended_description/>
@@ -13,9 +13,9 @@
     
<transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
     
<transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
     <created_user>-</created_user>
-    <created_date>2020/11/20 10:13:03.510</created_date>
+    <created_date>2020/11/13 19:33:28.093</created_date>
     <modified_user>-</modified_user>
-    <modified_date>2020/11/20 10:13:03.510</modified_date>
+    <modified_date>2020/11/13 19:33:28.093</modified_date>
     <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key>
     <is_key_private>N</is_key_private>
   </info>
@@ -23,35 +23,13 @@
   </notepads>
   <order>
     <hop>
-      <from>Generate rows</from>
-      <to>Dummy (do nothing)</to>
-      <enabled>Y</enabled>
-    </hop>
-    <hop>
-      <from>Dummy (do nothing)</from>
-      <to>Abort</to>
+      <from>1 row</from>
+      <to>JavaScript</to>
       <enabled>Y</enabled>
     </hop>
   </order>
   <transform>
-    <name>Dummy (do nothing)</name>
-    <type>Dummy</type>
-    <description/>
-    <distribute>Y</distribute>
-    <custom_distribution/>
-    <copies>1</copies>
-    <partitioning>
-      <method>none</method>
-      <schema_name/>
-    </partitioning>
-    <attributes/>
-    <GUI>
-      <xloc>443</xloc>
-      <yloc>162</yloc>
-    </GUI>
-  </transform>
-  <transform>
-    <name>Generate rows</name>
+    <name>1 row</name>
     <type>RowGenerator</type>
     <description/>
     <distribute>Y</distribute>
@@ -63,20 +41,20 @@
     </partitioning>
     <fields>
     </fields>
-    <limit>10</limit>
+    <limit>1</limit>
     <never_ending>N</never_ending>
     <interval_in_ms>5000</interval_in_ms>
     <row_time_field>now</row_time_field>
     <last_time_field>FiveSecondsAgo</last_time_field>
     <attributes/>
     <GUI>
-      <xloc>229</xloc>
-      <yloc>162</yloc>
+      <xloc>192</xloc>
+      <yloc>96</yloc>
     </GUI>
   </transform>
   <transform>
-    <name>Abort</name>
-    <type>Abort</type>
+    <name>JavaScript</name>
+    <type>ScriptValueMod</type>
     <description/>
     <distribute>Y</distribute>
     <custom_distribution/>
@@ -85,14 +63,38 @@
       <method>none</method>
       <schema_name/>
     </partitioning>
-    <row_threshold>0</row_threshold>
-    <message/>
-    <always_log_rows>Y</always_log_rows>
-    <abort_option>ABORT_WITH_ERROR</abort_option>
+    <optimizationLevel>9</optimizationLevel>
+    <jsScripts>
+      <jsScript>
+        <jsScript_type>0</jsScript_type>
+        <jsScript_name>Script 1</jsScript_name>
+        <jsScript_script>
+var namesList = org.apache.hop.core.util.SingletonUtil.getValuesList(
+  "org.apache.hop.projects.gui.ProjectsGuiPlugin",
+  "org.apache.hop.projects.config.ProjectsConfigSingleton",
+  "listProjectNames"
+  );
+
+var nrProjects = namesList.size();
+
+
+</jsScript_script>
+      </jsScript>
+    </jsScripts>
+    <fields>
+      <field>
+        <name>nrProjects</name>
+        <rename>nrProjects</rename>
+        <type>Integer</type>
+        <length>-1</length>
+        <precision>-1</precision>
+        <replace>N</replace>
+      </field>
+    </fields>
     <attributes/>
     <GUI>
-      <xloc>584</xloc>
-      <yloc>162</yloc>
+      <xloc>352</xloc>
+      <yloc>96</yloc>
     </GUI>
   </transform>
   <transform_error_handling>
diff --git a/integration-tests/HOP-2212/main.hwf 
b/integration-tests/HOP-2199_test_pipeline_executor/main.hwf
similarity index 85%
copy from integration-tests/HOP-2212/main.hwf
copy to integration-tests/HOP-2199_test_pipeline_executor/main.hwf
index f3a59c2..69d9936 100644
--- a/integration-tests/HOP-2212/main.hwf
+++ b/integration-tests/HOP-2199_test_pipeline_executor/main.hwf
@@ -6,9 +6,9 @@
   <extended_description/>
   <workflow_version/>
   <created_user>-</created_user>
-  <created_date>2020/12/05 14:11:58.724</created_date>
+  <created_date>2020/12/07 13:03:35.562</created_date>
   <modified_user>-</modified_user>
-  <modified_date>2020/12/05 14:11:58.724</modified_date>
+  <modified_date>2020/12/07 13:03:35.562</modified_date>
   <parameters>
     </parameters>
   <pass_batchid>N</pass_batchid>
@@ -30,16 +30,39 @@
       <DayOfMonth>1</DayOfMonth>
       <parallel>N</parallel>
       <nr>0</nr>
-      <xloc>327</xloc>
-      <yloc>139</yloc>
+      <xloc>165</xloc>
+      <yloc>98</yloc>
       <attributes_hac/>
     </action>
     <action>
-      <name>Pipeline</name>
+      <name>Success</name>
+      <description/>
+      <type>SUCCESS</type>
+      <attributes/>
+      <parallel>N</parallel>
+      <nr>0</nr>
+      <xloc>497</xloc>
+      <yloc>98</yloc>
+      <attributes_hac/>
+    </action>
+    <action>
+      <name>Abort workflow</name>
+      <description/>
+      <type>ABORT</type>
+      <attributes/>
+      <message/>
+      <parallel>N</parallel>
+      <nr>0</nr>
+      <xloc>325</xloc>
+      <yloc>216</yloc>
+      <attributes_hac/>
+    </action>
+    <action>
+      <name>testcase</name>
       <description/>
       <type>PIPELINE</type>
       <attributes/>
-      <filename>${PROJECT_HOME}/main.hpl</filename>
+      <filename>${PROJECT_HOME}/test-case.hpl</filename>
       <params_from_previous>N</params_from_previous>
       <exec_per_row>N</exec_per_row>
       <clear_rows>N</clear_rows>
@@ -60,38 +83,15 @@
       </parameters>
       <parallel>N</parallel>
       <nr>0</nr>
-      <xloc>517</xloc>
-      <yloc>140</yloc>
-      <attributes_hac/>
-    </action>
-    <action>
-      <name>Success</name>
-      <description/>
-      <type>SUCCESS</type>
-      <attributes/>
-      <parallel>N</parallel>
-      <nr>0</nr>
-      <xloc>744</xloc>
-      <yloc>138</yloc>
-      <attributes_hac/>
-    </action>
-    <action>
-      <name>Abort workflow</name>
-      <description/>
-      <type>ABORT</type>
-      <attributes/>
-      <message/>
-      <parallel>N</parallel>
-      <nr>0</nr>
-      <xloc>512</xloc>
-      <yloc>256</yloc>
+      <xloc>325</xloc>
+      <yloc>98</yloc>
       <attributes_hac/>
     </action>
   </actions>
   <hops>
     <hop>
       <from>START</from>
-      <to>Pipeline</to>
+      <to>testcase</to>
       <from_nr>0</from_nr>
       <to_nr>0</to_nr>
       <enabled>Y</enabled>
@@ -99,7 +99,7 @@
       <unconditional>Y</unconditional>
     </hop>
     <hop>
-      <from>Pipeline</from>
+      <from>testcase</from>
       <to>Success</to>
       <from_nr>0</from_nr>
       <to_nr>0</to_nr>
@@ -108,7 +108,7 @@
       <unconditional>N</unconditional>
     </hop>
     <hop>
-      <from>Pipeline</from>
+      <from>testcase</from>
       <to>Abort workflow</to>
       <from_nr>0</from_nr>
       <to_nr>0</to_nr>
diff --git 
a/integration-tests/HOP-2212/metadata/pipeline-run-configuration/local.json 
b/integration-tests/HOP-2199_test_pipeline_executor/metadata/pipeline-run-configuration/local.json
similarity index 100%
copy from 
integration-tests/HOP-2212/metadata/pipeline-run-configuration/local.json
copy to 
integration-tests/HOP-2199_test_pipeline_executor/metadata/pipeline-run-configuration/local.json
diff --git 
a/integration-tests/HOP-2212/metadata/workflow-run-configuration/local.json 
b/integration-tests/HOP-2199_test_pipeline_executor/metadata/workflow-run-configuration/local.json
similarity index 100%
copy from 
integration-tests/HOP-2212/metadata/workflow-run-configuration/local.json
copy to 
integration-tests/HOP-2199_test_pipeline_executor/metadata/workflow-run-configuration/local.json
diff --git a/integration-tests/HOP-2212/project-config.json 
b/integration-tests/HOP-2199_test_pipeline_executor/project-config.json
similarity index 76%
copy from integration-tests/HOP-2212/project-config.json
copy to integration-tests/HOP-2199_test_pipeline_executor/project-config.json
index 4b92204..f8d4595 100644
--- a/integration-tests/HOP-2212/project-config.json
+++ b/integration-tests/HOP-2199_test_pipeline_executor/project-config.json
@@ -1,5 +1,5 @@
 {
-  "metadataBaseFolder" : "${PROJECT_HOME}/metadata/",
+  "metadataBaseFolder" : "${PROJECT_HOME}/metadata",
   "unitTestsBasePath" : "${PROJECT_HOME}",
   "dataSetsCsvFolder" : "${PROJECT_HOME}/datasets",
   "enforcingExecutionInHome" : true,
diff --git a/integration-tests/HOP-2212/main.hpl 
b/integration-tests/HOP-2199_test_pipeline_executor/repeating-work.hpl
similarity index 61%
copy from integration-tests/HOP-2212/main.hpl
copy to integration-tests/HOP-2199_test_pipeline_executor/repeating-work.hpl
index cb56d9e..e0d61bc 100644
--- a/integration-tests/HOP-2212/main.hpl
+++ b/integration-tests/HOP-2199_test_pipeline_executor/repeating-work.hpl
@@ -1,21 +1,27 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <pipeline>
   <info>
-    <name>main</name>
+    <name>repeating-work</name>
     <name_sync_with_filename>Y</name_sync_with_filename>
     <description/>
     <extended_description/>
     <pipeline_version/>
     <pipeline_type>Normal</pipeline_type>
+    <pipeline_status>0</pipeline_status>
     <parameters>
+      <parameter>
+        <name>NUMBER</name>
+        <default_value/>
+        <description>Just a number to log</description>
+      </parameter>
     </parameters>
     <capture_transform_performance>N</capture_transform_performance>
     
<transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
     
<transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
     <created_user>-</created_user>
-    <created_date>2020/11/20 10:13:03.510</created_date>
+    <created_date>2020/11/18 15:21:29.944</created_date>
     <modified_user>-</modified_user>
-    <modified_date>2020/11/20 10:13:03.510</modified_date>
+    <modified_date>2020/11/18 15:21:29.944</modified_date>
     <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key>
     <is_key_private>N</is_key_private>
   </info>
@@ -23,35 +29,13 @@
   </notepads>
   <order>
     <hop>
-      <from>Generate rows</from>
-      <to>Dummy (do nothing)</to>
-      <enabled>Y</enabled>
-    </hop>
-    <hop>
-      <from>Dummy (do nothing)</from>
-      <to>Abort</to>
+      <from>1 row</from>
+      <to>Write ${NUMBER} to the log</to>
       <enabled>Y</enabled>
     </hop>
   </order>
   <transform>
-    <name>Dummy (do nothing)</name>
-    <type>Dummy</type>
-    <description/>
-    <distribute>Y</distribute>
-    <custom_distribution/>
-    <copies>1</copies>
-    <partitioning>
-      <method>none</method>
-      <schema_name/>
-    </partitioning>
-    <attributes/>
-    <GUI>
-      <xloc>443</xloc>
-      <yloc>162</yloc>
-    </GUI>
-  </transform>
-  <transform>
-    <name>Generate rows</name>
+    <name>1 row</name>
     <type>RowGenerator</type>
     <description/>
     <distribute>Y</distribute>
@@ -63,20 +47,20 @@
     </partitioning>
     <fields>
     </fields>
-    <limit>10</limit>
+    <limit>1</limit>
     <never_ending>N</never_ending>
     <interval_in_ms>5000</interval_in_ms>
     <row_time_field>now</row_time_field>
     <last_time_field>FiveSecondsAgo</last_time_field>
     <attributes/>
     <GUI>
-      <xloc>229</xloc>
-      <yloc>162</yloc>
+      <xloc>160</xloc>
+      <yloc>96</yloc>
     </GUI>
   </transform>
   <transform>
-    <name>Abort</name>
-    <type>Abort</type>
+    <name>Write ${NUMBER} to the log</name>
+    <type>WriteToLog</type>
     <description/>
     <distribute>Y</distribute>
     <custom_distribution/>
@@ -85,14 +69,17 @@
       <method>none</method>
       <schema_name/>
     </partitioning>
-    <row_threshold>0</row_threshold>
-    <message/>
-    <always_log_rows>Y</always_log_rows>
-    <abort_option>ABORT_WITH_ERROR</abort_option>
+    <loglevel>log_level_basic</loglevel>
+    <displayHeader>Y</displayHeader>
+    <limitRows>N</limitRows>
+    <limitRowsNumber>0</limitRowsNumber>
+    <logmessage>NUMBER = ${NUMBER}</logmessage>
+    <fields>
+      </fields>
     <attributes/>
     <GUI>
-      <xloc>584</xloc>
-      <yloc>162</yloc>
+      <xloc>320</xloc>
+      <yloc>96</yloc>
     </GUI>
   </transform>
   <transform_error_handling>
diff --git a/integration-tests/HOP-2199_test_pipeline_executor/test-case.hpl 
b/integration-tests/HOP-2199_test_pipeline_executor/test-case.hpl
new file mode 100644
index 0000000..e06d199
--- /dev/null
+++ b/integration-tests/HOP-2199_test_pipeline_executor/test-case.hpl
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pipeline>
+  <info>
+    <name>test-case</name>
+    <name_sync_with_filename>Y</name_sync_with_filename>
+    <description/>
+    <extended_description/>
+    <pipeline_version/>
+    <pipeline_type>Normal</pipeline_type>
+    <parameters>
+    </parameters>
+    <capture_transform_performance>N</capture_transform_performance>
+    
<transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
+    
<transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
+    <created_user>-</created_user>
+    <created_date>2020/11/18 15:20:34.388</created_date>
+    <modified_user>-</modified_user>
+    <modified_date>2020/11/18 15:20:34.388</modified_date>
+    <key_for_session_key/>
+    <is_key_private>N</is_key_private>
+  </info>
+  <notepads>
+  </notepads>
+  <order>
+    <hop>
+      <from>5 rows</from>
+      <to>nr</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>nr</from>
+      <to>repeating-work.hpl</to>
+      <enabled>Y</enabled>
+    </hop>
+  </order>
+  <transform>
+    <name>5 rows</name>
+    <type>RowGenerator</type>
+    <description/>
+    <distribute>Y</distribute>
+    <custom_distribution/>
+    <copies>1</copies>
+    <partitioning>
+      <method>none</method>
+      <schema_name/>
+    </partitioning>
+    <fields>
+    </fields>
+    <limit>5</limit>
+    <never_ending>N</never_ending>
+    <interval_in_ms>5000</interval_in_ms>
+    <row_time_field>now</row_time_field>
+    <last_time_field>FiveSecondsAgo</last_time_field>
+    <attributes/>
+    <GUI>
+      <xloc>112</xloc>
+      <yloc>112</yloc>
+    </GUI>
+  </transform>
+  <transform>
+    <name>repeating-work.hpl</name>
+    <type>PipelineExecutor</type>
+    <description/>
+    <distribute>Y</distribute>
+    <custom_distribution/>
+    <copies>1</copies>
+    <partitioning>
+      <method>none</method>
+      <schema_name/>
+    </partitioning>
+    <run_configuration>local</run_configuration>
+    <filename>${PROJECT_HOME}/repeating-work.hpl</filename>
+    <group_size>1</group_size>
+    <group_field/>
+    <group_time/>
+    <parameters>
+      <variable_mapping>
+        <variable>NUMBER</variable>
+        <field>nr</field>
+        <input>Just a number to log</input>
+      </variable_mapping>
+      <inherit_all_vars>Y</inherit_all_vars>
+    </parameters>
+    <execution_result_target_transform/>
+    <execution_time_field>ExecutionTime</execution_time_field>
+    <execution_result_field>ExecutionResult</execution_result_field>
+    <execution_errors_field>ExecutionNrErrors</execution_errors_field>
+    <execution_lines_read_field>ExecutionLinesRead</execution_lines_read_field>
+    
<execution_lines_written_field>ExecutionLinesWritten</execution_lines_written_field>
+    
<execution_lines_input_field>ExecutionLinesInput</execution_lines_input_field>
+    
<execution_lines_output_field>ExecutionLinesOutput</execution_lines_output_field>
+    
<execution_lines_rejected_field>ExecutionLinesRejected</execution_lines_rejected_field>
+    
<execution_lines_updated_field>ExecutionLinesUpdated</execution_lines_updated_field>
+    
<execution_lines_deleted_field>ExecutionLinesDeleted</execution_lines_deleted_field>
+    
<execution_files_retrieved_field>ExecutionFilesRetrieved</execution_files_retrieved_field>
+    
<execution_exit_status_field>ExecutionExitStatus</execution_exit_status_field>
+    <execution_log_text_field>ExecutionLogText</execution_log_text_field>
+    
<execution_log_channelid_field>ExecutionLogChannelId</execution_log_channelid_field>
+    <result_rows_target_transform/>
+    <result_files_target_transform/>
+    <result_files_file_name_field>FileName</result_files_file_name_field>
+    <executors_output_transform/>
+    <attributes/>
+    <GUI>
+      <xloc>352</xloc>
+      <yloc>112</yloc>
+    </GUI>
+  </transform>
+  <transform>
+    <name>nr</name>
+    <type>Sequence</type>
+    <description/>
+    <distribute>Y</distribute>
+    <custom_distribution/>
+    <copies>1</copies>
+    <partitioning>
+      <method>none</method>
+      <schema_name/>
+    </partitioning>
+    <valuename>nr</valuename>
+    <use_database>N</use_database>
+    <connection/>
+    <schema/>
+    <seqname>SEQ_</seqname>
+    <use_counter>Y</use_counter>
+    <counter_name/>
+    <start_at>1</start_at>
+    <increment_by>1</increment_by>
+    <max_value>999999999</max_value>
+    <attributes/>
+    <GUI>
+      <xloc>240</xloc>
+      <yloc>112</yloc>
+    </GUI>
+  </transform>
+  <transform_error_handling>
+  </transform_error_handling>
+  <attributes/>
+</pipeline>
diff --git a/integration-tests/HOP-2212/main.hwf 
b/integration-tests/HOP-2202_test_copy_result_to_params/copyRows.hwf
similarity index 51%
copy from integration-tests/HOP-2212/main.hwf
copy to integration-tests/HOP-2202_test_copy_result_to_params/copyRows.hwf
index f3a59c2..fa88d03 100644
--- a/integration-tests/HOP-2212/main.hwf
+++ b/integration-tests/HOP-2202_test_copy_result_to_params/copyRows.hwf
@@ -1,16 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <workflow>
-  <name>main</name>
+  <name>copyRows</name>
   <name_sync_with_filename>Y</name_sync_with_filename>
   <description/>
   <extended_description/>
   <workflow_version/>
+  <workflow_status>0</workflow_status>
   <created_user>-</created_user>
-  <created_date>2020/12/05 14:11:58.724</created_date>
+  <created_date>2020/11/18 08:47:25.012</created_date>
   <modified_user>-</modified_user>
-  <modified_date>2020/12/05 14:11:58.724</modified_date>
+  <modified_date>2020/11/18 08:47:25.012</modified_date>
   <parameters>
-    </parameters>
+    <parameter>
+      <name>param</name>
+      <default_value>test</default_value>
+      <description/>
+    </parameter>
+  </parameters>
   <pass_batchid>N</pass_batchid>
   <actions>
     <action>
@@ -30,38 +36,22 @@
       <DayOfMonth>1</DayOfMonth>
       <parallel>N</parallel>
       <nr>0</nr>
-      <xloc>327</xloc>
-      <yloc>139</yloc>
+      <xloc>160</xloc>
+      <yloc>96</yloc>
       <attributes_hac/>
     </action>
     <action>
-      <name>Pipeline</name>
+      <name>Write to log</name>
       <description/>
-      <type>PIPELINE</type>
+      <type>WRITE_TO_LOG</type>
       <attributes/>
-      <filename>${PROJECT_HOME}/main.hpl</filename>
-      <params_from_previous>N</params_from_previous>
-      <exec_per_row>N</exec_per_row>
-      <clear_rows>N</clear_rows>
-      <clear_files>N</clear_files>
-      <set_logfile>N</set_logfile>
-      <logfile/>
-      <logext/>
-      <add_date>N</add_date>
-      <add_time>N</add_time>
+      <logmessage>${param}</logmessage>
       <loglevel>Basic</loglevel>
-      <set_append_logfile>N</set_append_logfile>
-      <wait_until_finished>Y</wait_until_finished>
-      <follow_abort_remote>N</follow_abort_remote>
-      <create_parent_folder>N</create_parent_folder>
-      <run_configuration>local</run_configuration>
-      <parameters>
-        <pass_all_parameters>Y</pass_all_parameters>
-      </parameters>
+      <logsubject>**** parameter here ****</logsubject>
       <parallel>N</parallel>
       <nr>0</nr>
-      <xloc>517</xloc>
-      <yloc>140</yloc>
+      <xloc>320</xloc>
+      <yloc>96</yloc>
       <attributes_hac/>
     </action>
     <action>
@@ -71,27 +61,15 @@
       <attributes/>
       <parallel>N</parallel>
       <nr>0</nr>
-      <xloc>744</xloc>
-      <yloc>138</yloc>
-      <attributes_hac/>
-    </action>
-    <action>
-      <name>Abort workflow</name>
-      <description/>
-      <type>ABORT</type>
-      <attributes/>
-      <message/>
-      <parallel>N</parallel>
-      <nr>0</nr>
-      <xloc>512</xloc>
-      <yloc>256</yloc>
+      <xloc>528</xloc>
+      <yloc>96</yloc>
       <attributes_hac/>
     </action>
   </actions>
   <hops>
     <hop>
       <from>START</from>
-      <to>Pipeline</to>
+      <to>Write to log</to>
       <from_nr>0</from_nr>
       <to_nr>0</to_nr>
       <enabled>Y</enabled>
@@ -99,7 +77,7 @@
       <unconditional>Y</unconditional>
     </hop>
     <hop>
-      <from>Pipeline</from>
+      <from>Write to log</from>
       <to>Success</to>
       <from_nr>0</from_nr>
       <to_nr>0</to_nr>
@@ -107,15 +85,6 @@
       <evaluation>Y</evaluation>
       <unconditional>N</unconditional>
     </hop>
-    <hop>
-      <from>Pipeline</from>
-      <to>Abort workflow</to>
-      <from_nr>0</from_nr>
-      <to_nr>0</to_nr>
-      <enabled>Y</enabled>
-      <evaluation>N</evaluation>
-      <unconditional>N</unconditional>
-    </hop>
   </hops>
   <notepads>
   </notepads>
diff --git a/integration-tests/HOP-2212/main.hpl 
b/integration-tests/HOP-2202_test_copy_result_to_params/copyRowsTest.hpl
similarity index 51%
rename from integration-tests/HOP-2212/main.hpl
rename to integration-tests/HOP-2202_test_copy_result_to_params/copyRowsTest.hpl
index cb56d9e..bae0fd9 100644
--- a/integration-tests/HOP-2212/main.hpl
+++ b/integration-tests/HOP-2202_test_copy_result_to_params/copyRowsTest.hpl
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <pipeline>
   <info>
-    <name>main</name>
+    <name>copyRowsTest</name>
     <name_sync_with_filename>Y</name_sync_with_filename>
     <description/>
     <extended_description/>
@@ -13,46 +13,24 @@
     
<transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
     
<transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
     <created_user>-</created_user>
-    <created_date>2020/11/20 10:13:03.510</created_date>
+    <created_date>2020/11/18 08:45:45.442</created_date>
     <modified_user>-</modified_user>
-    <modified_date>2020/11/20 10:13:03.510</modified_date>
-    <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key>
+    <modified_date>2020/11/18 08:45:45.442</modified_date>
+    <key_for_session_key/>
     <is_key_private>N</is_key_private>
   </info>
   <notepads>
   </notepads>
   <order>
     <hop>
-      <from>Generate rows</from>
-      <to>Dummy (do nothing)</to>
-      <enabled>Y</enabled>
-    </hop>
-    <hop>
-      <from>Dummy (do nothing)</from>
-      <to>Abort</to>
+      <from>Data grid</from>
+      <to>Copy rows to result</to>
       <enabled>Y</enabled>
     </hop>
   </order>
   <transform>
-    <name>Dummy (do nothing)</name>
-    <type>Dummy</type>
-    <description/>
-    <distribute>Y</distribute>
-    <custom_distribution/>
-    <copies>1</copies>
-    <partitioning>
-      <method>none</method>
-      <schema_name/>
-    </partitioning>
-    <attributes/>
-    <GUI>
-      <xloc>443</xloc>
-      <yloc>162</yloc>
-    </GUI>
-  </transform>
-  <transform>
-    <name>Generate rows</name>
-    <type>RowGenerator</type>
+    <name>Data grid</name>
+    <type>DataGrid</type>
     <description/>
     <distribute>Y</distribute>
     <custom_distribution/>
@@ -62,21 +40,41 @@
       <schema_name/>
     </partitioning>
     <fields>
+      <field>
+        <name>parameter</name>
+        <type>String</type>
+        <format/>
+        <currency/>
+        <decimal/>
+        <group/>
+        <length>-1</length>
+        <precision>-1</precision>
+        <set_empty_string>N</set_empty_string>
+      </field>
     </fields>
-    <limit>10</limit>
-    <never_ending>N</never_ending>
-    <interval_in_ms>5000</interval_in_ms>
-    <row_time_field>now</row_time_field>
-    <last_time_field>FiveSecondsAgo</last_time_field>
+    <data>
+      <line>
+        <item>one</item>
+      </line>
+      <line>
+        <item>two</item>
+      </line>
+      <line>
+        <item>three</item>
+      </line>
+      <line>
+        <item>four</item>
+      </line>
+    </data>
     <attributes/>
     <GUI>
-      <xloc>229</xloc>
-      <yloc>162</yloc>
+      <xloc>288</xloc>
+      <yloc>192</yloc>
     </GUI>
   </transform>
   <transform>
-    <name>Abort</name>
-    <type>Abort</type>
+    <name>Copy rows to result</name>
+    <type>RowsToResult</type>
     <description/>
     <distribute>Y</distribute>
     <custom_distribution/>
@@ -85,14 +83,10 @@
       <method>none</method>
       <schema_name/>
     </partitioning>
-    <row_threshold>0</row_threshold>
-    <message/>
-    <always_log_rows>Y</always_log_rows>
-    <abort_option>ABORT_WITH_ERROR</abort_option>
     <attributes/>
     <GUI>
-      <xloc>584</xloc>
-      <yloc>162</yloc>
+      <xloc>496</xloc>
+      <yloc>192</yloc>
     </GUI>
   </transform>
   <transform_error_handling>
diff --git a/integration-tests/HOP-2212/main.hwf 
b/integration-tests/HOP-2202_test_copy_result_to_params/main.hwf
similarity index 63%
copy from integration-tests/HOP-2212/main.hwf
copy to integration-tests/HOP-2202_test_copy_result_to_params/main.hwf
index f3a59c2..4fd5ca9 100644
--- a/integration-tests/HOP-2212/main.hwf
+++ b/integration-tests/HOP-2202_test_copy_result_to_params/main.hwf
@@ -1,14 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <workflow>
-  <name>main</name>
+  <name>testingCopyRows</name>
   <name_sync_with_filename>Y</name_sync_with_filename>
   <description/>
   <extended_description/>
   <workflow_version/>
   <created_user>-</created_user>
-  <created_date>2020/12/05 14:11:58.724</created_date>
+  <created_date>2020/11/18 08:50:04.443</created_date>
   <modified_user>-</modified_user>
-  <modified_date>2020/12/05 14:11:58.724</modified_date>
+  <modified_date>2020/11/18 08:50:04.443</modified_date>
   <parameters>
     </parameters>
   <pass_batchid>N</pass_batchid>
@@ -30,16 +30,16 @@
       <DayOfMonth>1</DayOfMonth>
       <parallel>N</parallel>
       <nr>0</nr>
-      <xloc>327</xloc>
-      <yloc>139</yloc>
+      <xloc>112</xloc>
+      <yloc>80</yloc>
       <attributes_hac/>
     </action>
     <action>
-      <name>Pipeline</name>
+      <name>copyRowsTest.hpl</name>
       <description/>
       <type>PIPELINE</type>
       <attributes/>
-      <filename>${PROJECT_HOME}/main.hpl</filename>
+      <filename>${PROJECT_HOME}/copyRowsTest.hpl</filename>
       <params_from_previous>N</params_from_previous>
       <exec_per_row>N</exec_per_row>
       <clear_rows>N</clear_rows>
@@ -60,38 +60,61 @@
       </parameters>
       <parallel>N</parallel>
       <nr>0</nr>
-      <xloc>517</xloc>
-      <yloc>140</yloc>
+      <xloc>288</xloc>
+      <yloc>80</yloc>
       <attributes_hac/>
     </action>
     <action>
-      <name>Success</name>
+      <name>copyRows.hwf</name>
       <description/>
-      <type>SUCCESS</type>
+      <type>WORKFLOW</type>
       <attributes/>
+      <run_configuration>local</run_configuration>
+      <filename>${PROJECT_HOME}/copyRows.hwf</filename>
+      <params_from_previous>Y</params_from_previous>
+      <exec_per_row>Y</exec_per_row>
+      <set_logfile>N</set_logfile>
+      <logfile/>
+      <logext/>
+      <add_date>N</add_date>
+      <add_time>N</add_time>
+      <loglevel>Nothing</loglevel>
+      <wait_until_finished>Y</wait_until_finished>
+      <follow_abort_remote>N</follow_abort_remote>
+      <create_parent_folder>N</create_parent_folder>
+      <pass_export>N</pass_export>
+      <run_configuration>local</run_configuration>
+      <parameters>
+        <pass_all_parameters>Y</pass_all_parameters>
+        <parameter>
+          <name>param</name>
+          <stream_name>parameter</stream_name>
+          <value/>
+        </parameter>
+      </parameters>
+      <set_append_logfile>N</set_append_logfile>
       <parallel>N</parallel>
       <nr>0</nr>
-      <xloc>744</xloc>
-      <yloc>138</yloc>
+      <xloc>480</xloc>
+      <yloc>80</yloc>
       <attributes_hac/>
     </action>
     <action>
-      <name>Abort workflow</name>
+      <name>Success</name>
       <description/>
-      <type>ABORT</type>
+      <type>SUCCESS</type>
       <attributes/>
-      <message/>
       <parallel>N</parallel>
       <nr>0</nr>
-      <xloc>512</xloc>
-      <yloc>256</yloc>
+      <xloc>640</xloc>
+      <yloc>80</yloc>
       <attributes_hac/>
     </action>
   </actions>
   <hops>
     <hop>
       <from>START</from>
-      <to>Pipeline</to>
+      <to>copyRowsTest.hpl</to>
       <from_nr>0</from_nr>
       <to_nr>0</to_nr>
       <enabled>Y</enabled>
@@ -99,8 +122,8 @@
       <unconditional>Y</unconditional>
     </hop>
     <hop>
-      <from>Pipeline</from>
-      <to>Success</to>
+      <from>copyRowsTest.hpl</from>
+      <to>copyRows.hwf</to>
       <from_nr>0</from_nr>
       <to_nr>0</to_nr>
       <enabled>Y</enabled>
@@ -108,12 +131,12 @@
       <unconditional>N</unconditional>
     </hop>
     <hop>
-      <from>Pipeline</from>
-      <to>Abort workflow</to>
+      <from>copyRows.hwf</from>
+      <to>Success</to>
       <from_nr>0</from_nr>
       <to_nr>0</to_nr>
       <enabled>Y</enabled>
-      <evaluation>N</evaluation>
+      <evaluation>Y</evaluation>
       <unconditional>N</unconditional>
     </hop>
   </hops>
diff --git 
a/integration-tests/HOP-2212/metadata/pipeline-run-configuration/local.json 
b/integration-tests/HOP-2202_test_copy_result_to_params/metadata/pipeline-run-configuration/local.json
similarity index 100%
copy from 
integration-tests/HOP-2212/metadata/pipeline-run-configuration/local.json
copy to 
integration-tests/HOP-2202_test_copy_result_to_params/metadata/pipeline-run-configuration/local.json
diff --git 
a/integration-tests/HOP-2212/metadata/workflow-run-configuration/local.json 
b/integration-tests/HOP-2202_test_copy_result_to_params/metadata/workflow-run-configuration/local.json
similarity index 100%
copy from 
integration-tests/HOP-2212/metadata/workflow-run-configuration/local.json
copy to 
integration-tests/HOP-2202_test_copy_result_to_params/metadata/workflow-run-configuration/local.json
diff --git a/integration-tests/HOP-2212/project-config.json 
b/integration-tests/HOP-2202_test_copy_result_to_params/project-config.json
similarity index 76%
copy from integration-tests/HOP-2212/project-config.json
copy to 
integration-tests/HOP-2202_test_copy_result_to_params/project-config.json
index 4b92204..f8d4595 100644
--- a/integration-tests/HOP-2212/project-config.json
+++ b/integration-tests/HOP-2202_test_copy_result_to_params/project-config.json
@@ -1,5 +1,5 @@
 {
-  "metadataBaseFolder" : "${PROJECT_HOME}/metadata/",
+  "metadataBaseFolder" : "${PROJECT_HOME}/metadata",
   "unitTestsBasePath" : "${PROJECT_HOME}",
   "dataSetsCsvFolder" : "${PROJECT_HOME}/datasets",
   "enforcingExecutionInHome" : true,
diff --git 
a/integration-tests/HOP-2214_test_empty_variables/getConnectionValues.hpl 
b/integration-tests/HOP-2214_test_empty_variables/getConnectionValues.hpl
new file mode 100644
index 0000000..950b4cf
--- /dev/null
+++ b/integration-tests/HOP-2214_test_empty_variables/getConnectionValues.hpl
@@ -0,0 +1,386 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pipeline>
+  <info>
+    <name>getConnectionValues</name>
+    <name_sync_with_filename>Y</name_sync_with_filename>
+    <description/>
+    <extended_description/>
+    <pipeline_version/>
+    <pipeline_type>Normal</pipeline_type>
+    <pipeline_status>0</pipeline_status>
+    <parameters>
+    </parameters>
+    <capture_transform_performance>N</capture_transform_performance>
+    
<transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
+    <transform_performance_capturing_size_limit/>
+    <created_user>-</created_user>
+    <created_date>2017/05/17 13:55:11.297</created_date>
+    <modified_user>-</modified_user>
+    <modified_date>2017/05/17 13:55:11.297</modified_date>
+    <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key>
+    <is_key_private>N</is_key_private>
+  </info>
+  <notepads>
+    <notepad>
+      <note>semi-colon delimited file specs: (no header)
+
+field list:
+tenantname
+type (see types list below)
+url
+dbName (for s3, use s3 bucket path)
+port
+username        (for s3 use ACCESS_KEY)
+pw (for s3 use SECRET_ACCESS_KEY)
+environment
+
+
+types:
+s3 (for amazon s3)
+com (for direct db connection)
+</note>
+      <xloc>144</xloc>
+      <yloc>240</yloc>
+      <width>277</width>
+      <heigth>330</heigth>
+      <fontname>.SF NS Text</fontname>
+      <fontsize>13</fontsize>
+      <fontbold>N</fontbold>
+      <fontitalic>N</fontitalic>
+      <fontcolorred>0</fontcolorred>
+      <fontcolorgreen>0</fontcolorgreen>
+      <fontcolorblue>0</fontcolorblue>
+      <backgroundcolorred>255</backgroundcolorred>
+      <backgroundcolorgreen>205</backgroundcolorgreen>
+      <backgroundcolorblue>112</backgroundcolorblue>
+      <bordercolorred>100</bordercolorred>
+      <bordercolorgreen>100</bordercolorgreen>
+      <bordercolorblue>100</bordercolorblue>
+    </notepad>
+  </notepads>
+  <order>
+    <hop>
+      <from>Text file input</from>
+      <to>If Null</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>If Null</from>
+      <to>Get variables</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>Get variables</from>
+      <to>Copy rows to result</to>
+      <enabled>Y</enabled>
+    </hop>
+  </order>
+  <transform>
+    <name>Copy rows to result</name>
+    <type>RowsToResult</type>
+    <description/>
+    <distribute>Y</distribute>
+    <custom_distribution/>
+    <copies>1</copies>
+    <partitioning>
+      <method>none</method>
+      <schema_name/>
+    </partitioning>
+    <attributes/>
+    <GUI>
+      <xloc>768</xloc>
+      <yloc>128</yloc>
+    </GUI>
+  </transform>
+  <transform>
+    <name>Get variables</name>
+    <type>GetVariable</type>
+    <description/>
+    <distribute>N</distribute>
+    <custom_distribution/>
+    <copies>1</copies>
+    <partitioning>
+      <method>none</method>
+      <schema_name/>
+    </partitioning>
+    <fields>
+      <field>
+        <name>env</name>
+        <variable>${environment}</variable>
+        <type>String</type>
+        <format/>
+        <currency/>
+        <decimal/>
+        <group/>
+        <length>-1</length>
+        <precision>-1</precision>
+        <trim_type>none</trim_type>
+      </field>
+    </fields>
+    <attributes/>
+    <GUI>
+      <xloc>512</xloc>
+      <yloc>128</yloc>
+    </GUI>
+  </transform>
+  <transform>
+    <name>If Null</name>
+    <type>IfNull</type>
+    <description/>
+    <distribute>Y</distribute>
+    <custom_distribution/>
+    <copies>1</copies>
+    <partitioning>
+      <method>none</method>
+      <schema_name/>
+    </partitioning>
+    <replaceAllByValue/>
+    <replaceAllMask/>
+    <selectFields>Y</selectFields>
+    <selectValuesType>N</selectValuesType>
+    <setEmptyStringAll>N</setEmptyStringAll>
+    <valuetypes>
+      </valuetypes>
+    <fields>
+      <field>
+        <name>url</name>
+        <value/>
+        <mask/>
+        <set_empty_string>N</set_empty_string>
+      </field>
+      <field>
+        <name>dbName</name>
+        <value/>
+        <mask/>
+        <set_empty_string>N</set_empty_string>
+      </field>
+      <field>
+        <name>port</name>
+        <value/>
+        <mask/>
+        <set_empty_string>N</set_empty_string>
+      </field>
+      <field>
+        <name>username</name>
+        <value/>
+        <mask/>
+        <set_empty_string>N</set_empty_string>
+      </field>
+      <field>
+        <name>pw</name>
+        <value/>
+        <mask/>
+        <set_empty_string>N</set_empty_string>
+      </field>
+    </fields>
+    <attributes/>
+    <GUI>
+      <xloc>304</xloc>
+      <yloc>128</yloc>
+    </GUI>
+  </transform>
+  <transform>
+    <name>Text file input</name>
+    <type>TextFileInput</type>
+    <description/>
+    <distribute>Y</distribute>
+    <custom_distribution/>
+    <copies>1</copies>
+    <partitioning>
+      <method>none</method>
+      <schema_name/>
+    </partitioning>
+    <accept_filenames>N</accept_filenames>
+    <passing_through_fields>N</passing_through_fields>
+    <accept_field/>
+    <accept_transform_name/>
+    <separator>;</separator>
+    <enclosure>"</enclosure>
+    <enclosure_breaks>N</enclosure_breaks>
+    <escapechar/>
+    <header>N</header>
+    <nr_headerlines>1</nr_headerlines>
+    <footer>N</footer>
+    <nr_footerlines>1</nr_footerlines>
+    <line_wrapped>N</line_wrapped>
+    <nr_wraps>1</nr_wraps>
+    <layout_paged>N</layout_paged>
+    <nr_lines_per_page>80</nr_lines_per_page>
+    <nr_lines_doc_header>0</nr_lines_doc_header>
+    <noempty>Y</noempty>
+    <include>N</include>
+    <include_field/>
+    <rownum>N</rownum>
+    <rownumByFile>N</rownumByFile>
+    <rownum_field/>
+    <format>mixed</format>
+    <encoding/>
+    <add_to_result_filenames>Y</add_to_result_filenames>
+    <file>
+      <name>${PROJECT_HOME}/tenantconfig.txt</name>
+      <filemask/>
+      <exclude_filemask/>
+      <file_required>N</file_required>
+      <include_subfolders>N</include_subfolders>
+      <type>CSV</type>
+      <compression>None</compression>
+    </file>
+    <filters>
+    </filters>
+    <fields>
+      <field>
+        <name>tenant</name>
+        <type>String</type>
+        <format/>
+        <currency/>
+        <decimal/>
+        <group>N</group>
+        <nullif/>
+        <ifnull/>
+        <position>-1</position>
+        <length>-1</length>
+        <precision>-1</precision>
+        <trim_type>none</trim_type>
+        <repeat>N</repeat>
+      </field>
+      <field>
+        <name>type</name>
+        <type>String</type>
+        <format/>
+        <currency/>
+        <decimal/>
+        <group>N</group>
+        <nullif/>
+        <ifnull/>
+        <position>-1</position>
+        <length>-1</length>
+        <precision>-1</precision>
+        <trim_type>none</trim_type>
+        <repeat>N</repeat>
+      </field>
+      <field>
+        <name>url</name>
+        <type>String</type>
+        <format/>
+        <currency/>
+        <decimal/>
+        <group>N</group>
+        <nullif/>
+        <ifnull/>
+        <position>-1</position>
+        <length>-1</length>
+        <precision>-1</precision>
+        <trim_type>none</trim_type>
+        <repeat>N</repeat>
+      </field>
+      <field>
+        <name>dbName</name>
+        <type>String</type>
+        <format/>
+        <currency/>
+        <decimal/>
+        <group>N</group>
+        <nullif/>
+        <ifnull/>
+        <position>-1</position>
+        <length>-1</length>
+        <precision>-1</precision>
+        <trim_type>none</trim_type>
+        <repeat>N</repeat>
+      </field>
+      <field>
+        <name>port</name>
+        <type>String</type>
+        <format/>
+        <currency/>
+        <decimal/>
+        <group>N</group>
+        <nullif/>
+        <ifnull/>
+        <position>-1</position>
+        <length>-1</length>
+        <precision>-1</precision>
+        <trim_type>none</trim_type>
+        <repeat>N</repeat>
+      </field>
+      <field>
+        <name>username</name>
+        <type>String</type>
+        <format/>
+        <currency/>
+        <decimal/>
+        <group>N</group>
+        <nullif/>
+        <ifnull/>
+        <position>-1</position>
+        <length>-1</length>
+        <precision>-1</precision>
+        <trim_type>none</trim_type>
+        <repeat>N</repeat>
+      </field>
+      <field>
+        <name>pw</name>
+        <type>String</type>
+        <format/>
+        <currency/>
+        <decimal/>
+        <group>N</group>
+        <nullif/>
+        <ifnull/>
+        <position>-1</position>
+        <length>-1</length>
+        <precision>-1</precision>
+        <trim_type>none</trim_type>
+        <repeat>N</repeat>
+      </field>
+      <field>
+        <name>environment</name>
+        <type>String</type>
+        <format/>
+        <currency/>
+        <decimal/>
+        <group>N</group>
+        <nullif/>
+        <ifnull/>
+        <position>-1</position>
+        <length>-1</length>
+        <precision>-1</precision>
+        <trim_type>none</trim_type>
+        <repeat>N</repeat>
+      </field>
+    </fields>
+    <limit>0</limit>
+    <error_ignored>N</error_ignored>
+    <skip_bad_files>N</skip_bad_files>
+    <file_error_field/>
+    <file_error_message_field/>
+    <error_line_skipped>N</error_line_skipped>
+    <error_count_field/>
+    <error_fields_field/>
+    <error_text_field/>
+    <bad_line_files_destination_directory/>
+    <bad_line_files_extension>warning</bad_line_files_extension>
+    <error_line_files_destination_directory/>
+    <error_line_files_extension>error</error_line_files_extension>
+    <line_number_files_destination_directory/>
+    <line_number_files_extension>line</line_number_files_extension>
+    <date_format_lenient>Y</date_format_lenient>
+    <date_format_locale>en_US</date_format_locale>
+    <shortFileFieldName/>
+    <pathFieldName/>
+    <hiddenFieldName/>
+    <lastModificationTimeFieldName/>
+    <uriNameFieldName/>
+    <rootUriNameFieldName/>
+    <extensionFieldName/>
+    <sizeFieldName/>
+    <attributes/>
+    <GUI>
+      <xloc>160</xloc>
+      <yloc>128</yloc>
+    </GUI>
+  </transform>
+  <transform_error_handling>
+  </transform_error_handling>
+  <attributes/>
+</pipeline>
diff --git a/integration-tests/HOP-2212/main.hwf 
b/integration-tests/HOP-2214_test_empty_variables/main.hwf
similarity index 50%
rename from integration-tests/HOP-2212/main.hwf
rename to integration-tests/HOP-2214_test_empty_variables/main.hwf
index f3a59c2..a1e12f4 100644
--- a/integration-tests/HOP-2212/main.hwf
+++ b/integration-tests/HOP-2214_test_empty_variables/main.hwf
@@ -1,14 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <workflow>
-  <name>main</name>
+  <name>nullVariablesTest</name>
   <name_sync_with_filename>Y</name_sync_with_filename>
   <description/>
   <extended_description/>
   <workflow_version/>
+  <workflow_status>0</workflow_status>
   <created_user>-</created_user>
-  <created_date>2020/12/05 14:11:58.724</created_date>
+  <created_date>2020/11/19 12:34:32.646</created_date>
   <modified_user>-</modified_user>
-  <modified_date>2020/12/05 14:11:58.724</modified_date>
+  <modified_date>2020/11/19 12:34:32.646</modified_date>
   <parameters>
     </parameters>
   <pass_batchid>N</pass_batchid>
@@ -30,16 +31,16 @@
       <DayOfMonth>1</DayOfMonth>
       <parallel>N</parallel>
       <nr>0</nr>
-      <xloc>327</xloc>
-      <yloc>139</yloc>
+      <xloc>144</xloc>
+      <yloc>96</yloc>
       <attributes_hac/>
     </action>
     <action>
-      <name>Pipeline</name>
+      <name>getConnectionValues.hpl</name>
       <description/>
       <type>PIPELINE</type>
       <attributes/>
-      <filename>${PROJECT_HOME}/main.hpl</filename>
+      <filename>${PROJECT_HOME}/getConnectionValues.hpl</filename>
       <params_from_previous>N</params_from_previous>
       <exec_per_row>N</exec_per_row>
       <clear_rows>N</clear_rows>
@@ -60,38 +61,96 @@
       </parameters>
       <parallel>N</parallel>
       <nr>0</nr>
-      <xloc>517</xloc>
-      <yloc>140</yloc>
+      <xloc>320</xloc>
+      <yloc>96</yloc>
       <attributes_hac/>
     </action>
     <action>
-      <name>Success</name>
+      <name>writeConnectionValues.hpl</name>
       <description/>
-      <type>SUCCESS</type>
+      <type>PIPELINE</type>
       <attributes/>
+      <filename>${PROJECT_HOME}/writeConnectionValues.hpl</filename>
+      <params_from_previous>Y</params_from_previous>
+      <exec_per_row>Y</exec_per_row>
+      <clear_rows>N</clear_rows>
+      <clear_files>N</clear_files>
+      <set_logfile>N</set_logfile>
+      <logfile/>
+      <logext/>
+      <add_date>N</add_date>
+      <add_time>N</add_time>
+      <loglevel>Basic</loglevel>
+      <set_append_logfile>N</set_append_logfile>
+      <wait_until_finished>Y</wait_until_finished>
+      <follow_abort_remote>N</follow_abort_remote>
+      <create_parent_folder>N</create_parent_folder>
+      <run_configuration>local</run_configuration>
+      <parameters>
+        <pass_all_parameters>Y</pass_all_parameters>
+        <parameter>
+          <name>dbName</name>
+          <stream_name>dbName</stream_name>
+          <value/>
+        </parameter>
+        <parameter>
+          <name>environment</name>
+          <stream_name>environment</stream_name>
+          <value/>
+        </parameter>
+        <parameter>
+          <name>port</name>
+          <stream_name>port</stream_name>
+          <value/>
+        </parameter>
+        <parameter>
+          <name>pw</name>
+          <stream_name>pw</stream_name>
+          <value/>
+        </parameter>
+        <parameter>
+          <name>tenant</name>
+          <stream_name>tenant</stream_name>
+          <value/>
+        </parameter>
+        <parameter>
+          <name>type</name>
+          <stream_name>type</stream_name>
+          <value/>
+        </parameter>
+        <parameter>
+          <name>url</name>
+          <stream_name>url</stream_name>
+          <value/>
+        </parameter>
+        <parameter>
+          <name>username</name>
+          <stream_name>username</stream_name>
+          <value/>
+        </parameter>
+      </parameters>
       <parallel>N</parallel>
       <nr>0</nr>
-      <xloc>744</xloc>
-      <yloc>138</yloc>
+      <xloc>496</xloc>
+      <yloc>96</yloc>
       <attributes_hac/>
     </action>
     <action>
-      <name>Abort workflow</name>
+      <name>Success</name>
       <description/>
-      <type>ABORT</type>
+      <type>SUCCESS</type>
       <attributes/>
-      <message/>
       <parallel>N</parallel>
       <nr>0</nr>
-      <xloc>512</xloc>
-      <yloc>256</yloc>
+      <xloc>784</xloc>
+      <yloc>96</yloc>
       <attributes_hac/>
     </action>
   </actions>
   <hops>
     <hop>
       <from>START</from>
-      <to>Pipeline</to>
+      <to>getConnectionValues.hpl</to>
       <from_nr>0</from_nr>
       <to_nr>0</to_nr>
       <enabled>Y</enabled>
@@ -99,8 +158,8 @@
       <unconditional>Y</unconditional>
     </hop>
     <hop>
-      <from>Pipeline</from>
-      <to>Success</to>
+      <from>getConnectionValues.hpl</from>
+      <to>writeConnectionValues.hpl</to>
       <from_nr>0</from_nr>
       <to_nr>0</to_nr>
       <enabled>Y</enabled>
@@ -108,12 +167,12 @@
       <unconditional>N</unconditional>
     </hop>
     <hop>
-      <from>Pipeline</from>
-      <to>Abort workflow</to>
+      <from>writeConnectionValues.hpl</from>
+      <to>Success</to>
       <from_nr>0</from_nr>
       <to_nr>0</to_nr>
       <enabled>Y</enabled>
-      <evaluation>N</evaluation>
+      <evaluation>Y</evaluation>
       <unconditional>N</unconditional>
     </hop>
   </hops>
diff --git 
a/integration-tests/HOP-2212/metadata/pipeline-run-configuration/local.json 
b/integration-tests/HOP-2214_test_empty_variables/metadata/pipeline-run-configuration/local.json
similarity index 100%
rename from 
integration-tests/HOP-2212/metadata/pipeline-run-configuration/local.json
rename to 
integration-tests/HOP-2214_test_empty_variables/metadata/pipeline-run-configuration/local.json
diff --git 
a/integration-tests/HOP-2212/metadata/workflow-run-configuration/local.json 
b/integration-tests/HOP-2214_test_empty_variables/metadata/workflow-run-configuration/local.json
similarity index 100%
rename from 
integration-tests/HOP-2212/metadata/workflow-run-configuration/local.json
rename to 
integration-tests/HOP-2214_test_empty_variables/metadata/workflow-run-configuration/local.json
diff --git a/integration-tests/HOP-2212/project-config.json 
b/integration-tests/HOP-2214_test_empty_variables/project-config.json
similarity index 76%
rename from integration-tests/HOP-2212/project-config.json
rename to integration-tests/HOP-2214_test_empty_variables/project-config.json
index 4b92204..f8d4595 100644
--- a/integration-tests/HOP-2212/project-config.json
+++ b/integration-tests/HOP-2214_test_empty_variables/project-config.json
@@ -1,5 +1,5 @@
 {
-  "metadataBaseFolder" : "${PROJECT_HOME}/metadata/",
+  "metadataBaseFolder" : "${PROJECT_HOME}/metadata",
   "unitTestsBasePath" : "${PROJECT_HOME}",
   "dataSetsCsvFolder" : "${PROJECT_HOME}/datasets",
   "enforcingExecutionInHome" : true,
diff --git a/integration-tests/HOP-2214_test_empty_variables/tenantconfig.txt 
b/integration-tests/HOP-2214_test_empty_variables/tenantconfig.txt
new file mode 100644
index 0000000..651cbfc
--- /dev/null
+++ b/integration-tests/HOP-2214_test_empty_variables/tenantconfig.txt
@@ -0,0 +1 @@
+TenantName;s3;;s3PathHere;;usernameHere;passwordHere;local
diff --git 
a/integration-tests/HOP-2214_test_empty_variables/writeConnectionValues.hpl 
b/integration-tests/HOP-2214_test_empty_variables/writeConnectionValues.hpl
new file mode 100644
index 0000000..77d0246
--- /dev/null
+++ b/integration-tests/HOP-2214_test_empty_variables/writeConnectionValues.hpl
@@ -0,0 +1,325 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pipeline>
+  <info>
+    <name>writeConnectionValues</name>
+    <name_sync_with_filename>Y</name_sync_with_filename>
+    <description/>
+    <extended_description/>
+    <pipeline_version/>
+    <pipeline_type>Normal</pipeline_type>
+    <pipeline_status>0</pipeline_status>
+    <parameters>
+      <parameter>
+        <name>dbName</name>
+        <default_value/>
+        <description/>
+      </parameter>
+      <parameter>
+        <name>environment</name>
+        <default_value/>
+        <description/>
+      </parameter>
+      <parameter>
+        <name>port</name>
+        <default_value/>
+        <description/>
+      </parameter>
+      <parameter>
+        <name>pw</name>
+        <default_value/>
+        <description/>
+      </parameter>
+      <parameter>
+        <name>tenant</name>
+        <default_value/>
+        <description/>
+      </parameter>
+      <parameter>
+        <name>type</name>
+        <default_value/>
+        <description/>
+      </parameter>
+      <parameter>
+        <name>url</name>
+        <default_value/>
+        <description/>
+      </parameter>
+      <parameter>
+        <name>username</name>
+        <default_value/>
+        <description/>
+      </parameter>
+    </parameters>
+    <capture_transform_performance>N</capture_transform_performance>
+    
<transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
+    <transform_performance_capturing_size_limit/>
+    <created_user>-</created_user>
+    <created_date>2020/03/02 18:56:38.684</created_date>
+    <modified_user>-</modified_user>
+    <modified_date>2020/03/02 18:56:38.684</modified_date>
+    <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA=</key_for_session_key>
+    <is_key_private>N</is_key_private>
+  </info>
+  <notepads>
+  </notepads>
+  <order>
+    <hop>
+      <from>Generate rows</from>
+      <to>Get variables</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>Get variables</from>
+      <to>not null url</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>not null url</from>
+      <to>Write to log</to>
+      <enabled>Y</enabled>
+    </hop>
+    <hop>
+      <from>not null url</from>
+      <to>Abort</to>
+      <enabled>Y</enabled>
+    </hop>
+  </order>
+  <transform>
+    <name>Generate rows</name>
+    <type>RowGenerator</type>
+    <description/>
+    <distribute>Y</distribute>
+    <custom_distribution/>
+    <copies>1</copies>
+    <partitioning>
+      <method>none</method>
+      <schema_name/>
+    </partitioning>
+    <fields>
+    </fields>
+    <limit>1</limit>
+    <never_ending>N</never_ending>
+    <interval_in_ms>5000</interval_in_ms>
+    <row_time_field>now</row_time_field>
+    <last_time_field>FiveSecondsAgo</last_time_field>
+    <attributes/>
+    <GUI>
+      <xloc>160</xloc>
+      <yloc>96</yloc>
+    </GUI>
+  </transform>
+  <transform>
+    <name>Get variables</name>
+    <type>GetVariable</type>
+    <description/>
+    <distribute>Y</distribute>
+    <custom_distribution/>
+    <copies>1</copies>
+    <partitioning>
+      <method>none</method>
+      <schema_name/>
+    </partitioning>
+    <fields>
+      <field>
+        <name>tenant</name>
+        <variable>${tenant}</variable>
+        <type>String</type>
+        <format/>
+        <currency/>
+        <decimal/>
+        <group/>
+        <length>-1</length>
+        <precision>-1</precision>
+        <trim_type>none</trim_type>
+      </field>
+      <field>
+        <name>type</name>
+        <variable>${type}</variable>
+        <type>String</type>
+        <format/>
+        <currency/>
+        <decimal/>
+        <group/>
+        <length>-1</length>
+        <precision>-1</precision>
+        <trim_type>none</trim_type>
+      </field>
+      <field>
+        <name>url</name>
+        <variable>${url}</variable>
+        <type>String</type>
+        <format/>
+        <currency/>
+        <decimal/>
+        <group/>
+        <length>-1</length>
+        <precision>-1</precision>
+        <trim_type>none</trim_type>
+      </field>
+      <field>
+        <name>dbName</name>
+        <variable>${dbName}</variable>
+        <type>String</type>
+        <format/>
+        <currency/>
+        <decimal/>
+        <group/>
+        <length>-1</length>
+        <precision>-1</precision>
+        <trim_type>none</trim_type>
+      </field>
+      <field>
+        <name>port</name>
+        <variable>${port}</variable>
+        <type>String</type>
+        <format/>
+        <currency/>
+        <decimal/>
+        <group/>
+        <length>-1</length>
+        <precision>-1</precision>
+        <trim_type>none</trim_type>
+      </field>
+      <field>
+        <name>username</name>
+        <variable>${username}</variable>
+        <type>String</type>
+        <format/>
+        <currency/>
+        <decimal/>
+        <group/>
+        <length>-1</length>
+        <precision>-1</precision>
+        <trim_type>none</trim_type>
+      </field>
+      <field>
+        <name>pw</name>
+        <variable>${pw}</variable>
+        <type>String</type>
+        <format/>
+        <currency/>
+        <decimal/>
+        <group/>
+        <length>-1</length>
+        <precision>-1</precision>
+        <trim_type>none</trim_type>
+      </field>
+      <field>
+        <name>environment</name>
+        <variable>${environment}</variable>
+        <type>String</type>
+        <format/>
+        <currency/>
+        <decimal/>
+        <group/>
+        <length>-1</length>
+        <precision>-1</precision>
+        <trim_type>none</trim_type>
+      </field>
+    </fields>
+    <attributes/>
+    <GUI>
+      <xloc>352</xloc>
+      <yloc>96</yloc>
+    </GUI>
+  </transform>
+  <transform>
+    <name>Write to log</name>
+    <type>WriteToLog</type>
+    <description/>
+    <distribute>Y</distribute>
+    <custom_distribution/>
+    <copies>1</copies>
+    <partitioning>
+      <method>none</method>
+      <schema_name/>
+    </partitioning>
+    <loglevel>log_level_basic</loglevel>
+    <displayHeader>Y</displayHeader>
+    <limitRows>N</limitRows>
+    <limitRowsNumber>0</limitRowsNumber>
+    <logmessage/>
+    <fields>
+      <field>
+        <name>tenant</name>
+      </field>
+      <field>
+        <name>type</name>
+      </field>
+      <field>
+        <name>url</name>
+      </field>
+      <field>
+        <name>dbName</name>
+      </field>
+      <field>
+        <name>port</name>
+      </field>
+      <field>
+        <name>username</name>
+      </field>
+      <field>
+        <name>pw</name>
+      </field>
+      <field>
+        <name>environment</name>
+      </field>
+    </fields>
+    <attributes/>
+    <GUI>
+      <xloc>720</xloc>
+      <yloc>96</yloc>
+    </GUI>
+  </transform>
+  <transform>
+    <name>not null url</name>
+    <type>FilterRows</type>
+    <description/>
+    <distribute>Y</distribute>
+    <custom_distribution/>
+    <copies>1</copies>
+    <partitioning>
+      <method>none</method>
+      <schema_name/>
+    </partitioning>
+    <send_true_to>Abort</send_true_to>
+    <send_false_to>Write to log</send_false_to>
+    <compare>
+      <condition>
+        <negated>N</negated>
+        <leftvalue>url</leftvalue>
+        <function>IS NOT NULL</function>
+        <rightvalue/>
+      </condition>
+    </compare>
+    <attributes/>
+    <GUI>
+      <xloc>528</xloc>
+      <yloc>96</yloc>
+    </GUI>
+  </transform>
+  <transform>
+    <name>Abort</name>
+    <type>Abort</type>
+    <description/>
+    <distribute>Y</distribute>
+    <custom_distribution/>
+    <copies>1</copies>
+    <partitioning>
+      <method>none</method>
+      <schema_name/>
+    </partitioning>
+    <row_threshold>0</row_threshold>
+    <message/>
+    <always_log_rows>Y</always_log_rows>
+    <abort_option>ABORT</abort_option>
+    <attributes/>
+    <GUI>
+      <xloc>528</xloc>
+      <yloc>192</yloc>
+    </GUI>
+  </transform>
+  <transform_error_handling>
+  </transform_error_handling>
+  <attributes/>
+</pipeline>

Reply via email to