|
11 | 11 | import com.webank.wedatasphere.dss.workflow.core.entity.Workflow;
|
12 | 12 | import com.webank.wedatasphere.dss.workflow.core.entity.WorkflowNode;
|
13 | 13 | import com.webank.wedatasphere.dss.workflow.core.entity.WorkflowNodeEdge;
|
14 |
| -import org.apache.commons.lang3.StringUtils; |
15 | 14 | import org.slf4j.Logger;
|
16 | 15 | import org.slf4j.LoggerFactory;
|
17 | 16 | import org.springframework.beans.BeanUtils;
|
@@ -59,14 +58,17 @@ private DolphinSchedulerWorkflow convertWorkflow(DolphinSchedulerConvertedRel do
|
59 | 58 | put("direct", "IN");
|
60 | 59 | }});
|
61 | 60 | Map<String, DolphinSchedulerWorkflow.LocationInfo> locations = new HashMap<>();
|
| 61 | + Map<String, String> nameToIdMap = workflow.getWorkflowNodes().stream() |
| 62 | + .collect(Collectors.toMap(WorkflowNode::getName, WorkflowNode::getId)); |
62 | 63 | for (WorkflowNode workflowNode : workflow.getWorkflowNodes()) {
|
63 | 64 | DSSNode node = workflowNode.getDSSNode();
|
64 | 65 | DolphinSchedulerTask dolphinSchedulerTask = nodeConverter.convertNode(dolphinSchedulerConvertedRel, node);
|
65 | 66 | processDefinitionJson.addTask(dolphinSchedulerTask);
|
66 | 67 |
|
67 | 68 | DolphinSchedulerWorkflow.LocationInfo locationInfo = new DolphinSchedulerWorkflow.LocationInfo();
|
68 | 69 | locationInfo.setName(node.getName());
|
69 |
| - locationInfo.setTargetarr(StringUtils.join(node.getDependencys(), ",")); |
| 70 | + String targetarr = node.getDependencys().stream().map(nameToIdMap::get).collect(Collectors.joining(",")); |
| 71 | + locationInfo.setTargetarr(targetarr); |
70 | 72 | locationInfo.setX((int)node.getLayout().getX());
|
71 | 73 | locationInfo.setY((int)node.getLayout().getY());
|
72 | 74 | locations.put(node.getId(), locationInfo);
|
|
0 commit comments