This is an automated email from the ASF dual-hosted git repository.
zihaoxiang pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/dev by this push:
new b98566e070 [Bug-13782] match ')' in setValue regular expression
(#13787)
b98566e070 is described below
commit b98566e070d471b12325015ee564bc0478be18e3
Author: Aaron Wang <[email protected]>
AuthorDate: Thu Mar 23 22:56:22 2023 +0800
[Bug-13782] match ')' in setValue regular expression (#13787)
---
.../plugin/task/api/TaskConstants.java | 2 +-
.../plugin/task/api/AbstractTaskTest.java | 20 ++++++++++++++++++++
2 files changed, 21 insertions(+), 1 deletion(-)
diff --git
a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/TaskConstants.java
b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/TaskConstants.java
index ca8924bc7f..41b94b009f 100644
---
a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/TaskConstants.java
+++
b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/TaskConstants.java
@@ -33,7 +33,7 @@ public class TaskConstants {
public static final String FLINK_APPLICATION_REGEX = "JobID \\w+";
- public static final String SETVALUE_REGEX =
"[\\$#]\\{setValue\\(([^)]*)\\)}";
+ public static final String SETVALUE_REGEX =
"[\\$#]\\{setValue\\((.*?)\\)}";
/**
* string false
diff --git
a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/test/java/org/apache/dolphinscheduler/plugin/task/api/AbstractTaskTest.java
b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/test/java/org/apache/dolphinscheduler/plugin/task/api/AbstractTaskTest.java
index a7439aef67..9cf407e00f 100644
---
a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/test/java/org/apache/dolphinscheduler/plugin/task/api/AbstractTaskTest.java
+++
b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/test/java/org/apache/dolphinscheduler/plugin/task/api/AbstractTaskTest.java
@@ -38,4 +38,24 @@ public class AbstractTaskTest {
Assertions.assertEquals(jobId, str.substring(6));
}
+ @Test
+ public void testSetValue() {
+ Pattern SETVALUE_REGEX = Pattern.compile(TaskConstants.SETVALUE_REGEX);
+ String line1 = "${setValue(sql=\"INSERT INTO a VALUES (1, 2);\")}";
+ String line2 = "${setValue(a=2))}";
+ Matcher matcher1 = SETVALUE_REGEX.matcher(line1);
+ String str1 = null;
+ if (matcher1.find()) {
+ str1 = matcher1.group();
+ }
+ String str2 = null;
+ Matcher matcher2 = SETVALUE_REGEX.matcher(line2);
+ if (matcher2.find()) {
+ str2 = matcher2.group();
+ }
+ Assertions.assertNotNull(str1);
+ Assertions.assertNotNull(str2);
+ Assertions.assertEquals(str1.length(), line1.length());
+ Assertions.assertEquals(str2.length(), line2.length());
+ }
}