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

benjobs pushed a commit to branch maven-args
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git


The following commit(s) were added to refs/heads/maven-args by this push:
     new c1491ded2 [Improve] danger args improvement
c1491ded2 is described below

commit c1491ded272aac831af22596d71071ca31d38b01
Author: benjobs <[email protected]>
AuthorDate: Thu Nov 30 21:51:53 2023 +0800

    [Improve] danger args improvement
---
 .../streampark/console/core/entity/Project.java    | 23 ++++++++++++++-------
 .../console/base/util/FileUtilsTest.java           | 24 +++++++++++++++-------
 2 files changed, 33 insertions(+), 14 deletions(-)

diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Project.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Project.java
index 965f0dbea..c5c37b172 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Project.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Project.java
@@ -45,7 +45,6 @@ import java.io.File;
 import java.io.IOException;
 import java.io.Serializable;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 import java.util.jar.JarFile;
@@ -250,17 +249,27 @@ public class Project implements Serializable {
   }
 
   private List<String> getDangerArgs(String param) {
-    List<String> dangerArgs = Arrays.asList("|", "&");
     String[] args = param.split("\\s+");
-    List<String> result = new ArrayList<>();
+    List<String> dangerArgs = new ArrayList<>();
     for (String arg : args) {
-      for (String danger : dangerArgs) {
-        if (arg.startsWith(danger)) {
-          result.add(arg);
+      if (arg.length() == 1) {
+        if (arg.equals("|")) {
+          dangerArgs.add("|");
+        }
+        if (arg.equals("&")) {
+          dangerArgs.add("&");
+        }
+      } else {
+        arg = arg.substring(0, 2);
+        if (arg.equals("||")) {
+          dangerArgs.add("||");
+        }
+        if (arg.equals("&&")) {
+          dangerArgs.add("&&");
         }
       }
     }
-    return result;
+    return dangerArgs;
   }
 
   @JsonIgnore
diff --git 
a/streampark-console/streampark-console-service/src/test/java/org/apache/streampark/console/base/util/FileUtilsTest.java
 
b/streampark-console/streampark-console-service/src/test/java/org/apache/streampark/console/base/util/FileUtilsTest.java
index 08fe46bb4..59e0e4baf 100644
--- 
a/streampark-console/streampark-console-service/src/test/java/org/apache/streampark/console/base/util/FileUtilsTest.java
+++ 
b/streampark-console/streampark-console-service/src/test/java/org/apache/streampark/console/base/util/FileUtilsTest.java
@@ -27,7 +27,6 @@ import java.io.IOException;
 import java.io.PrintWriter;
 import java.nio.file.Path;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 import java.util.Random;
 
@@ -112,19 +111,30 @@ class FileUtilsTest {
 
   @Test
   public void testDangerArgs() {
-    String param = "mvn clean | echo \"ccc\"";
+    String param = "mvn clean || echo \"ccc\" && rm -rf /* ";
     List<String> dangerArgs = getDangerArgs(param);
-    Assertions.assertEquals(dangerArgs.size(), 1);
+    Assertions.assertEquals(dangerArgs.size(), 2);
   }
 
   private List<String> getDangerArgs(String param) {
-    List<String> dangerArgs = Arrays.asList("|", "&");
     String[] args = param.split("\\s+");
     List<String> result = new ArrayList<>();
+
     for (String arg : args) {
-      for (String danger : dangerArgs) {
-        if (arg.startsWith(danger)) {
-          result.add(arg);
+      if (arg.length() == 1) {
+        if (arg.equals("|")) {
+          result.add("|");
+        }
+        if (arg.equals("&")) {
+          result.add("&");
+        }
+      } else {
+        arg = arg.substring(0, 2);
+        if (arg.equals("||")) {
+          result.add("||");
+        }
+        if (arg.equals("&&")) {
+          result.add("&&");
         }
       }
     }

Reply via email to