From ac9f5dc271163d3db50b05e12c627ea8f07ba9ee Mon Sep 17 00:00:00 2001 From: lgcareer <18610854716@163.com> Date: Thu, 15 Oct 2020 16:48:48 +0800 Subject: [PATCH] [fix-3843][api] When update workflow definition,if name already exists, the prompt is not friendly --- .../api/service/ProcessDefinitionService.java | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionService.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionService.java index a28bbc4b95..2312c99f0e 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionService.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionService.java @@ -382,24 +382,25 @@ public class ProcessDefinitionService extends BaseDAGService { return checkProcessJson; } ProcessDefinition processDefine = processService.findProcessDefineById(id); - if (!name.equals(processDefine.getName())) { - ProcessDefinition definition = processDefineMapper.verifyByDefineName(project.getId(), name); - if (definition != null) { - putMsg(result, Status.VERIFY_PROCESS_DEFINITION_NAME_UNIQUE_ERROR, name); - return result; - } - } - + // check process definition exists if (processDefine == null) { - // check process definition exists putMsg(result, Status.PROCESS_DEFINE_NOT_EXIST, id); return result; - } else if (processDefine.getReleaseState() == ReleaseState.ONLINE) { + } + + if (processDefine.getReleaseState() == ReleaseState.ONLINE) { // online can not permit edit putMsg(result, Status.PROCESS_DEFINE_NOT_ALLOWED_EDIT, processDefine.getName()); return result; - } else { - putMsg(result, Status.SUCCESS); + } + + if (!name.equals(processDefine.getName())) { + // check whether the new process define name exist + ProcessDefinition definition = processDefineMapper.verifyByDefineName(project.getId(), name); + if (definition != null) { + putMsg(result, Status.VERIFY_PROCESS_DEFINITION_NAME_UNIQUE_ERROR, name); + return result; + } } Date now = new Date();