未验证 提交 d0f72508 编写于 作者: I insist777 提交者: GitHub

Merge pull request #58 from insist777/ws-3.0.0

[Improvement] Dependent tasks support dependent policies
......@@ -33,8 +33,10 @@ import org.apache.dolphinscheduler.plugin.task.api.parameters.SwitchParameters;
import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import static org.apache.dolphinscheduler.common.Constants.NULL;
import static org.apache.dolphinscheduler.common.Constants.SEC_2_MINUTES_TIME_UNIT;
import static org.apache.dolphinscheduler.plugin.task.api.TaskConstants.TASK_TYPE_BLOCKING;
import static org.apache.dolphinscheduler.plugin.task.api.TaskConstants.TASK_TYPE_CONDITIONS;
......@@ -477,7 +479,9 @@ public class TaskInstance implements Serializable {
Map<String, Object> taskParamsMap = JSONUtils.parseObject(this.getTaskParams(), new TypeReference<Map<String, Object>>() {
});
this.dependency = JSONUtils.parseObject((String) taskParamsMap.get(Constants.DEPENDENCE), DependentParameters.class);
this.dependency.setOtherParams((Map<String, Object>) taskParamsMap.get(Constants.OTHER_PARAMS));
if (taskParamsMap.get(Constants.OTHER_PARAMS) != null){
this.dependency.setOtherParams((Map<String, Object>) taskParamsMap.get(Constants.OTHER_PARAMS));
}
}
return this.dependency;
}
......
......@@ -47,7 +47,9 @@ public final class TaskProcessorFactory {
static {
for (ITaskProcessor iTaskProcessor : ServiceLoader.load(ITaskProcessor.class)) {
try {
PROCESS_MAP.put(iTaskProcessor.getType(), (Constructor<ITaskProcessor>) iTaskProcessor.getClass().getConstructor());
if (!PROCESS_MAP.containsKey(iTaskProcessor.getType())) {
PROCESS_MAP.put(iTaskProcessor.getType(), (Constructor<ITaskProcessor>) iTaskProcessor.getClass().getConstructor());
}
} catch (NoSuchMethodException e) {
throw new IllegalArgumentException("The task processor should has a no args constructor", e);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册