From 8d6c2e3a6ca29439089b417bbd30debd72e7004e Mon Sep 17 00:00:00 2001 From: Simon Date: Wed, 7 Apr 2021 17:17:51 +0800 Subject: [PATCH] fix copy locations name error (#5228) --- .../service/impl/ProcessDefinitionServiceImpl.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java index dedc23022b..9365f68f80 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java @@ -1404,8 +1404,16 @@ public class ProcessDefinitionServiceImpl extends BaseServiceImpl implements Pro } else { ProcessData processData = processService.genProcessData(processDefinition); List taskNodeList = processData.getTasks(); + String locations = processDefinition.getLocations(); + ObjectNode locationsJN = JSONUtils.parseObject(locations); + taskNodeList.forEach(taskNode -> { - taskNode.setName(taskNode.getName() + "_copy_" + DateUtils.getCurrentTimeStamp()); + String suffix = "_copy_" + DateUtils.getCurrentTimeStamp(); + String id = taskNode.getId(); + String newName = locationsJN.path(id).path("name").asText() + suffix; + ((ObjectNode) locationsJN.get(id)).put("name", newName); + + taskNode.setName(taskNode.getName() + suffix); taskNode.setCode("0"); }); processData.setTasks(taskNodeList); @@ -1416,7 +1424,7 @@ public class ProcessDefinitionServiceImpl extends BaseServiceImpl implements Pro processDefinition.getName() + "_copy_" + DateUtils.getCurrentTimeStamp(), processDefinitionJson, processDefinition.getDescription(), - processDefinition.getLocations(), + locationsJN.toString(), processDefinition.getConnects()); }