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 updateDagDefine(User loginUser, + List taskRelationList, + ProcessDefinition processDefinition, + ProcessDefinition processDefinitionDeepCopy, + List taskDefinitionLogs, + String otherParamsJson); + + /** + * check task relation + * @param taskRelationList + * @param taskRelationJson + * @param taskDefinitionLogs + * @return + */ + Map checkTaskRelationList(List taskRelationList, String taskRelationJson, List taskDefinitionLogs); + + /** + * check task define + * @param taskDefinitionLogs + * @param taskDefinitionJson + * @return + */ + Map checkTaskDefinitionList(List taskDefinitionLogs, String taskDefinitionJson); + + /** + * create dag define + * @param loginUser + * @param taskRelationList + * @param processDefinition + * @param taskDefinitionLogs + * @param otherParamsJson + * @return + */ + Map createDagDefine(User loginUser, + List taskRelationList, + ProcessDefinition processDefinition, + List taskDefinitionLogs, String otherParamsJson); + + /** + * + * @param loginUser + * @param targetProjectCode + * @param failedProcessList + * @param processDefinitionCodes + * @param result + * @param isCopy + */ + void doBatchOperateProcessDefinition(User loginUser, + long targetProjectCode, + List failedProcessList, + String processDefinitionCodes, + Map result, + boolean isCopy); + + /** + * create dag schedule + * @param loginUser + * @param processDefinition + * @param scheduleJson + * @return + */ + Map createDagSchedule(User loginUser, ProcessDefinition processDefinition, String scheduleJson); + + /** + * update dag schedule + * @param loginUser + * @param projectCode + * @param processDefinitionCode + * @param scheduleJson + * @return + */ + Map 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 createDagDefine(User loginUser, + @Override + public Map createDagDefine(User loginUser, List taskRelationList, ProcessDefinition processDefinition, List taskDefinitionLogs, String otherParamsJson) { @@ -310,7 +311,9 @@ public class ProcessDefinitionServiceImpl extends BaseServiceImpl implements Pro return result; } - private Map checkTaskDefinitionList(List taskDefinitionLogs, String taskDefinitionJson) { + + @Override + public Map checkTaskDefinitionList(List taskDefinitionLogs, String taskDefinitionJson) { Map result = new HashMap<>(); try { if (taskDefinitionLogs.isEmpty()) { @@ -338,7 +341,8 @@ public class ProcessDefinitionServiceImpl extends BaseServiceImpl implements Pro return result; } - private Map checkTaskRelationList(List taskRelationList, String taskRelationJson, List taskDefinitionLogs) { + @Override + public Map checkTaskRelationList(List taskRelationList, String taskRelationJson, List taskDefinitionLogs) { Map 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 updateDagDefine(User loginUser, + @Override + public Map updateDagDefine(User loginUser, List 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 dagDataSchedules) { + public void downloadProcessDefinitionFile(HttpServletResponse response, List 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 result, DagDataSchedule dagDataSchedule, String otherParamsJson) { + public boolean checkAndImport(User loginUser, long projectCode, Map 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 taskNodeResponseList) { + public boolean graphHasCycle(List taskNodeResponseList) { DAG 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 failedProcessList, String processDefinitionCodes, @@ -2039,7 +2045,8 @@ public class ProcessDefinitionServiceImpl extends BaseServiceImpl implements Pro return result; } - private Map createDagSchedule(User loginUser, ProcessDefinition processDefinition, String scheduleJson) { + @Override + public Map createDagSchedule(User loginUser, ProcessDefinition processDefinition, String scheduleJson) { Map 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 updateDagSchedule(User loginUser, + + public Map updateDagSchedule(User loginUser, long projectCode, long processDefinitionCode, String scheduleJson) {