This is an automated email from the ASF dual-hosted git repository.
leonbao pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/dev by this push:
new 14e4d70 [Fix-6139][API] fix bug of view-tree api (#6188)
14e4d70 is described below
commit 14e4d7086d2dab9847c608c3d02f541893bcef10
Author: JinyLeeChina <[email protected]>
AuthorDate: Mon Sep 13 20:40:52 2021 +0800
[Fix-6139][API] fix bug of view-tree api (#6188)
* fix bug of view-tree api
* fix bug of view-tree api
* fix ut
* fix ut
Co-authored-by: JinyLeeChina <[email protected]>
---
.../controller/ProcessDefinitionController.java | 2 +-
.../api/controller/WorkFlowLineageController.java | 2 +-
.../api/dto/treeview/Instance.java | 39 +++++++++++------
.../api/dto/treeview/TreeViewDto.java | 34 +++++++++------
.../service/impl/ProcessDefinitionServiceImpl.java | 49 +++++++++++++---------
.../dolphinscheduler/common/model/TaskNode.java | 6 +--
.../dolphinscheduler/dao/entity/DagData.java | 14 +++----
.../service/process/ProcessService.java | 36 +++++-----------
.../service/process/ProcessServiceTest.java | 28 ++++++-------
9 files changed, 115 insertions(+), 95 deletions(-)
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessDefinitionController.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessDefinitionController.java
index 9200e8a..b6de4d8 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessDefinitionController.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessDefinitionController.java
@@ -533,7 +533,7 @@ public class ProcessDefinitionController extends
BaseController {
*/
@ApiOperation(value = "getTaskListByDefinitionCodes", notes =
"GET_TASK_LIST_BY_DEFINITION_CODE_NOTES")
@ApiImplicitParams({
- @ApiImplicitParam(name = "processDefinitionCodes", value =
"PROCESS_DEFINITION_CODES", required = true, type = "String", example =
"100,200,300")
+ @ApiImplicitParam(name = "codes", value = "PROCESS_DEFINITION_CODES",
required = true, type = "String", example = "100,200,300")
})
@GetMapping(value = "/batch-query-tasks")
@ResponseStatus(HttpStatus.OK)
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/WorkFlowLineageController.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/WorkFlowLineageController.java
index 4e88486..f89906c 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/WorkFlowLineageController.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/WorkFlowLineageController.java
@@ -96,7 +96,7 @@ public class WorkFlowLineageController extends BaseController
{
@GetMapping(value = "/list")
@ResponseStatus(HttpStatus.OK)
@AccessLogAnnotation(ignoreRequestArgs = "loginUser")
- public Result<Map<String, Object>> queryWorkFlowLineageByIds(@ApiIgnore
@RequestAttribute(value = SESSION_USER) User loginUser,
+ public Result<Map<String, Object>> queryWorkFlowLineage(@ApiIgnore
@RequestAttribute(value = SESSION_USER) User loginUser,
@ApiParam(name = "projectCode", value = "PROJECT_CODE", required = true)
@PathVariable long projectCode) {
try {
Map<String, Object> result =
workFlowLineageService.queryWorkFlowLineage(projectCode);
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/dto/treeview/Instance.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/dto/treeview/Instance.java
index 9bab520..e13a7d1 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/dto/treeview/Instance.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/dto/treeview/Instance.java
@@ -14,24 +14,31 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.dolphinscheduler.api.dto.treeview;
-import com.fasterxml.jackson.annotation.JsonFormat;
+package org.apache.dolphinscheduler.api.dto.treeview;
import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
/**
* Instance
*/
public class Instance {
private int id;
+
/**
* node name
*/
private String name;
/**
+ * node code
+ */
+ private long code;
+
+ /**
* node type
*/
private String type;
@@ -44,17 +51,16 @@ public class Instance {
/**
* node start time
*/
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date startTime;
/**
* node end time
*/
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date endTime;
-
/**
* node running on which host
*/
@@ -67,18 +73,20 @@ public class Instance {
private int subflowId;
+ public Instance() {
+ }
- public Instance(){}
-
- public Instance(int id,String name, String type){
+ public Instance(int id, String name, long code, String type) {
this.id = id;
this.name = name;
+ this.code = code;
this.type = type;
}
- public Instance(int id,String name, String type,String state,Date
startTime, Date endTime, String host, String duration,int subflowId) {
+ public Instance(int id, String name, long code, String type, String state,
Date startTime, Date endTime, String host, String duration, int subflowId) {
this.id = id;
this.name = name;
+ this.code = code;
this.type = type;
this.state = state;
this.startTime = startTime;
@@ -88,12 +96,11 @@ public class Instance {
this.subflowId = subflowId;
}
- public Instance(int id,String name, String type,String state,Date
startTime, Date endTime, String host, String duration) {
- this(id, name, type, state, startTime, endTime,host,duration,0);
+ public Instance(int id, String name, long code, String type, String state,
Date startTime, Date endTime, String host, String duration) {
+ this(id, name, code, type, state, startTime, endTime, host, duration,
0);
}
-
public int getId() {
return id;
}
@@ -110,6 +117,14 @@ public class Instance {
this.name = name;
}
+ public long getCode() {
+ return code;
+ }
+
+ public void setCode(long code) {
+ this.code = code;
+ }
+
public String getType() {
return type;
}
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/dto/treeview/TreeViewDto.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/dto/treeview/TreeViewDto.java
index e30eea8..8645bf3 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/dto/treeview/TreeViewDto.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/dto/treeview/TreeViewDto.java
@@ -14,6 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.apache.dolphinscheduler.api.dto.treeview;
import java.util.ArrayList;
@@ -34,6 +35,21 @@ public class TreeViewDto {
*/
private String type;
+ /**
+ * code
+ */
+ private long code;
+
+ /**
+ * instances list
+ */
+
+ private List<Instance> instances = new ArrayList<>();
+
+ /**
+ * children
+ */
+ private List<TreeViewDto> children = new ArrayList<>();
public String getName() {
return name;
@@ -51,17 +67,13 @@ public class TreeViewDto {
this.type = type;
}
- /**
- * instances list
- */
-
- private List<Instance> instances = new ArrayList<>();
-
- /**
- * children
- */
- private List<TreeViewDto> children = new ArrayList<>();
+ public long getCode() {
+ return code;
+ }
+ public void setCode(long code) {
+ this.code = code;
+ }
public List<Instance> getInstances() {
return instances;
@@ -78,6 +90,4 @@ public class TreeViewDto {
public void setChildren(List<TreeViewDto> children) {
this.children = children;
}
-
-
}
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 ef00f50..eaec2e4 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,8 +281,10 @@ public class ProcessDefinitionServiceImpl extends
BaseServiceImpl implements Pro
putMsg(result, Status.DATA_IS_NOT_VALID, taskRelationJson);
return result;
}
-
- List<TaskNode> taskNodeList =
processService.transformTask(taskRelationList, taskDefinitionLogs);
+ List<ProcessTaskRelation> processTaskRelations =
taskRelationList.stream()
+ .map(processTaskRelationLog ->
JSONUtils.parseObject(JSONUtils.toJsonString(processTaskRelationLog),
ProcessTaskRelation.class))
+ .collect(Collectors.toList());
+ List<TaskNode> taskNodeList =
processService.transformTask(processTaskRelations, taskDefinitionLogs);
if (taskNodeList.size() != taskRelationList.size()) {
Set<Long> postTaskCodes =
taskRelationList.stream().map(ProcessTaskRelationLog::getPostTaskCode).collect(Collectors.toSet());
Set<Long> taskNodeCodes =
taskNodeList.stream().map(TaskNode::getCode).collect(Collectors.toSet());
@@ -827,10 +829,12 @@ public class ProcessDefinitionServiceImpl extends
BaseServiceImpl implements Pro
putMsg(result, Status.CREATE_PROCESS_DEFINITION_ERROR);
return false;
}
- List<TaskDefinitionLog> taskDefinitionList =
dagDataSchedule.getTaskDefinitionList();
+ List<TaskDefinition> taskDefinitionList =
dagDataSchedule.getTaskDefinitionList();
Map<Long, Long> taskCodeMap = new HashMap<>();
Date now = new Date();
- for (TaskDefinitionLog taskDefinitionLog : taskDefinitionList) {
+ List<TaskDefinitionLog> taskDefinitionLogList = new ArrayList<>();
+ for (TaskDefinition taskDefinition : taskDefinitionList) {
+ TaskDefinitionLog taskDefinitionLog = new
TaskDefinitionLog(taskDefinition);
taskDefinitionLog.setName(taskDefinitionLog.getName() + "_import_"
+ DateUtils.getCurrentTimeStamp());
taskDefinitionLog.setProjectCode(projectCode);
taskDefinitionLog.setUserId(loginUser.getId());
@@ -848,22 +852,26 @@ public class ProcessDefinitionServiceImpl extends
BaseServiceImpl implements Pro
putMsg(result, Status.INTERNAL_SERVER_ERROR_ARGS, "Error
generating task definition code");
return false;
}
+ taskDefinitionLogList.add(taskDefinitionLog);
}
- int insert = taskDefinitionMapper.batchInsert(taskDefinitionList);
- int logInsert =
taskDefinitionLogMapper.batchInsert(taskDefinitionList);
+ int insert = taskDefinitionMapper.batchInsert(taskDefinitionLogList);
+ int logInsert =
taskDefinitionLogMapper.batchInsert(taskDefinitionLogList);
if ((logInsert & insert) == 0) {
putMsg(result, Status.CREATE_TASK_DEFINITION_ERROR);
return false;
}
- List<ProcessTaskRelationLog> taskRelationList =
dagDataSchedule.getProcessTaskRelationList();
- taskRelationList.forEach(processTaskRelationLog -> {
+ List<ProcessTaskRelation> taskRelationList =
dagDataSchedule.getProcessTaskRelationList();
+ List<ProcessTaskRelationLog> taskRelationLogList = new ArrayList<>();
+ for (ProcessTaskRelation processTaskRelation : taskRelationList) {
+ ProcessTaskRelationLog processTaskRelationLog = new
ProcessTaskRelationLog(processTaskRelation);
processTaskRelationLog.setPreTaskCode(taskCodeMap.get(processTaskRelationLog.getPreTaskCode()));
processTaskRelationLog.setPostTaskCode(taskCodeMap.get(processTaskRelationLog.getPostTaskCode()));
processTaskRelationLog.setPreTaskVersion(Constants.VERSION_FIRST);
processTaskRelationLog.setPostTaskVersion(Constants.VERSION_FIRST);
- });
- Map<String, Object> createProcessResult =
createProcessDefine(loginUser, result, taskRelationList, processDefinition,
null);
+ taskRelationLogList.add(processTaskRelationLog);
+ }
+ Map<String, Object> createProcessResult =
createProcessDefine(loginUser, result, taskRelationLogList, processDefinition,
null);
if (Status.SUCCESS.equals(createProcessResult.get(Constants.STATUS))) {
putMsg(createProcessResult, Status.SUCCESS);
} else {
@@ -937,7 +945,7 @@ public class ProcessDefinitionServiceImpl extends
BaseServiceImpl implements Pro
return result;
}
- List<ProcessTaskRelationLog> taskRelationList =
JSONUtils.toList(processTaskRelationJson, ProcessTaskRelationLog.class);
+ List<ProcessTaskRelation> taskRelationList =
JSONUtils.toList(processTaskRelationJson, ProcessTaskRelation.class);
// Check whether the task node is normal
List<TaskNode> taskNodes =
processService.transformTask(taskRelationList, Lists.newArrayList());
@@ -1026,7 +1034,7 @@ public class ProcessDefinitionServiceImpl extends
BaseServiceImpl implements Pro
putMsg(result, Status.PROCESS_DEFINE_NOT_EXIST, codes);
return result;
}
- Map<Long, List<TaskDefinitionLog>> taskNodeMap = new HashMap<>();
+ Map<Long, List<TaskDefinition>> taskNodeMap = new HashMap<>();
for (ProcessDefinition processDefinition : processDefinitionList) {
DagData dagData = processService.genDagData(processDefinition);
taskNodeMap.put(processDefinition.getCode(),
dagData.getTaskDefinitionList());
@@ -1087,7 +1095,7 @@ public class ProcessDefinitionServiceImpl extends
BaseServiceImpl implements Pro
// List of process instances
List<ProcessInstance> processInstanceList =
processInstanceService.queryByProcessDefineCode(code, limit);
processInstanceList.forEach(processInstance ->
processInstance.setDuration(DateUtils.format2Duration(processInstance.getStartTime(),
processInstance.getEndTime())));
- List<TaskDefinitionLog> taskDefinitionList =
processService.queryTaskDefinitionListByProcess(code,
processDefinition.getVersion());
+ List<TaskDefinitionLog> taskDefinitionList =
processService.genTaskDefineList(processTaskRelationMapper.queryByProcessCode(processDefinition.getProjectCode(),
processDefinition.getCode()));
Map<Long, TaskDefinitionLog> taskDefinitionMap =
taskDefinitionList.stream()
.collect(Collectors.toMap(TaskDefinitionLog::getCode,
taskDefinitionLog -> taskDefinitionLog));
@@ -1098,12 +1106,13 @@ public class ProcessDefinitionServiceImpl extends
BaseServiceImpl implements Pro
TreeViewDto parentTreeViewDto = new TreeViewDto();
parentTreeViewDto.setName("DAG");
parentTreeViewDto.setType("");
+ parentTreeViewDto.setCode(0L);
// Specify the process definition, because it is a TreeView for a
process definition
for (int i = limit - 1; i >= 0; i--) {
ProcessInstance processInstance = processInstanceList.get(i);
Date endTime = processInstance.getEndTime() == null ? new Date() :
processInstance.getEndTime();
- parentTreeViewDto.getInstances().add(new
Instance(processInstance.getId(), processInstance.getName(), "",
- processInstance.getState().toString(),
processInstance.getStartTime(), endTime, processInstance.getHost(),
+ parentTreeViewDto.getInstances().add(new
Instance(processInstance.getId(), processInstance.getName(),
processInstance.getProcessDefinitionCode(),
+ "", processInstance.getState().toString(),
processInstance.getStartTime(), endTime, processInstance.getHost(),
DateUtils.format2Readable(endTime.getTime() -
processInstance.getStartTime().getTime())));
}
@@ -1126,13 +1135,13 @@ public class ProcessDefinitionServiceImpl extends
BaseServiceImpl implements Pro
treeViewDto.setName(nodeName);
TaskNode taskNode = dag.getNode(nodeName);
treeViewDto.setType(taskNode.getType());
-
+ treeViewDto.setCode(taskNode.getCode());
//set treeViewDto instances
for (int i = limit - 1; i >= 0; i--) {
ProcessInstance processInstance =
processInstanceList.get(i);
TaskInstance taskInstance =
taskInstanceMapper.queryByInstanceIdAndName(processInstance.getId(), nodeName);
if (taskInstance == null) {
- treeViewDto.getInstances().add(new Instance(-1, "not
running", "null"));
+ treeViewDto.getInstances().add(new Instance(-1, "not
running", 0, "null"));
} else {
Date startTime = taskInstance.getStartTime() == null ?
new Date() : taskInstance.getStartTime();
Date endTime = taskInstance.getEndTime() == null ? new
Date() : taskInstance.getEndTime();
@@ -1144,9 +1153,9 @@ public class ProcessDefinitionServiceImpl extends
BaseServiceImpl implements Pro
subProcessId =
Integer.parseInt(JSONUtils.parseObject(
taskDefinition.getTaskParams()).path(CMD_PARAM_SUB_PROCESS_DEFINE_ID).asText());
}
- treeViewDto.getInstances().add(new
Instance(taskInstance.getId(), taskInstance.getName(),
taskInstance.getTaskType(),
- taskInstance.getState().toString(),
taskInstance.getStartTime(), taskInstance.getEndTime(), taskInstance.getHost(),
- DateUtils.format2Readable(endTime.getTime() -
startTime.getTime()), subProcessId));
+ treeViewDto.getInstances().add(new
Instance(taskInstance.getId(), taskInstance.getName(),
taskInstance.getTaskCode(),
+ taskInstance.getTaskType(),
taskInstance.getState().toString(), taskInstance.getStartTime(),
taskInstance.getEndTime(),
+ taskInstance.getHost(),
DateUtils.format2Readable(endTime.getTime() - startTime.getTime()),
subProcessId));
}
}
for (TreeViewDto pTreeViewDto : parentTreeViewDtoList) {
diff --git
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/model/TaskNode.java
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/model/TaskNode.java
index d950aa4..d43e1f9 100644
---
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/model/TaskNode.java
+++
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/model/TaskNode.java
@@ -45,7 +45,7 @@ public class TaskNode {
/**
* task node code
*/
- private Long code;
+ private long code;
/**
* task node version
@@ -342,11 +342,11 @@ public class TaskNode {
this.delayTime = delayTime;
}
- public Long getCode() {
+ public long getCode() {
return code;
}
- public void setCode(Long code) {
+ public void setCode(long code) {
this.code = code;
}
diff --git
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/DagData.java
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/DagData.java
index e66d4d0..b6754a3 100644
---
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/DagData.java
+++
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/DagData.java
@@ -32,14 +32,14 @@ public class DagData {
/**
* processTaskRelationList
*/
- private List<ProcessTaskRelationLog> processTaskRelationList;
+ private List<ProcessTaskRelation> processTaskRelationList;
/**
* processTaskRelationList
*/
- private List<TaskDefinitionLog> taskDefinitionList;
+ private List<TaskDefinition> taskDefinitionList;
- public DagData(ProcessDefinition processDefinition,
List<ProcessTaskRelationLog> processTaskRelationList, List<TaskDefinitionLog>
taskDefinitionList) {
+ public DagData(ProcessDefinition processDefinition,
List<ProcessTaskRelation> processTaskRelationList, List<TaskDefinition>
taskDefinitionList) {
this.processDefinition = processDefinition;
this.processTaskRelationList = processTaskRelationList;
this.taskDefinitionList = taskDefinitionList;
@@ -56,19 +56,19 @@ public class DagData {
this.processDefinition = processDefinition;
}
- public List<ProcessTaskRelationLog> getProcessTaskRelationList() {
+ public List<ProcessTaskRelation> getProcessTaskRelationList() {
return processTaskRelationList;
}
- public void setProcessTaskRelationList(List<ProcessTaskRelationLog>
processTaskRelationList) {
+ public void setProcessTaskRelationList(List<ProcessTaskRelation>
processTaskRelationList) {
this.processTaskRelationList = processTaskRelationList;
}
- public List<TaskDefinitionLog> getTaskDefinitionList() {
+ public List<TaskDefinition> getTaskDefinitionList() {
return taskDefinitionList;
}
- public void setTaskDefinitionList(List<TaskDefinitionLog>
taskDefinitionList) {
+ public void setTaskDefinitionList(List<TaskDefinition> taskDefinitionList)
{
this.taskDefinitionList = taskDefinitionList;
}
}
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 99b4f8f..3c2e0dd 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
@@ -2350,7 +2350,7 @@ public class ProcessService {
* @return dag graph
*/
public DAG<String, TaskNode, TaskNodeRelation>
genDagGraph(ProcessDefinition processDefinition) {
- List<ProcessTaskRelationLog> processTaskRelations =
processTaskRelationLogMapper.queryByProcessCodeAndVersion(processDefinition.getCode(),
processDefinition.getVersion());
+ List<ProcessTaskRelation> processTaskRelations =
processTaskRelationMapper.queryByProcessCode(processDefinition.getProjectCode(),
processDefinition.getCode());
List<TaskNode> taskNodeList = transformTask(processTaskRelations,
Lists.newArrayList());
ProcessDag processDag = DagHelper.getProcessDag(taskNodeList, new
ArrayList<>(processTaskRelations));
// Generate concrete Dag to be executed
@@ -2361,13 +2361,17 @@ public class ProcessService {
* generate DagData
*/
public DagData genDagData(ProcessDefinition processDefinition) {
- List<ProcessTaskRelationLog> processTaskRelations =
processTaskRelationLogMapper.queryByProcessCodeAndVersion(processDefinition.getCode(),
processDefinition.getVersion());
- return new DagData(processDefinition, processTaskRelations,
genTaskDefineList(processTaskRelations));
+ List<ProcessTaskRelation> processTaskRelations =
processTaskRelationMapper.queryByProcessCode(processDefinition.getProjectCode(),
processDefinition.getCode());
+ List<TaskDefinitionLog> taskDefinitionLogList =
genTaskDefineList(processTaskRelations);
+ List<TaskDefinition> taskDefinitions = taskDefinitionLogList.stream()
+ .map(taskDefinitionLog ->
JSONUtils.parseObject(JSONUtils.toJsonString(taskDefinitionLog),
TaskDefinition.class))
+ .collect(Collectors.toList());
+ return new DagData(processDefinition, processTaskRelations,
taskDefinitions);
}
- private List<TaskDefinitionLog>
genTaskDefineList(List<ProcessTaskRelationLog> processTaskRelations) {
+ public List<TaskDefinitionLog> genTaskDefineList(List<ProcessTaskRelation>
processTaskRelations) {
Set<TaskDefinition> taskDefinitionSet = new HashSet<>();
- for (ProcessTaskRelationLog processTaskRelation :
processTaskRelations) {
+ for (ProcessTaskRelation processTaskRelation : processTaskRelations) {
if (processTaskRelation.getPreTaskCode() > 0) {
taskDefinitionSet.add(new
TaskDefinition(processTaskRelation.getPreTaskCode(),
processTaskRelation.getPreTaskVersion()));
}
@@ -2447,24 +2451,6 @@ public class ProcessService {
}
/**
- * query tasks definition list by process code and process version
- */
- public List<TaskDefinitionLog> queryTaskDefinitionListByProcess(long
processCode, int processVersion) {
- List<ProcessTaskRelationLog> processTaskRelationLogs =
-
processTaskRelationLogMapper.queryByProcessCodeAndVersion(processCode,
processVersion);
- Set<TaskDefinition> taskDefinitionSet = new HashSet<>();
- for (ProcessTaskRelationLog processTaskRelationLog :
processTaskRelationLogs) {
- if (processTaskRelationLog.getPreTaskCode() > 0) {
- taskDefinitionSet.add(new
TaskDefinition(processTaskRelationLog.getPreTaskCode(),
processTaskRelationLog.getPreTaskVersion()));
- }
- if (processTaskRelationLog.getPostTaskCode() > 0) {
- taskDefinitionSet.add(new
TaskDefinition(processTaskRelationLog.getPostTaskCode(),
processTaskRelationLog.getPostTaskVersion()));
- }
- }
- return
taskDefinitionLogMapper.queryByTaskDefinitions(taskDefinitionSet);
- }
-
- /**
* add authorized resources
*
* @param ownResources own resources
@@ -2479,9 +2465,9 @@ public class ProcessService {
/**
* Use temporarily before refactoring taskNode
*/
- public List<TaskNode> transformTask(List<ProcessTaskRelationLog>
taskRelationList, List<TaskDefinitionLog> taskDefinitionLogs) {
+ public List<TaskNode> transformTask(List<ProcessTaskRelation>
taskRelationList, List<TaskDefinitionLog> taskDefinitionLogs) {
Map<Long, List<Long>> taskCodeMap = new HashMap<>();
- for (ProcessTaskRelationLog processTaskRelation : taskRelationList) {
+ for (ProcessTaskRelation processTaskRelation : taskRelationList) {
taskCodeMap.compute(processTaskRelation.getPostTaskCode(), (k, v)
-> {
if (v == null) {
v = new ArrayList<>();
diff --git
a/dolphinscheduler-service/src/test/java/org/apache/dolphinscheduler/service/process/ProcessServiceTest.java
b/dolphinscheduler-service/src/test/java/org/apache/dolphinscheduler/service/process/ProcessServiceTest.java
index deec43a..dee4c0c 100644
---
a/dolphinscheduler-service/src/test/java/org/apache/dolphinscheduler/service/process/ProcessServiceTest.java
+++
b/dolphinscheduler-service/src/test/java/org/apache/dolphinscheduler/service/process/ProcessServiceTest.java
@@ -38,6 +38,7 @@ import
org.apache.dolphinscheduler.dao.entity.ProcessDefinition;
import org.apache.dolphinscheduler.dao.entity.ProcessDefinitionLog;
import org.apache.dolphinscheduler.dao.entity.ProcessInstance;
import org.apache.dolphinscheduler.dao.entity.ProcessInstanceMap;
+import org.apache.dolphinscheduler.dao.entity.ProcessTaskRelation;
import org.apache.dolphinscheduler.dao.entity.ProcessTaskRelationLog;
import org.apache.dolphinscheduler.dao.entity.TaskDefinitionLog;
import org.apache.dolphinscheduler.dao.entity.TaskInstance;
@@ -368,17 +369,17 @@ public class ProcessServiceTest {
processDefinition.setVersion(1);
processDefinition.setCode(11L);
- ProcessTaskRelationLog processTaskRelationLog = new
ProcessTaskRelationLog();
- processTaskRelationLog.setName("def 1");
- processTaskRelationLog.setProcessDefinitionVersion(1);
- processTaskRelationLog.setProjectCode(1L);
- processTaskRelationLog.setProcessDefinitionCode(1L);
- processTaskRelationLog.setPostTaskCode(3L);
- processTaskRelationLog.setPreTaskCode(2L);
- processTaskRelationLog.setUpdateTime(new Date());
- processTaskRelationLog.setCreateTime(new Date());
- List<ProcessTaskRelationLog> list = new ArrayList<>();
- list.add(processTaskRelationLog);
+ ProcessTaskRelation processTaskRelation = new ProcessTaskRelation();
+ processTaskRelation.setName("def 1");
+ processTaskRelation.setProcessDefinitionVersion(1);
+ processTaskRelation.setProjectCode(1L);
+ processTaskRelation.setProcessDefinitionCode(1L);
+ processTaskRelation.setPostTaskCode(3L);
+ processTaskRelation.setPreTaskCode(2L);
+ processTaskRelation.setUpdateTime(new Date());
+ processTaskRelation.setCreateTime(new Date());
+ List<ProcessTaskRelation> list = new ArrayList<>();
+ list.add(processTaskRelation);
TaskDefinitionLog taskDefinition = new TaskDefinitionLog();
taskDefinition.setCode(3L);
@@ -405,11 +406,10 @@ public class ProcessServiceTest {
taskDefinitionLogs.add(td2);
Mockito.when(taskDefinitionLogMapper.queryByTaskDefinitions(any())).thenReturn(taskDefinitionLogs);
-
Mockito.when(processTaskRelationLogMapper.queryByProcessCodeAndVersion(Mockito.anyLong(),
Mockito.anyInt())).thenReturn(list);
+
Mockito.when(processTaskRelationMapper.queryByProcessCode(Mockito.anyLong(),
Mockito.anyLong())).thenReturn(list);
DAG<String, TaskNode, TaskNodeRelation>
stringTaskNodeTaskNodeRelationDAG =
processService.genDagGraph(processDefinition);
- Assert.assertNotEquals(0,
stringTaskNodeTaskNodeRelationDAG.getNodesCount());
-
+ Assert.assertEquals(1,
stringTaskNodeTaskNodeRelationDAG.getNodesCount());
}
@Test