You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by le...@apache.org on 2020/12/15 08:26:49 UTC
[incubator-dolphinscheduler] branch 1.3.4-prepare updated: cherry
pick #4288 to 1.3.4-pre (#4229)
This is an automated email from the ASF dual-hosted git repository.
leonbao pushed a commit to branch 1.3.4-prepare
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler.git
The following commit(s) were added to refs/heads/1.3.4-prepare by this push:
new ac71e73 cherry pick #4288 to 1.3.4-pre (#4229)
ac71e73 is described below
commit ac71e731a7da745073a772371a3de0f78f9ba329
Author: Kirs <ac...@163.com>
AuthorDate: Tue Dec 15 16:26:41 2020 +0800
cherry pick #4288 to 1.3.4-pre (#4229)
* cherry pick #4288 to 1.3.4-pre
* remove unused import
---
.../dolphinscheduler/common/utils/ParameterUtils.java | 18 ++++++------------
.../server/worker/task/shell/ShellTask.java | 16 +---------------
2 files changed, 7 insertions(+), 27 deletions(-)
diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/ParameterUtils.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/ParameterUtils.java
index 1227b4e..49746cd 100644
--- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/ParameterUtils.java
+++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/ParameterUtils.java
@@ -61,29 +61,23 @@ public class ParameterUtils {
* @return convert parameters place holders
*/
public static String convertParameterPlaceholders(String parameterString, Map<String, String> parameterMap) {
- if (StringUtils.isEmpty(parameterString) || parameterMap == null) {
+ if (StringUtils.isEmpty(parameterString)) {
return parameterString;
}
-
- //Get current time, schedule execute time
- String cronTimeStr = parameterMap.get(Constants.PARAMETER_DATETIME);
-
Date cronTime;
-
- if (StringUtils.isNotEmpty(cronTimeStr)) {
+ if (parameterMap != null && !parameterMap.isEmpty()) {
+ //Get current time, schedule execute time
+ String cronTimeStr = parameterMap.get(Constants.PARAMETER_DATETIME);
cronTime = DateUtils.parse(cronTimeStr, Constants.PARAMETER_FORMAT_TIME);
+ // replace variable ${} form,refers to the replacement of system variables and custom variables
+ parameterString = PlaceholderUtils.replacePlaceholders(parameterString, parameterMap, true);
} else {
cronTime = new Date();
}
-
- // replace variable ${} form,refers to the replacement of system variables and custom variables
- parameterString = PlaceholderUtils.replacePlaceholders(parameterString, parameterMap, true);
-
// replace time $[...] form, eg. $[yyyyMMdd]
if (cronTime != null) {
return dateTemplateParse(parameterString, cronTime);
}
-
return parameterString;
}
diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/task/shell/ShellTask.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/task/shell/ShellTask.java
index 075be60..929003c 100644
--- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/task/shell/ShellTask.java
+++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/task/shell/ShellTask.java
@@ -22,7 +22,6 @@ import org.apache.dolphinscheduler.common.enums.CommandType;
import org.apache.dolphinscheduler.common.process.Property;
import org.apache.dolphinscheduler.common.task.AbstractParameters;
import org.apache.dolphinscheduler.common.task.shell.ShellParameters;
-import org.apache.dolphinscheduler.common.utils.DateUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
import org.apache.dolphinscheduler.common.utils.OSUtils;
import org.apache.dolphinscheduler.common.utils.ParameterUtils;
@@ -135,21 +134,8 @@ public class ShellTask extends AbstractTask {
shellParameters.getLocalParametersMap(),
CommandType.of(taskExecutionContext.getCmdTypeIfComplement()),
taskExecutionContext.getScheduleTime());
- if (paramsMap != null){
- script = ParameterUtils.convertParameterPlaceholders(script, ParamUtils.convert(paramsMap));
- }
- // new
// replace variable TIME with $[YYYYmmddd...] in shell file when history run job and batch complement job
- if (paramsMap != null) {
- if (taskExecutionContext.getScheduleTime() != null) {
- String dateTime = DateUtils.format(taskExecutionContext.getScheduleTime(), Constants.PARAMETER_FORMAT_TIME);
- Property p = new Property();
- p.setValue(dateTime);
- p.setProp(Constants.PARAMETER_SHECDULE_TIME);
- paramsMap.put(Constants.PARAMETER_SHECDULE_TIME, p);
- }
- script = ParameterUtils.convertParameterPlaceholders2(script, ParamUtils.convert(paramsMap));
- }
+ script = ParameterUtils.convertParameterPlaceholders(script, ParamUtils.convert(paramsMap));
shellParameters.setRawScript(script);