This is an automated email from the ASF dual-hosted git repository.
caishunfeng 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 f1a9c0d8e9 [Improvement][Api] Interface and entity optimization to
improve code scalability. (#10483)
f1a9c0d8e9 is described below
commit f1a9c0d8e90e7f03a0065255c097ee3fb9aee580
Author: hstdream <[email protected]>
AuthorDate: Fri Jun 17 15:22:34 2022 +0800
[Improvement][Api] Interface and entity optimization to improve code
scalability. (#10483)
* [Improvement][Api] Interface and entity optimization to improve code
scalability (#10466).
* [Improvement][Api] Interface and entity optimization to improve code
scalability (#10466).
* [Improvement][Api] Interface and entity optimization to improve code
scalability (#10466).
* [Improvement][Api] Interface and entity optimization to improve code
scalability (#10466).
* fix ut timezone.
* [Improvement][Api] Interface and entity optimization to improve code
scalability.
* [Improvement][Api] Interface and entity optimization to improve code
scalability.
Co-authored-by: houshitao <[email protected]>
---
.../api/service/ProcessDefinitionService.java | 86 ++++++++++++++++++++++
.../service/impl/ProcessDefinitionServiceImpl.java | 28 ++++---
2 files changed, 104 insertions(+), 10 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 49e3be075c..421cd920db 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
@@ -26,6 +26,7 @@ import org.apache.dolphinscheduler.api.utils.Result;
import org.apache.dolphinscheduler.common.enums.ProcessExecutionTypeEnum;
import org.apache.dolphinscheduler.common.enums.ReleaseState;
import org.apache.dolphinscheduler.dao.entity.ProcessDefinition;
+import org.apache.dolphinscheduler.dao.entity.ProcessTaskRelationLog;
import org.apache.dolphinscheduler.dao.entity.Project;
import org.apache.dolphinscheduler.dao.entity.TaskDefinitionLog;
import org.apache.dolphinscheduler.dao.entity.User;
@@ -463,5 +464,90 @@ public interface ProcessDefinitionService {
* @return Json String
*/
String doOtherOperateProcess(User loginUser, ProcessDefinition
processDefinition);
+
+ /**
+ * update dag define
+ * @param loginUser
+ * @param taskRelationList
+ * @param processDefinition
+ * @param processDefinitionDeepCopy
+ * @param taskDefinitionLogs
+ * @param otherParamsJson
+ */
+ Map<String, Object> updateDagDefine(User loginUser,
+ List<ProcessTaskRelationLog> taskRelationList,
+ ProcessDefinition processDefinition,
+ ProcessDefinition processDefinitionDeepCopy,
+ List<TaskDefinitionLog> taskDefinitionLogs,
+ String otherParamsJson);
+
+ /**
+ * check task relation
+ * @param taskRelationList
+ * @param taskRelationJson
+ * @param taskDefinitionLogs
+ * @return
+ */
+ Map<String, Object> checkTaskRelationList(List<ProcessTaskRelationLog>
taskRelationList, String taskRelationJson, List<TaskDefinitionLog>
taskDefinitionLogs);
+
+ /**
+ * check task define
+ * @param taskDefinitionLogs
+ * @param taskDefinitionJson
+ * @return
+ */
+ Map<String, Object> checkTaskDefinitionList(List<TaskDefinitionLog>
taskDefinitionLogs, String taskDefinitionJson);
+
+ /**
+ * create dag define
+ * @param loginUser
+ * @param taskRelationList
+ * @param processDefinition
+ * @param taskDefinitionLogs
+ * @param otherParamsJson
+ * @return
+ */
+ Map<String, Object> createDagDefine(User loginUser,
+ List<ProcessTaskRelationLog>
taskRelationList,
+ ProcessDefinition processDefinition,
+ List<TaskDefinitionLog>
taskDefinitionLogs, String otherParamsJson);
+
+ /**
+ *
+ * @param loginUser
+ * @param targetProjectCode
+ * @param failedProcessList
+ * @param processDefinitionCodes
+ * @param result
+ * @param isCopy
+ */
+ void doBatchOperateProcessDefinition(User loginUser,
+ long targetProjectCode,
+ List<String> failedProcessList,
+ String processDefinitionCodes,
+ Map<String, Object> result,
+ boolean isCopy);
+
+ /**
+ * create dag schedule
+ * @param loginUser
+ * @param processDefinition
+ * @param scheduleJson
+ * @return
+ */
+ Map<String, Object> createDagSchedule(User loginUser, ProcessDefinition
processDefinition, String scheduleJson);
+
+ /**
+ * update dag schedule
+ * @param loginUser
+ * @param projectCode
+ * @param processDefinitionCode
+ * @param scheduleJson
+ * @return
+ */
+ Map<String, Object> updateDagSchedule(User loginUser,
+ long projectCode,
+ long processDefinitionCode,
+ String scheduleJson);
}
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 56893f422f..59119e1f57 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
@@ -279,7 +279,8 @@ public class ProcessDefinitionServiceImpl extends
BaseServiceImpl implements Pro
return createDagDefine(loginUser, taskRelationList, processDefinition,
taskDefinitionLogs, otherParamsJson);
}
- private Map<String, Object> createDagDefine(User loginUser,
+ @Override
+ public Map<String, Object> createDagDefine(User loginUser,
List<ProcessTaskRelationLog>
taskRelationList,
ProcessDefinition
processDefinition,
List<TaskDefinitionLog>
taskDefinitionLogs, String otherParamsJson) {
@@ -310,7 +311,9 @@ public class ProcessDefinitionServiceImpl extends
BaseServiceImpl implements Pro
return result;
}
- private Map<String, Object>
checkTaskDefinitionList(List<TaskDefinitionLog> taskDefinitionLogs, String
taskDefinitionJson) {
+
+ @Override
+ public Map<String, Object> checkTaskDefinitionList(List<TaskDefinitionLog>
taskDefinitionLogs, String taskDefinitionJson) {
Map<String, Object> result = new HashMap<>();
try {
if (taskDefinitionLogs.isEmpty()) {
@@ -338,7 +341,8 @@ public class ProcessDefinitionServiceImpl extends
BaseServiceImpl implements Pro
return result;
}
- private Map<String, Object>
checkTaskRelationList(List<ProcessTaskRelationLog> taskRelationList, String
taskRelationJson, List<TaskDefinitionLog> taskDefinitionLogs) {
+ @Override
+ public Map<String, Object>
checkTaskRelationList(List<ProcessTaskRelationLog> taskRelationList, String
taskRelationJson, List<TaskDefinitionLog> taskDefinitionLogs) {
Map<String, Object> result = new HashMap<>();
try {
if (taskRelationList == null || taskRelationList.isEmpty()) {
@@ -614,7 +618,8 @@ public class ProcessDefinitionServiceImpl extends
BaseServiceImpl implements Pro
return updateDagDefine(loginUser, taskRelationList, processDefinition,
processDefinitionDeepCopy, taskDefinitionLogs, otherParamsJson);
}
- private Map<String, Object> updateDagDefine(User loginUser,
+ @Override
+ public Map<String, Object> updateDagDefine(User loginUser,
List<ProcessTaskRelationLog>
taskRelationList,
ProcessDefinition
processDefinition,
ProcessDefinition
processDefinitionDeepCopy,
@@ -863,7 +868,7 @@ public class ProcessDefinitionServiceImpl extends
BaseServiceImpl implements Pro
/**
* download the process definition file
*/
- private void downloadProcessDefinitionFile(HttpServletResponse response,
List<DagDataSchedule> dagDataSchedules) {
+ public void downloadProcessDefinitionFile(HttpServletResponse response,
List<DagDataSchedule> dagDataSchedules) {
response.setContentType(MediaType.APPLICATION_JSON_UTF8_VALUE);
BufferedOutputStream buff = null;
ServletOutputStream out = null;
@@ -1143,7 +1148,7 @@ public class ProcessDefinitionServiceImpl extends
BaseServiceImpl implements Pro
/**
* check and import
*/
- private boolean checkAndImport(User loginUser, long projectCode,
Map<String, Object> result, DagDataSchedule dagDataSchedule, String
otherParamsJson) {
+ public boolean checkAndImport(User loginUser, long projectCode,
Map<String, Object> result, DagDataSchedule dagDataSchedule, String
otherParamsJson) {
if (!checkImportanceParams(dagDataSchedule, result)) {
return false;
}
@@ -1632,7 +1637,7 @@ public class ProcessDefinitionServiceImpl extends
BaseServiceImpl implements Pro
* @param taskNodeResponseList task node response list
* @return if graph has cycle flag
*/
- private boolean graphHasCycle(List<TaskNode> taskNodeResponseList) {
+ public boolean graphHasCycle(List<TaskNode> taskNodeResponseList) {
DAG<String, TaskNode, String> graph = new DAG<>();
// Fill the vertices
for (TaskNode taskNodeResponse : taskNodeResponseList) {
@@ -1733,7 +1738,8 @@ public class ProcessDefinitionServiceImpl extends
BaseServiceImpl implements Pro
return result;
}
- private void doBatchOperateProcessDefinition(User loginUser,
+ @Override
+ public void doBatchOperateProcessDefinition(User loginUser,
long targetProjectCode,
List<String>
failedProcessList,
String processDefinitionCodes,
@@ -2039,7 +2045,8 @@ public class ProcessDefinitionServiceImpl extends
BaseServiceImpl implements Pro
return result;
}
- private Map<String, Object> createDagSchedule(User loginUser,
ProcessDefinition processDefinition, String scheduleJson) {
+ @Override
+ public Map<String, Object> createDagSchedule(User loginUser,
ProcessDefinition processDefinition, String scheduleJson) {
Map<String, Object> result = new HashMap<>();
Schedule scheduleObj = JSONUtils.parseObject(scheduleJson,
Schedule.class);
if (scheduleObj == null) {
@@ -2162,7 +2169,8 @@ public class ProcessDefinitionServiceImpl extends
BaseServiceImpl implements Pro
return result;
}
- private Map<String, Object> updateDagSchedule(User loginUser,
+
+ public Map<String, Object> updateDagSchedule(User loginUser,
long projectCode,
long processDefinitionCode,
String scheduleJson) {