You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by le...@apache.org on 2021/02/20 07:11:26 UTC

[incubator-dolphinscheduler] branch json_split updated: [Feature][JsonSplit] modify saveProcessDefine remove the duplicate code (#4810)

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

leonbao pushed a commit to branch json_split
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler.git


The following commit(s) were added to refs/heads/json_split by this push:
     new abf6723  [Feature][JsonSplit] modify saveProcessDefine remove the duplicate code (#4810)
abf6723 is described below

commit abf6723d38f5dd97b8524e7ca9f028cb8bb7528b
Author: Simon <zh...@cvte.com>
AuthorDate: Sat Feb 20 15:11:19 2021 +0800

    [Feature][JsonSplit] modify saveProcessDefine remove the duplicate code (#4810)
    
    * Modify Project and ProjectUser Mapper
    
    * Modify Project and ProjectUser Mapper
    
    * project_code is bigint(20)
    
    * modify ERROR name
    
    * modify saveProcessDefine, remove the duplicate code with createTaskAndRelation
---
 .../api/service/impl/ProcessDefinitionServiceImpl.java | 18 +++++++++++-------
 .../service/process/ProcessService.java                |  7 +------
 2 files changed, 12 insertions(+), 13 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 9850116..1820399 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
@@ -202,16 +202,20 @@ public class ProcessDefinitionServiceImpl extends BaseService implements
             putMsg(result, Status.CREATE_PROCESS_DEFINITION);
             return result;
         }
-        ProcessDefinitionLog processDefinitionLog = processService.insertProcessDefinitionLog(loginUser, processDefinitionCode, processDefinitionName, processData,
-                project, desc, locations, connects);
-        processService.switchVersion(processDefinition, processDefinitionLog);
+
         // TODO relationName have ?
-        processService.createTaskAndRelation(loginUser, project.getCode(), processDefinition, processData);
+        int saveResult = processService.saveProcessDefinition(loginUser, project, processDefinitionName, desc,
+                locations, connects, processData, processDefinition);
 
-        // return processDefinition object with ID
-        result.put(Constants.DATA_LIST, processDefinition.getId());
-        putMsg(result, Status.SUCCESS);
+        if (saveResult > 0) {
+            putMsg(result, Status.SUCCESS);
+            // return processDefinition object with ID
+            result.put(Constants.DATA_LIST, processDefinition.getId());
+        } else {
+            putMsg(result, Status.CREATE_PROCESS_DEFINITION);
+        }
         return result;
+
     }
 
 
diff --git a/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessService.java b/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessService.java
index 31b2d14..cf3e738 100644
--- a/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessService.java
+++ b/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessService.java
@@ -2224,16 +2224,11 @@ public class ProcessService {
     }
 
     /**
+     * save processDefinition (including create or update processDefinition)
      *
      */
     public int saveProcessDefinition(User operator, Project project, String name, String desc, String locations,
                                      String connects, ProcessData processData, ProcessDefinition processDefinition) {
-        List<TaskNode> taskNodeList = (processData.getTasks() == null) ? new ArrayList<>() : processData.getTasks();
-        for (TaskNode task : taskNodeList) {
-            // TODO update by code directly
-            TaskDefinition taskDefinition = taskDefinitionMapper.queryByDefinitionName(project.getCode(), task.getName());
-            updateTaskDefinition(operator, project.getCode(), task, taskDefinition);
-        }
         createTaskAndRelation(operator, project.getCode(), processDefinition, processData);
         ProcessDefinitionLog processDefinitionLog = insertProcessDefinitionLog(operator, processDefinition.getCode(),
                 name, processData, project, desc, locations, connects);