You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by zh...@apache.org on 2022/08/03 11:57:27 UTC

[dolphinscheduler] 07/16: [fix-10596] Workflow relationship cannot be displayed normally (#10625)

This is an automated email from the ASF dual-hosted git repository.

zhongjiajie pushed a commit to branch 3.0.0-prepare
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git

commit 1e498a5f894a86bf1f9f10600de540498dad7c3c
Author: liudi1184 <30...@users.noreply.github.com>
AuthorDate: Mon Jun 27 17:26:41 2022 +0800

    [fix-10596] Workflow relationship cannot be displayed normally (#10625)
    
    Workflow relationship cannot be displayed normally
    
    Closes #10596
    
    Co-authored-by: liudadi <li...@thinkingdata.cn>
    (cherry picked from commit 56d3db030640881e8cf5e0c93ce25a540580b08d)
---
 .../api/service/impl/WorkFlowLineageServiceImpl.java        | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

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<DependentTaskModel> dependTaskList = dependentParameters.getDependTaskList();
-                        for (DependentTaskModel taskModel : dependTaskList) {
-                            List<DependentItem> 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<DependentItem> dependItemList = taskModel.getDependItemList();
+                                for (DependentItem dependentItem : dependItemList) {
+                                    if (dependentItem.getProjectCode() == projectCode && dependentItem.getDefinitionCode() != workFlowCode) {
+                                        sourceWorkFlowCodes.add(dependentItem.getDefinitionCode());
+                                    }
                                 }
                             }
                         }