feat: workflow's DAG must be not empty

This commit is contained in:
Echo009 2022-02-11 14:58:41 +08:00
parent d87c358743
commit b60c236824
2 changed files with 5 additions and 4 deletions

View File

@ -107,10 +107,7 @@ public class WorkflowService {
* 这里会物理删除游离的节点信息
*/
private String validateAndConvert2String(Long wfId, PEWorkflowDAG dag) {
if (dag == null || CollectionUtils.isEmpty(dag.getNodes())) {
return "{}";
}
if (!WorkflowDAGUtils.valid(dag)) {
if (dag == null || !WorkflowDAGUtils.valid(dag)) {
throw new PowerJobException("illegal DAG");
}
// 注意这里只会保存图相关的基础信息nodeId,jobId,jobName(nodeAlias)

View File

@ -66,6 +66,10 @@ public class WorkflowDAGUtils {
// 校验节点 ID 是否重复
Set<Long> nodeIds = Sets.newHashSet();
// 不允许为空
if (peWorkflowDAG.getNodes() == null || peWorkflowDAG.getNodes().isEmpty()){
return false;
}
for (PEWorkflowDAG.Node n : peWorkflowDAG.getNodes()) {
if (nodeIds.contains(n.getNodeId())) {
return false;