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("&&");
}
}
}