You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hop.apache.org by ha...@apache.org on 2021/02/14 08:58:24 UTC

[incubator-hop] branch master updated: HOP-2520 remove connection elements from workflow root

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 40c54a5  HOP-2520 remove connection elements from workflow root
     new 96a0e90  Merge pull request #622 from bamaer/HOP-2520
40c54a5 is described below

commit 40c54a52c797af41309968c621097a779ce29cd1
Author: Bart Maertens <ba...@know.bi>
AuthorDate: Fri Feb 12 17:33:36 2021 +0100

    HOP-2520 remove connection elements from workflow root
---
 .../java/org/apache/hop/imports/kettle/KettleConst.java  |  2 +-
 .../java/org/apache/hop/imports/kettle/KettleImport.java | 16 +++++++++++++---
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/plugins/misc/import/src/main/java/org/apache/hop/imports/kettle/KettleConst.java b/plugins/misc/import/src/main/java/org/apache/hop/imports/kettle/KettleConst.java
index 96ee34b..dd9e957 100644
--- a/plugins/misc/import/src/main/java/org/apache/hop/imports/kettle/KettleConst.java
+++ b/plugins/misc/import/src/main/java/org/apache/hop/imports/kettle/KettleConst.java
@@ -73,7 +73,7 @@ public class KettleConst {
                 {"clusterschemas", ""},
                 {"maxdate", ""},
                 {"log", ""},
-                {"connection", "pipeline"},
+                {"connection", "workflow,pipeline"},
                 {"slave-step-copy-partition-distribution", ""},
                 {"slave_transformation", ""},
                 {"trans_object_id", ""},
diff --git a/plugins/misc/import/src/main/java/org/apache/hop/imports/kettle/KettleImport.java b/plugins/misc/import/src/main/java/org/apache/hop/imports/kettle/KettleImport.java
index 3783ab0..21041a0 100644
--- a/plugins/misc/import/src/main/java/org/apache/hop/imports/kettle/KettleImport.java
+++ b/plugins/misc/import/src/main/java/org/apache/hop/imports/kettle/KettleImport.java
@@ -244,7 +244,6 @@ public class KettleImport extends HopImport implements IHopImport {
                     log.logError("Exception processing connection: " + e.getMessage());
                     e.printStackTrace();
                 }
-
             }
         }
     }
@@ -285,8 +284,19 @@ public class KettleImport extends HopImport implements IHopImport {
                 // remove superfluous elements
                 if(KettleConst.kettleElementsToRemove.containsKey(currentNode.getNodeName())){
                     if(!StringUtils.isEmpty(KettleConst.kettleElementsToRemove.get(currentNode.getNodeName()))){
-                        if(currentNode.getParentNode().getNodeName().equals(KettleConst.kettleElementsToRemove.get(currentNode.getNodeName()))){
-                            currentNode.getParentNode().removeChild(currentNode);
+                        // see if we have multiple parent nodes to check for:
+                        if(KettleConst.kettleElementsToRemove.get(currentNode.getNodeName()).contains(",")){
+                            Node parentNode = currentNode.getParentNode();
+                            String[] parentNodenames = KettleConst.kettleElementsToRemove.get(currentNode.getNodeName()).split(",");
+                            for(String parentNodename : parentNodenames){
+                                if(parentNode.getNodeName().equals(parentNodename)){
+                                    parentNode.removeChild(currentNode);
+                                }
+                            }
+                        }else {
+                            if(currentNode.getParentNode().getNodeName().equals(KettleConst.kettleElementsToRemove.get(currentNode.getNodeName()))){
+                                currentNode.getParentNode().removeChild(currentNode);
+                            }
                         }
                     }else{
                         currentNode.getParentNode().removeChild(currentNode);