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 cd19507  [feature][jsonsplit]fix copy/export/import processDefinition 
bugs (#5146)
cd19507 is described below

commit cd1950727112c75a9c5cd7d2ea4e4338e37eb9b7
Author: Simon <[email protected]>
AuthorDate: Thu Mar 25 18:27:47 2021 +0800

    [feature][jsonsplit]fix copy/export/import processDefinition bugs (#5146)
    
    * 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
    
    * modify import/export processdefinition, add genProcessData
    
    * fix ut and bug
    
    * code style
    
    * repalce project_id with code
    
    * conflicts solve
    
    * conflicts solve
    
    * conflicts solve
    
    * bugfix
    
    * modify listResources mothod and remove getResourceIds mothod
    
    * 1
    
    * conflicts solve
    
    * modify listResources mothod and remove getResourceIds mothod
    
    * modify listResources mothod and remove getResourceIds mothod
    
    * replace processDefinitionVersion with processDefinitionLog
    
    * codestyle
    
    * codestyle
    
    * add mapper module ut
    
    * codestyle
    
    * fix ProcessInstanceMapperTest
    
    * codestyle
    
    * conflicts solve
    
    * conflicts solve
    
    * conflicts solve
    
    * conflicts solve
    
    * conflicts solve
    
    * fix ProcessInstanceMapperTest
    
    * fix ProjectMapperTest/ProjectUserMapperTest/ScheduleMapperTest
    
    * fix ProjectMapperTest/ProjectUserMapperTest/ScheduleMapperTest
    
    * fix TaskInstanceMapperTest
    
    * add TaskDefinitionLogMapperTest/TaskDefinitionMapperTest and bugfix
    
    * codestyle
    
    * codestyle
    
    * Refactor process lineage
    
    * Refactor process lineage
    
    * codestyle
    
    * codestyle
    
    * Refactor process lineage
    
    * Refactor process lineage
    
    * add WorkFlowLineageMapperTest/WorkFlowLineageServiceTest
    
    * add WorkFlowLineageMapperTest/WorkFlowLineageServiceTest
    
    * add ProcessServiceTest
    
    * 1
    
    * 1
    
    * fix copy/export/import processDefinition bugs
    
    * 1
    
    * codestyle
---
 .../api/service/impl/ProcessDefinitionServiceImpl.java        | 11 ++++++++++-
 .../dolphinscheduler/common/model/PreviousTaskNode.java       |  4 ++++
 .../dolphinscheduler/service/process/ProcessService.java      |  1 +
 3 files changed, 15 insertions(+), 1 deletion(-)

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 dec3d19..96a7372 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
@@ -281,6 +281,7 @@ public class ProcessDefinitionServiceImpl extends 
BaseServiceImpl implements Pro
             int operator = processDefinitionLog.getOperator();
             User user = userMapper.selectById(operator);
             pd.setModifyBy(user.getUserName());
+            pd.setProjectId(project.getId());
         }
 
         processDefinitionIPage.setRecords(records);
@@ -1397,7 +1398,10 @@ public class ProcessDefinitionServiceImpl extends 
BaseServiceImpl implements Pro
         } else {
             ProcessData processData = 
processService.genProcessData(processDefinition);
             List<TaskNode> taskNodeList = processData.getTasks();
-            taskNodeList.forEach(taskNode -> taskNode.setCode(0L));
+            taskNodeList.forEach(taskNode -> {
+                taskNode.setName(taskNode.getName() + "_copy_" + 
DateUtils.getCurrentTimeStamp());
+                taskNode.setCode(0L);
+            });
             processData.setTasks(taskNodeList);
             String processDefinitionJson = JSONUtils.toJsonString(processData);
             return createProcessDefinition(
@@ -1579,6 +1583,8 @@ public class ProcessDefinitionServiceImpl extends 
BaseServiceImpl implements Pro
                 }
             } catch (Exception e) {
                 setFailedProcessList(failedProcessList, processDefinitionId);
+                logger.error("move processDefinition error: {}", 
e.getMessage(), e);
+
             }
         }
     }
@@ -1602,6 +1608,8 @@ public class ProcessDefinitionServiceImpl extends 
BaseServiceImpl implements Pro
                 }
             } catch (Exception e) {
                 setFailedProcessList(failedProcessList, processDefinitionId);
+                logger.error("copy processDefinition error: {}", 
e.getMessage(), e);
+
             }
         }
     }
@@ -1689,6 +1697,7 @@ public class ProcessDefinitionServiceImpl extends 
BaseServiceImpl implements Pro
             putMsg(result, Status.SUCCESS);
         }
     }
+
     /**
      * check has associated process definition
      *
diff --git 
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/model/PreviousTaskNode.java
 
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/model/PreviousTaskNode.java
index c0ac665..0203575 100644
--- 
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/model/PreviousTaskNode.java
+++ 
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/model/PreviousTaskNode.java
@@ -34,6 +34,10 @@ public class PreviousTaskNode {
      */
     private int version;
 
+    public PreviousTaskNode() {
+
+    }
+    
     public PreviousTaskNode(long code, String name, int version) {
         this.code = code;
         this.name = name;
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 4dbb60a..9c9a4e7 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
@@ -2298,6 +2298,7 @@ public class ProcessService {
                                                            String desc, String 
locations, String connects) {
         ProcessDefinitionLog processDefinitionLog = new ProcessDefinitionLog();
         Integer version = 
processDefineLogMapper.queryMaxVersionForDefinition(processDefinitionCode);
+        processDefinitionLog.setUserId(operator.getId());
         processDefinitionLog.setCode(processDefinitionCode);
         processDefinitionLog.setVersion(version == null || version == 0 ? 1 : 
version);
         processDefinitionLog.setName(processDefinitionName);

Reply via email to