Browse Source

[Feature][JsonSplit] Fix bug in interface of queryProcessDefinitionList (#5043)

* modify checkDAGRing and ProcessService method

* merge

* modify dagRing

* modify process instance for project home page

* fix save process bug

* codeStyle

* Fix logical bug in saving process definition

* codeSytle

* Fix bug in interface of  queryProcessDefinitionList

* codeSytle

Co-authored-by: JinyLeeChina <297062848@qq.com>
JinyLeeChina 4 years ago
parent
commit
d98c2c5cfe

+ 1 - 6
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java

@@ -270,12 +270,7 @@ public class ProcessDefinitionServiceImpl extends BaseServiceImpl implements Pro
         IPage<ProcessDefinition> processDefinitionIPage = processDefinitionMapper.queryDefineListPaging(
                 page, searchVal, userId, project.getCode(), isAdmin(loginUser));
 
-        List<ProcessDefinition> records = processDefinitionIPage.getRecords();
-        records.forEach(processDefinition -> {
-            ProcessData processData = processService.genProcessData(processDefinition);
-            processDefinition.setProcessDefinitionJson(JSONUtils.toJsonString(processData));
-        });
-        processDefinitionIPage.setRecords(records);
+        processDefinitionIPage.setRecords(processDefinitionIPage.getRecords());
 
         PageInfo<ProcessDefinition> pageInfo = new PageInfo<>(pageNo, pageSize);
         pageInfo.setTotalCount((int) processDefinitionIPage.getTotal());

+ 5 - 0
dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java

@@ -418,6 +418,11 @@ public final class Constants {
      */
     public static final String FLOWNODE_RUN_FLAG_FORBIDDEN = "FORBIDDEN";
 
+    /**
+     * normal running task
+     */
+    public static final String FLOWNODE_RUN_FLAG_NORMAL = "NORMAL";
+
     /**
      * datasource configuration path
      */

+ 6 - 2
dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/model/TaskNode.java

@@ -387,6 +387,8 @@ public class TaskNode {
     public String toString() {
         return "TaskNode{"
                 + "id='" + id + '\''
+                + ", code=" + code
+                + ", version=" + version
                 + ", name='" + name + '\''
                 + ", desc='" + desc + '\''
                 + ", type='" + type + '\''
@@ -396,14 +398,16 @@ public class TaskNode {
                 + ", retryInterval=" + retryInterval
                 + ", params='" + params + '\''
                 + ", preTasks='" + preTasks + '\''
+                + ", preTaskNodeList=" + preTaskNodeList
                 + ", extras='" + extras + '\''
                 + ", depList=" + depList
                 + ", dependence='" + dependence + '\''
+                + ", conditionResult='" + conditionResult + '\''
                 + ", taskInstancePriority=" + taskInstancePriority
-                + ", timeout='" + timeout + '\''
                 + ", workerGroup='" + workerGroup + '\''
+                + ", workerGroupId=" + workerGroupId
+                + ", timeout='" + timeout + '\''
                 + ", delayTime=" + delayTime
                 + '}';
     }
-
 }

+ 19 - 0
dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/ProcessTaskRelation.java

@@ -232,4 +232,23 @@ public class ProcessTaskRelation {
     public void setPostTaskVersion(int postTaskVersion) {
         this.postTaskVersion = postTaskVersion;
     }
+
+    @Override
+    public String toString() {
+        return "ProcessTaskRelation{"
+                + "id=" + id
+                + ", name='" + name + '\''
+                + ", processDefinitionVersion=" + processDefinitionVersion
+                + ", projectCode=" + projectCode
+                + ", processDefinitionCode=" + processDefinitionCode
+                + ", preTaskCode=" + preTaskCode
+                + ", preTaskVersion=" + preTaskVersion
+                + ", postTaskCode=" + postTaskCode
+                + ", postTaskVersion=" + postTaskVersion
+                + ", conditionType=" + conditionType
+                + ", conditionParams='" + conditionParams + '\''
+                + ", createTime=" + createTime
+                + ", updateTime=" + updateTime
+                + '}';
+    }
 }

+ 4 - 0
dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/ProcessTaskRelationLog.java

@@ -77,4 +77,8 @@ public class ProcessTaskRelationLog extends ProcessTaskRelation {
         this.operateTime = operateTime;
     }
 
+    @Override
+    public String toString() {
+        return super.toString();
+    }
 }

+ 38 - 1
dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/TaskDefinition.java

@@ -24,7 +24,6 @@ import org.apache.dolphinscheduler.common.enums.TimeoutFlag;
 import org.apache.dolphinscheduler.common.process.Property;
 import org.apache.dolphinscheduler.common.utils.JSONUtils;
 
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -257,6 +256,14 @@ public class TaskDefinition {
 
     }
 
+    public void setTaskParamList(List<Property> taskParamList) {
+        this.taskParamList = taskParamList;
+    }
+
+    public void setTaskParamMap(Map<String, String> taskParamMap) {
+        this.taskParamMap = taskParamMap;
+    }
+
     public Map<String, String> getTaskParamMap() {
         if (taskParamMap == null && StringUtils.isNotEmpty(taskParams)) {
             List<Property> propList = JSONUtils.toList(JSONUtils.parseObject(taskParams).findValue("localParams").toString(),
@@ -369,4 +376,34 @@ public class TaskDefinition {
     public void setResourceIds(String resourceIds) {
         this.resourceIds = resourceIds;
     }
+
+    @Override
+    public String toString() {
+        return "TaskDefinition{"
+                + "id=" + id
+                + ", code=" + code
+                + ", name='" + name + '\''
+                + ", version=" + version
+                + ", description='" + description + '\''
+                + ", projectCode=" + projectCode
+                + ", userId=" + userId
+                + ", taskType=" + taskType
+                + ", taskParams='" + taskParams + '\''
+                + ", taskParamList=" + taskParamList
+                + ", taskParamMap=" + taskParamMap
+                + ", flag=" + flag
+                + ", taskPriority=" + taskPriority
+                + ", userName='" + userName + '\''
+                + ", projectName='" + projectName + '\''
+                + ", workerGroup='" + workerGroup + '\''
+                + ", failRetryTimes=" + failRetryTimes
+                + ", failRetryInterval=" + failRetryInterval
+                + ", timeoutFlag=" + timeoutFlag
+                + ", timeoutNotifyStrategy=" + timeoutNotifyStrategy
+                + ", timeout=" + timeout
+                + ", resourceIds='" + resourceIds + '\''
+                + ", createTime=" + createTime
+                + ", updateTime=" + updateTime
+                + '}';
+    }
 }

+ 7 - 0
dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/TaskDefinitionLog.java

@@ -57,6 +57,8 @@ public class TaskDefinitionLog extends TaskDefinition {
         this.setProjectName(taskDefinition.getProjectName());
         this.setResourceIds(taskDefinition.getResourceIds());
         this.setTaskParams(taskDefinition.getTaskParams());
+        this.setTaskParamList(taskDefinition.getTaskParamList());
+        this.setTaskParamMap(taskDefinition.getTaskParamMap());
         this.setTaskPriority(taskDefinition.getTaskPriority());
         this.setTimeoutNotifyStrategy(taskDefinition.getTimeoutNotifyStrategy());
         this.setTaskType(taskDefinition.getTaskType());
@@ -84,4 +86,9 @@ public class TaskDefinitionLog extends TaskDefinition {
     public void setOperateTime(Date operateTime) {
         this.operateTime = operateTime;
     }
+
+    @Override
+    public String toString() {
+        return super.toString();
+    }
 }

+ 1 - 1
dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapper.xml

@@ -71,7 +71,7 @@
         and pd.name = #{processDefinitionName}
     </select>
     <select id="queryDefineListPaging" resultType="org.apache.dolphinscheduler.dao.entity.ProcessDefinition">
-        SELECT td.id, td.name, td.version, td.release_state, td.project_code, td.user_id, td.description,
+        SELECT td.id, td.code, td.name, td.version, td.release_state, td.project_code, td.user_id, td.description,
         td.global_params, td.flag, td.warning_group_id, td.timeout, td.tenant_id, td.update_time, td.create_time,
         sc.schedule_release_state, tu.user_name
         FROM t_ds_process_definition td

+ 2 - 2
dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessService.java

@@ -2453,7 +2453,7 @@ public class ProcessService {
             v.setName(taskDefinitionLog.getName());
             v.setDesc(taskDefinitionLog.getDescription());
             v.setType(taskDefinitionLog.getTaskType().getDescp().toUpperCase());
-            v.setRunFlag(taskDefinitionLog.getFlag() == Flag.YES ? Constants.FLOWNODE_RUN_FLAG_FORBIDDEN : "NORMAL");
+            v.setRunFlag(taskDefinitionLog.getFlag() == Flag.YES ? Constants.FLOWNODE_RUN_FLAG_NORMAL : Constants.FLOWNODE_RUN_FLAG_FORBIDDEN);
             v.setMaxRetryTimes(taskDefinitionLog.getFailRetryTimes());
             v.setRetryInterval(taskDefinitionLog.getFailRetryInterval());
             v.setParams(taskDefinitionLog.getTaskParams());
@@ -2464,7 +2464,7 @@ public class ProcessService {
                     taskDefinitionLog.getTimeout())));
             // TODO name will be remove
             v.getPreTaskNodeList().forEach(task -> task.setName(taskDefinitionLogMap.get(task.getCode()).getName()));
-            v.setPreTasks(StringUtils.join(v.getPreTaskNodeList().stream().map(PreviousTaskNode::getName).collect(Collectors.toList()), ","));
+            v.setPreTasks(JSONUtils.toJsonString(v.getPreTaskNodeList().stream().map(PreviousTaskNode::getName).collect(Collectors.toList())));
         });
         return new ArrayList<>(taskNodeMap.values());
     }

+ 2 - 2
sql/dolphinscheduler_mysql.sql

@@ -462,7 +462,7 @@ CREATE TABLE `t_ds_task_definition` (
   `worker_group` varchar(200) DEFAULT NULL COMMENT 'worker grouping',
   `fail_retry_times` int(11) DEFAULT NULL COMMENT 'number of failed retries',
   `fail_retry_interval` int(11) DEFAULT NULL COMMENT 'failed retry interval',
-  `timeout_flag` tinyint(1) DEFAULT '0' COMMENT 'timeout flag:0 close, 1 open',
+  `timeout_flag` tinyint(2) DEFAULT '0' COMMENT 'timeout flag:0 close, 1 open',
   `timeout_notify_strategy` tinyint(4) DEFAULT NULL COMMENT 'timeout notification policy: 0 warning, 1 fail',
   `timeout` int(11) DEFAULT '0' COMMENT 'timeout length,unit: minute',
   `resource_ids` varchar(255) DEFAULT NULL COMMENT 'resource id, separated by comma',
@@ -491,7 +491,7 @@ CREATE TABLE `t_ds_task_definition_log` (
   `worker_group` varchar(200) DEFAULT NULL COMMENT 'worker grouping',
   `fail_retry_times` int(11) DEFAULT NULL COMMENT 'number of failed retries',
   `fail_retry_interval` int(11) DEFAULT NULL COMMENT 'failed retry interval',
-  `timeout_flag` tinyint(1) DEFAULT '0' COMMENT 'timeout flag:0 close, 1 open',
+  `timeout_flag` tinyint(2) DEFAULT '0' COMMENT 'timeout flag:0 close, 1 open',
   `timeout_notify_strategy` tinyint(4) DEFAULT NULL COMMENT 'timeout notification policy: 0 warning, 1 fail',
   `timeout` int(11) DEFAULT '0' COMMENT 'timeout length,unit: minute',
   `resource_ids` varchar(255) DEFAULT NULL COMMENT 'resource id, separated by comma',