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 814648279..743fe1b94 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 @@ -75,15 +75,14 @@ public abstract class AbstractParameters implements IParameters { * @return parameters map */ public Map getLocalParametersMap() { + Map localParametersMaps = new LinkedHashMap<>(); if (localParams != null) { - Map localParametersMaps = new LinkedHashMap<>(); for (Property property : localParams) { localParametersMaps.put(property.getProp(),property); } - return localParametersMaps; } - return null; + return localParametersMaps; } /** @@ -92,14 +91,13 @@ public abstract class AbstractParameters implements IParameters { * @return parameters map */ public Map getVarPoolMap() { + Map varPoolMap = new LinkedHashMap<>(); if (varPool != null) { - Map varPoolMap = new LinkedHashMap<>(); for (Property property : varPool) { varPoolMap.put(property.getProp(), property); } - return varPoolMap; } - return null; + return varPoolMap; } public List getVarPool() { 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 876ec2123..415bab633 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 @@ -63,9 +63,10 @@ public class ParamUtils { // combining local and global parameters Map localParams = parameters.getLocalParametersMap(); + //stream pass params Map varParams = parameters.getVarPoolMap(); - if (globalParams == null && localParams == null) { + if (globalParams.size() == 0 && localParams.size() == 0 && varParams.size() == 0) { return null; } // if it is a complement, @@ -85,15 +86,13 @@ public class ParamUtils { } params.put(PARAMETER_TASK_INSTANCE_ID, Integer.toString(taskExecutionContext.getTaskInstanceId())); - if (globalParams != null && localParams != null) { + if (varParams.size() != 0) { + globalParams.putAll(varParams); + } + if (localParams.size() != 0) { globalParams.putAll(localParams); - } else if (globalParams == null && localParams != null) { - globalParams = localParams; - } - if (varParams != null) { - varParams.putAll(globalParams); - globalParams = varParams; } + Iterator> iter = globalParams.entrySet().iterator(); while (iter.hasNext()) { Map.Entry en = iter.next(); @@ -143,16 +142,15 @@ public class ParamUtils { * @return parameters map */ public static Map getUserDefParamsMap(Map definedParams) { + Map userDefParamsMaps = new HashMap<>(); if (definedParams != null) { - Map userDefParamsMaps = new HashMap<>(); Iterator> iter = definedParams.entrySet().iterator(); while (iter.hasNext()) { Map.Entry en = iter.next(); Property property = new Property(en.getKey(), Direct.IN, DataType.VARCHAR, en.getValue()); userDefParamsMaps.put(property.getProp(),property); } - return userDefParamsMaps; } - return null; + return userDefParamsMaps; } } \ No newline at end of file