From 0d693a886e288e2512bdd375f35bf9a8c48404e9 Mon Sep 17 00:00:00 2001 From: shaolei Date: Wed, 4 Feb 2026 10:54:38 +0800 Subject: [PATCH 01/13] =?UTF-8?q?=E4=BC=98=E5=8C=96Dinky=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E7=94=9F=E6=88=90=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/task/dinky/DinkyTask.java | 54 ++++++++++++++----- 1 file changed, 40 insertions(+), 14 deletions(-) diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java index 8f14e8518a48..5af499e8367b 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java @@ -47,6 +47,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; import lombok.extern.slf4j.Slf4j; @@ -338,23 +339,48 @@ public void cancelApplication() throws TaskException { private Map generateVariables() { Map variables = new ConcurrentHashMap<>(); - List propertyList = JSONUtils.toList(taskExecutionContext.getGlobalParams(), Property.class); - if (propertyList != null && !propertyList.isEmpty()) { - for (Property property : propertyList) { - variables.put(property.getProp(), property.getValue()); + Map prepareParamsMap = taskExecutionContext.getPrepareParamsMap(); + + // 全量参数,先统一插入到variables,有些key可能是没值的 + // 后面从取taskParams和prepareParamsMap交集,交集key先从localParams获取value,有值的放到variables;没值的从globalParams获取 + prepareParamsMap.forEach((key, property) -> { + if (Objects.nonNull(property) && Objects.nonNull(property.getValue())) { + variables.put(key, property.getValue()); } - } + }); + List localParams = this.dinkyParameters.getLocalParams(); - Map prepareParamsMap = taskExecutionContext.getPrepareParamsMap(); - if (localParams == null || localParams.isEmpty()) { - return variables; - } - Map convertMap = ParameterUtils.convert(prepareParamsMap); - for (Property property : localParams) { - String propertyValue = property.getValue(); - String value = PlaceholderUtils.replacePlaceholders(propertyValue, convertMap, true); - variables.put(property.getProp(), value); + List globalParams = JSONUtils.toList(taskExecutionContext.getGlobalParams(), Property.class); + + if (!localParams.isEmpty()) { + for (Property localParam : localParams) { + // 如果variables没有这个key || value空的,从局部、全局 解析值,插入variables + if (Objects.isNull(variables.get(localParam.getProp())) || variables.get(localParam.getProp()).isEmpty()) { + if (localParam.getValue() != null && !localParam.getValue().isEmpty()) { + // 解析value + String value = ParameterUtils.convertParameterPlaceholders(localParam.getValue(), variables); + if (StringUtils.isNotBlank(value)) { + variables.put(localParam.getProp(), value); + } + } else { + if (!globalParams.isEmpty()) { + for (Property globalParam : globalParams) { + if (globalParam.getProp().equals(localParam.getProp())) { + if (globalParam.getValue() != null && !globalParam.getValue().isEmpty()) { + // 解析value + String value = ParameterUtils.convertParameterPlaceholders(globalParam.getValue(), variables); + if (StringUtils.isNotBlank(value)) { + variables.put(localParam.getProp(), value); + } + } + } + } + } + } + } + } } + log.info("will send variables to dinky: {}", variables); return variables; } From 38bd39c24359b834ac363b865b68094ff980fb92 Mon Sep 17 00:00:00 2001 From: Jay Chung Date: Fri, 6 Feb 2026 11:25:12 +0800 Subject: [PATCH 02/13] Apply suggestion from @SbloodyS Co-authored-by: xiangzihao --- .../apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java index 5af499e8367b..d9bb5630fbb9 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java @@ -341,8 +341,6 @@ private Map generateVariables() { Map variables = new ConcurrentHashMap<>(); Map prepareParamsMap = taskExecutionContext.getPrepareParamsMap(); - // 全量参数,先统一插入到variables,有些key可能是没值的 - // 后面从取taskParams和prepareParamsMap交集,交集key先从localParams获取value,有值的放到variables;没值的从globalParams获取 prepareParamsMap.forEach((key, property) -> { if (Objects.nonNull(property) && Objects.nonNull(property.getValue())) { variables.put(key, property.getValue()); From e9356d6c619265bc63fda5d0c6b5292d6acb717b Mon Sep 17 00:00:00 2001 From: Jay Chung Date: Fri, 6 Feb 2026 11:25:24 +0800 Subject: [PATCH 03/13] Apply suggestion from @SbloodyS Co-authored-by: xiangzihao --- .../org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java | 1 - 1 file changed, 1 deletion(-) diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java index d9bb5630fbb9..b50a1922f342 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java @@ -352,7 +352,6 @@ private Map generateVariables() { if (!localParams.isEmpty()) { for (Property localParam : localParams) { - // 如果variables没有这个key || value空的,从局部、全局 解析值,插入variables if (Objects.isNull(variables.get(localParam.getProp())) || variables.get(localParam.getProp()).isEmpty()) { if (localParam.getValue() != null && !localParam.getValue().isEmpty()) { // 解析value From a36ad81b7c46e478326b5ec011be62131f1aa58d Mon Sep 17 00:00:00 2001 From: Jay Chung Date: Fri, 6 Feb 2026 11:25:33 +0800 Subject: [PATCH 04/13] Apply suggestion from @SbloodyS Co-authored-by: xiangzihao --- .../org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java | 1 - 1 file changed, 1 deletion(-) diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java index b50a1922f342..b24ecfaffa59 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java @@ -354,7 +354,6 @@ private Map generateVariables() { for (Property localParam : localParams) { if (Objects.isNull(variables.get(localParam.getProp())) || variables.get(localParam.getProp()).isEmpty()) { if (localParam.getValue() != null && !localParam.getValue().isEmpty()) { - // 解析value String value = ParameterUtils.convertParameterPlaceholders(localParam.getValue(), variables); if (StringUtils.isNotBlank(value)) { variables.put(localParam.getProp(), value); From 4838dc1911102aa525dfa0bbddf72c0e37ac8ea9 Mon Sep 17 00:00:00 2001 From: Jay Chung Date: Fri, 6 Feb 2026 11:25:53 +0800 Subject: [PATCH 05/13] Apply suggestion from @SbloodyS Co-authored-by: xiangzihao --- .../org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java | 1 - 1 file changed, 1 deletion(-) diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java index b24ecfaffa59..12023e840c5a 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java @@ -363,7 +363,6 @@ private Map generateVariables() { for (Property globalParam : globalParams) { if (globalParam.getProp().equals(localParam.getProp())) { if (globalParam.getValue() != null && !globalParam.getValue().isEmpty()) { - // 解析value String value = ParameterUtils.convertParameterPlaceholders(globalParam.getValue(), variables); if (StringUtils.isNotBlank(value)) { variables.put(localParam.getProp(), value); From 414ed1b5dc70c5075edb74f7bd2eaf7a7e273b12 Mon Sep 17 00:00:00 2001 From: Jay Chung Date: Fri, 6 Feb 2026 11:26:02 +0800 Subject: [PATCH 06/13] Apply suggestion from @SbloodyS Co-authored-by: xiangzihao --- .../apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java index 12023e840c5a..4b5e186712da 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java @@ -375,7 +375,7 @@ private Map generateVariables() { } } } - log.info("will send variables to dinky: {}", variables); + log.debug("sending variables to dinky: {}", variables); return variables; } From 71103c887583542f695eb143cecd37a5de8c9e13 Mon Sep 17 00:00:00 2001 From: shaolei Date: Wed, 4 Feb 2026 11:42:42 +0800 Subject: [PATCH 07/13] check style --- .../dolphinscheduler/plugin/task/dinky/DinkyTask.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java index 4b5e186712da..c839fd2fcfcf 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java @@ -27,7 +27,6 @@ import org.apache.dolphinscheduler.plugin.task.api.TaskExecutionContext; import org.apache.dolphinscheduler.plugin.task.api.model.Property; import org.apache.dolphinscheduler.plugin.task.api.parameters.AbstractParameters; -import org.apache.dolphinscheduler.plugin.task.api.parser.PlaceholderUtils; import org.apache.dolphinscheduler.plugin.task.api.utils.ParameterUtils; import org.apache.commons.lang3.StringUtils; @@ -341,6 +340,8 @@ private Map generateVariables() { Map variables = new ConcurrentHashMap<>(); Map prepareParamsMap = taskExecutionContext.getPrepareParamsMap(); + // 全量参数,先统一插入到variables,有些key可能是没值的 + // 后面从取taskParams和prepareParamsMap交集,交集key先从localParams获取value,有值的放到variables;没值的从globalParams获取 prepareParamsMap.forEach((key, property) -> { if (Objects.nonNull(property) && Objects.nonNull(property.getValue())) { variables.put(key, property.getValue()); @@ -352,8 +353,10 @@ private Map generateVariables() { if (!localParams.isEmpty()) { for (Property localParam : localParams) { + // 如果variables没有这个key || value空的,从局部、全局 解析值,插入variables if (Objects.isNull(variables.get(localParam.getProp())) || variables.get(localParam.getProp()).isEmpty()) { if (localParam.getValue() != null && !localParam.getValue().isEmpty()) { + // 解析value String value = ParameterUtils.convertParameterPlaceholders(localParam.getValue(), variables); if (StringUtils.isNotBlank(value)) { variables.put(localParam.getProp(), value); @@ -363,6 +366,7 @@ private Map generateVariables() { for (Property globalParam : globalParams) { if (globalParam.getProp().equals(localParam.getProp())) { if (globalParam.getValue() != null && !globalParam.getValue().isEmpty()) { + // 解析value String value = ParameterUtils.convertParameterPlaceholders(globalParam.getValue(), variables); if (StringUtils.isNotBlank(value)) { variables.put(localParam.getProp(), value); From a910ea9025c2b0ce78188aa04c72b7ad9fb8a4b3 Mon Sep 17 00:00:00 2001 From: shaolei Date: Fri, 6 Feb 2026 16:20:16 +0800 Subject: [PATCH 08/13] Optimize this code --- .../plugin/task/dinky/DinkyTask.java | 45 +++---------------- 1 file changed, 5 insertions(+), 40 deletions(-) diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java index c839fd2fcfcf..33e63b37f2ec 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java @@ -46,8 +46,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Objects; -import java.util.concurrent.ConcurrentHashMap; import lombok.extern.slf4j.Slf4j; @@ -337,49 +335,16 @@ public void cancelApplication() throws TaskException { } private Map generateVariables() { - Map variables = new ConcurrentHashMap<>(); Map prepareParamsMap = taskExecutionContext.getPrepareParamsMap(); - - // 全量参数,先统一插入到variables,有些key可能是没值的 - // 后面从取taskParams和prepareParamsMap交集,交集key先从localParams获取value,有值的放到variables;没值的从globalParams获取 - prepareParamsMap.forEach((key, property) -> { - if (Objects.nonNull(property) && Objects.nonNull(property.getValue())) { - variables.put(key, property.getValue()); - } - }); - + Map variables = ParameterUtils.convert(prepareParamsMap); List localParams = this.dinkyParameters.getLocalParams(); - List globalParams = JSONUtils.toList(taskExecutionContext.getGlobalParams(), Property.class); - if (!localParams.isEmpty()) { - for (Property localParam : localParams) { - // 如果variables没有这个key || value空的,从局部、全局 解析值,插入variables - if (Objects.isNull(variables.get(localParam.getProp())) || variables.get(localParam.getProp()).isEmpty()) { - if (localParam.getValue() != null && !localParam.getValue().isEmpty()) { - // 解析value - String value = ParameterUtils.convertParameterPlaceholders(localParam.getValue(), variables); - if (StringUtils.isNotBlank(value)) { - variables.put(localParam.getProp(), value); - } - } else { - if (!globalParams.isEmpty()) { - for (Property globalParam : globalParams) { - if (globalParam.getProp().equals(localParam.getProp())) { - if (globalParam.getValue() != null && !globalParam.getValue().isEmpty()) { - // 解析value - String value = ParameterUtils.convertParameterPlaceholders(globalParam.getValue(), variables); - if (StringUtils.isNotBlank(value)) { - variables.put(localParam.getProp(), value); - } - } - } - } - } - } - } + for (Property property : localParams) { + variables.put(property.getProp(), + ParameterUtils.convertParameterPlaceholders(property.getValue(), variables)); } } - log.debug("sending variables to dinky: {}", variables); + log.info("sending variables to dinky: {}", variables); return variables; } From e9c69ea706bdd9d3970807079fe72f1e40841626 Mon Sep 17 00:00:00 2001 From: shaolei Date: Fri, 6 Feb 2026 16:26:56 +0800 Subject: [PATCH 09/13] Optimize this code --- .../org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java | 1 + 1 file changed, 1 insertion(+) diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java index 33e63b37f2ec..d40e4da71181 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java @@ -339,6 +339,7 @@ private Map generateVariables() { Map variables = ParameterUtils.convert(prepareParamsMap); List localParams = this.dinkyParameters.getLocalParams(); if (!localParams.isEmpty()) { + //update localParams value for (Property property : localParams) { variables.put(property.getProp(), ParameterUtils.convertParameterPlaceholders(property.getValue(), variables)); From 810cfb2e01fe5256ee79a28d3ec0f4ce6a81739b Mon Sep 17 00:00:00 2001 From: shaolei Date: Fri, 6 Feb 2026 16:28:08 +0800 Subject: [PATCH 10/13] Optimize this code --- .../apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java index d40e4da71181..930878308028 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java @@ -339,7 +339,7 @@ private Map generateVariables() { Map variables = ParameterUtils.convert(prepareParamsMap); List localParams = this.dinkyParameters.getLocalParams(); if (!localParams.isEmpty()) { - //update localParams value + //update localParams value for (Property property : localParams) { variables.put(property.getProp(), ParameterUtils.convertParameterPlaceholders(property.getValue(), variables)); From dedf9f988b71388b198f39c55fa0878c275ea252 Mon Sep 17 00:00:00 2001 From: shaolei Date: Fri, 6 Feb 2026 16:43:12 +0800 Subject: [PATCH 11/13] Optimize this code --- .../apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java index 930878308028..5c77f6ee4f1e 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java @@ -339,7 +339,7 @@ private Map generateVariables() { Map variables = ParameterUtils.convert(prepareParamsMap); List localParams = this.dinkyParameters.getLocalParams(); if (!localParams.isEmpty()) { - //update localParams value + // replace localParams value where value is expression for (Property property : localParams) { variables.put(property.getProp(), ParameterUtils.convertParameterPlaceholders(property.getValue(), variables)); From a1a3f5c1c5c1098352a02dc56b4529bbef147f40 Mon Sep 17 00:00:00 2001 From: shaolei Date: Mon, 9 Feb 2026 09:18:55 +0800 Subject: [PATCH 12/13] Optimize this code --- .../apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java index 5c77f6ee4f1e..4988a0c1ce6f 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java @@ -338,7 +338,7 @@ private Map generateVariables() { Map prepareParamsMap = taskExecutionContext.getPrepareParamsMap(); Map variables = ParameterUtils.convert(prepareParamsMap); List localParams = this.dinkyParameters.getLocalParams(); - if (!localParams.isEmpty()) { + if (localParams != null) { // replace localParams value where value is expression for (Property property : localParams) { variables.put(property.getProp(), From 1a8b480d251ba8d0c05f9b0d75a93ba7cd9ea525 Mon Sep 17 00:00:00 2001 From: shaolei Date: Wed, 11 Feb 2026 09:24:56 +0800 Subject: [PATCH 13/13] Optimize this code --- .../plugin/task/dinky/DinkyTask.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java index 4988a0c1ce6f..fa285fcc627a 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-dinky/src/main/java/org/apache/dolphinscheduler/plugin/task/dinky/DinkyTask.java @@ -46,6 +46,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import lombok.extern.slf4j.Slf4j; @@ -335,14 +336,21 @@ public void cancelApplication() throws TaskException { } private Map generateVariables() { + Map variables = new ConcurrentHashMap<>(); Map prepareParamsMap = taskExecutionContext.getPrepareParamsMap(); - Map variables = ParameterUtils.convert(prepareParamsMap); + prepareParamsMap.forEach((key, property) -> { + if (property != null && property.getValue() != null) { + variables.put(key, property.getValue().trim()); + } + }); List localParams = this.dinkyParameters.getLocalParams(); if (localParams != null) { // replace localParams value where value is expression for (Property property : localParams) { - variables.put(property.getProp(), - ParameterUtils.convertParameterPlaceholders(property.getValue(), variables)); + String value = ParameterUtils.convertParameterPlaceholders(property.getValue(), variables); + if (value != null && !value.isEmpty()) { + variables.put(property.getProp(), value.trim()); + } } } log.info("sending variables to dinky: {}", variables); @@ -457,7 +465,7 @@ private String sendJsonStr(String url, String params) { } catch (Exception he) { log.error("dinky task terminated: ", he); } - return result; + return result;// todo } }