From 04d4e4e0c4912ccdbbe8aa857af95dcc397e9e4e Mon Sep 17 00:00:00 2001 From: Tq Date: Wed, 13 Apr 2022 10:43:12 +0800 Subject: [PATCH] fix the OUT direct param could pass to the current script (#9463) --- .../task/api/parameters/AbstractParameters.java | 17 +++++++++++++++++ .../plugin/task/api/parser/ParamUtils.java | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/parameters/AbstractParameters.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/parameters/AbstractParameters.java index c556925f9..4a7f1c83c 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/parameters/AbstractParameters.java +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/parameters/AbstractParameters.java @@ -84,6 +84,23 @@ public abstract class AbstractParameters implements IParameters { return localParametersMaps; } + /** + * get input local parameters map if the param direct is IN + * @return parameters map + */ + public Map getInputLocalParametersMap() { + Map localParametersMaps = new LinkedHashMap<>(); + if (localParams != null) { + + for (Property property : localParams) { + if (property.getDirect().equals(Direct.IN)) { + localParametersMaps.put(property.getProp(), property); + } + } + } + return localParametersMaps; + } + /** * get varPool map * diff --git a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/parser/ParamUtils.java b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/parser/ParamUtils.java index 415bab633..a59e1bf28 100644 --- a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/parser/ParamUtils.java +++ b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/parser/ParamUtils.java @@ -61,7 +61,7 @@ public class ParamUtils { Date scheduleTime = taskExecutionContext.getScheduleTime(); // combining local and global parameters - Map localParams = parameters.getLocalParametersMap(); + Map localParams = parameters.getInputLocalParametersMap(); //stream pass params Map varParams = parameters.getVarPoolMap();