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

dockerzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new 9549819316 [INLONG-8834][Manager] Fix the problem of no relationship 
generated after setting the transformNode (#8840)
9549819316 is described below

commit 95498193165201a758f625ca2bf4bdb3f21d8497
Author: fuweng11 <[email protected]>
AuthorDate: Wed Sep 6 20:37:48 2023 +0800

    [INLONG-8834][Manager] Fix the problem of no relationship generated after 
setting the transformNode (#8840)
---
 .../inlong/manager/pojo/sort/util/NodeRelationUtils.java   | 10 ++++++++++
 .../inlong/manager/pojo/sort/util/TransformNodeUtils.java  |  2 +-
 .../service/resource/sort/DefaultSortConfigOperator.java   | 14 +++++++++++++-
 3 files changed, 24 insertions(+), 2 deletions(-)

diff --git 
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/util/NodeRelationUtils.java
 
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/util/NodeRelationUtils.java
index 17c3e569a2..cf3e4e8894 100644
--- 
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/util/NodeRelationUtils.java
+++ 
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/util/NodeRelationUtils.java
@@ -118,6 +118,16 @@ public class NodeRelationUtils {
         return Lists.newArrayList(relation);
     }
 
+    /**
+     * Create node relation from the given inputs, outputs
+     */
+    public static NodeRelation createNodeRelation(List<String> inputs, 
List<String> outputs) {
+        NodeRelation relation = new NodeRelation();
+        relation.setInputs(inputs);
+        relation.setOutputs(outputs);
+        return relation;
+    }
+
     /**
      * Optimize relation of node, JoinerRelation must be rebuilt.
      */
diff --git 
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/util/TransformNodeUtils.java
 
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/util/TransformNodeUtils.java
index 3ec9f788a6..877bbd874e 100644
--- 
a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/util/TransformNodeUtils.java
+++ 
b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/util/TransformNodeUtils.java
@@ -111,7 +111,7 @@ public class TransformNodeUtils {
         transformNode.setName(transformResponse.getTransformName());
         // Filter constant fields
         List<FieldInfo> fieldInfos = transformResponse.getFieldList().stream()
-                .filter(s -> s.getFieldValue() != null)
+                .filter(s -> s.getFieldValue() == null)
                 
.map(FieldInfoUtils::parseStreamField).collect(Collectors.toList());
         transformNode.setFields(fieldInfos);
         
transformNode.setFieldRelations(FieldRelationUtils.createFieldRelations(transformResponse,
 constantFieldMap));
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/resource/sort/DefaultSortConfigOperator.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/resource/sort/DefaultSortConfigOperator.java
index 37429cf2a5..587170e238 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/resource/sort/DefaultSortConfigOperator.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/resource/sort/DefaultSortConfigOperator.java
@@ -45,6 +45,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -149,7 +150,17 @@ public class DefaultSortConfigOperator implements 
SortConfigOperator {
                     relations = NodeRelationUtils.createNodeRelations(sources, 
sinks);
                 }
             } else {
-                relations = NodeRelationUtils.createNodeRelations(sources, 
sinks);
+                if (CollectionUtils.isNotEmpty(transformResponses)) {
+                    List<String> sourcesNames = 
sources.stream().map(StreamSource::getSourceName)
+                            .collect(Collectors.toList());
+                    List<String> transFormNames = 
transformResponses.stream().map(TransformResponse::getTransformName)
+                            .collect(Collectors.toList());
+                    List<String> sinkNames = 
sinks.stream().map(StreamSink::getSinkName).collect(Collectors.toList());
+                    relations = 
Arrays.asList(NodeRelationUtils.createNodeRelation(sourcesNames, 
transFormNames),
+                            
NodeRelationUtils.createNodeRelation(transFormNames, sinkNames));
+                } else {
+                    relations = NodeRelationUtils.createNodeRelations(sources, 
sinks);
+                }
             }
 
             // create extract-transform-load nodes
@@ -253,4 +264,5 @@ public class DefaultSortConfigOperator implements 
SortConfigOperator {
         groupInfo.getExtList().removeIf(ext -> 
extInfo.getKeyName().equals(ext.getKeyName()));
         groupInfo.getExtList().add(extInfo);
     }
+
 }

Reply via email to