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/hop.git


The following commit(s) were added to refs/heads/master by this push:
     new 443dc75291 HOP-4143: add named parameters
     new e5e1170c01 Merge pull request #1644 from hansva/master
443dc75291 is described below

commit 443dc75291c73881bd6a06ac6c2191f078ab0bc3
Author: Hans Van Akelyen <[email protected]>
AuthorDate: Thu Aug 18 15:30:17 2022 +0200

    HOP-4143: add named parameters
---
 .../java/org/apache/hop/beam/run/MainBeam.java     | 48 ++++++++++++++++++----
 1 file changed, 40 insertions(+), 8 deletions(-)

diff --git 
a/plugins/engines/beam/src/main/java/org/apache/hop/beam/run/MainBeam.java 
b/plugins/engines/beam/src/main/java/org/apache/hop/beam/run/MainBeam.java
index 1b5e7bb42a..7e7295bc56 100644
--- a/plugins/engines/beam/src/main/java/org/apache/hop/beam/run/MainBeam.java
+++ b/plugins/engines/beam/src/main/java/org/apache/hop/beam/run/MainBeam.java
@@ -43,18 +43,50 @@ public class MainBeam {
 
   public static void main(String[] args) {
     try {
-      System.out.println("Argument 1 : Pipeline filename (.hpl)   : " + 
args[0]);
-      System.out.println("Argument 2 : Metadata filename (.json)  : " + 
args[1]);
-      System.out.println("Argument 3 : Pipeline run configuration : " + 
args[2]);
-
-      System.out.println(">>>>>> Initializing Hop...");
       HopEnvironment.init();
 
       // Read the pipeline XML and metadata JSON (optionally from Hadoop FS)
       //
-      String pipelineMetaXml = readFileIntoString(args[0], "UTF-8");
-      String metadataJson = readFileIntoString(args[1], "UTF-8");
-      String runConfigName = args[2];
+      String pipelineMetaXml="";
+      String metadataJson="";
+      String runConfigName="";
+
+      if(args[0].startsWith("--")){
+        for(int i=0;i< args.length;i++){
+          String[] split = args[i].split("=", 2);
+          String key = split.length > 0 ? split[0] : null;
+          String value = split.length > 1 ? split[1] : null;
+          if(key!=null){
+            switch(key){
+              case("--HopPipelinePath"):
+                System.out.println("Argument 1 : Pipeline filename (.hpl)   : 
" + value);
+                pipelineMetaXml = readFileIntoString(value, "UTF-8");
+                break;
+              case("--HopMetadataPath"):
+                System.out.println("Argument 2 : Metadata filename (.json)  : 
" + value);
+                metadataJson = readFileIntoString(value, "UTF-8");
+                break;
+              case("--HopRunConfigurationName"):
+                System.out.println("Argument 3 : Pipeline run configuration : 
" + value);
+                runConfigName = value;
+                break;
+            }
+          }
+        }
+
+      }else{
+        System.out.println("Argument 1 : Pipeline filename (.hpl)   : " + 
args[0]);
+        pipelineMetaXml = readFileIntoString(args[0], "UTF-8");
+        System.out.println("Argument 2 : Metadata filename (.json)  : " + 
args[1]);
+        metadataJson = readFileIntoString(args[1], "UTF-8");
+        System.out.println("Argument 3 : Pipeline run configuration : " + 
args[2]);
+        runConfigName = args[2];
+
+        System.out.println(">>>>>> Initializing Hop...");
+      }
+
+
+
 
       // Inflate the metadata:
       //

Reply via email to