diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkFlowLineageServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkFlowLineageServiceImpl.java index 08b3d221be..3b9d38ec02 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkFlowLineageServiceImpl.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkFlowLineageServiceImpl.java @@ -49,6 +49,7 @@ import java.util.stream.Collectors; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; /** * work flow lineage service impl @@ -206,11 +207,13 @@ public class WorkFlowLineageServiceImpl extends BaseServiceImpl implements WorkF DependentParameters dependentParameters = JSONUtils.parseObject(taskDefinitionLog.getDependence(), DependentParameters.class); if (dependentParameters != null) { List dependTaskList = dependentParameters.getDependTaskList(); - for (DependentTaskModel taskModel : dependTaskList) { - List dependItemList = taskModel.getDependItemList(); - for (DependentItem dependentItem : dependItemList) { - if (dependentItem.getProjectCode() == projectCode && dependentItem.getDefinitionCode() != workFlowCode) { - sourceWorkFlowCodes.add(dependentItem.getDefinitionCode()); + if (!CollectionUtils.isEmpty(dependTaskList)) { + for (DependentTaskModel taskModel : dependTaskList) { + List dependItemList = taskModel.getDependItemList(); + for (DependentItem dependentItem : dependItemList) { + if (dependentItem.getProjectCode() == projectCode && dependentItem.getDefinitionCode() != workFlowCode) { + sourceWorkFlowCodes.add(dependentItem.getDefinitionCode()); + } } } }