From 6b0f9b7b2157de1cd48b7801164cf5d89da5f5d2 Mon Sep 17 00:00:00 2001 From: Tboy Date: Tue, 29 Oct 2019 10:48:09 +0800 Subject: [PATCH] delete checkAuth method, using hasProjectAndPerm instead. (#1109) * move updateTaskState into try/catch block in case of exception * fix NPE * using conf.getInt instead of getString * for AbstractZKClient, remove the log, for it will print the same log message in createZNodePath. for AlertDao, correct the spelling. * duplicate * refactor getTaskWorkerGroupId * add friendly log * update hearbeat thread num = 1 * fix the bug when worker execute task using queue. and remove checking Tenant user anymore in TaskScheduleThread * 1. move verifyTaskInstanceIsNull after taskInstance 2. keep verifyTenantIsNull/verifyTaskInstanceIsNull clean and readable * fix the message * delete before check to avoid KeeperException$NoNodeException * fix the message * check processInstance state before delete tenant * check processInstance state before delete worker group * refactor * merge api constants into common constatns * update the resource perm * update the dataSource perm * fix CheckUtils.checkUserParams method * update AlertGroupService, extends from BaseService, remove duplicate methods * refactor * modify method name * add hasProjectAndPerm method * using checkProject instead of getResultStatus * delete checkAuth method, using hasProjectAndPerm instead. --- .../api/service/SchedulerService.java | 50 +++++++------------ 1 file changed, 17 insertions(+), 33 deletions(-) diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/SchedulerService.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/SchedulerService.java index c1a2835b46..317b40e587 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/SchedulerService.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/SchedulerService.java @@ -104,9 +104,9 @@ public class SchedulerService extends BaseService { Project project = projectMapper.queryByName(projectName); // check project auth - Map checkResult = checkAuth(loginUser, projectName, project); - if (checkResult != null) { - return checkResult; + boolean hasProjectAndPerm = projectService.hasProjectAndPerm(loginUser, project, result); + if (!hasProjectAndPerm) { + return result; } // check work flow define release state @@ -186,9 +186,9 @@ public class SchedulerService extends BaseService { Project project = projectMapper.queryByName(projectName); // check project auth - Map checkResult = checkAuth(loginUser, projectName, project); - if (checkResult != null) { - return checkResult; + boolean hasProjectAndPerm = projectService.hasProjectAndPerm(loginUser, project, result); + if (!hasProjectAndPerm) { + return result; } // check schedule exists @@ -276,9 +276,10 @@ public class SchedulerService extends BaseService { Map result = new HashMap(5); Project project = projectMapper.queryByName(projectName); - Map checkResult = checkAuth(loginUser, projectName, project); - if (checkResult != null) { - return checkResult; + // check project auth + boolean hasProjectAndPerm = projectService.hasProjectAndPerm(loginUser, project, result); + if (!hasProjectAndPerm) { + return result; } // check schedule exists @@ -389,9 +390,9 @@ public class SchedulerService extends BaseService { Project project = projectMapper.queryByName(projectName); // check project auth - Map checkResult = checkAuth(loginUser, projectName, project); - if (checkResult != null) { - return checkResult; + boolean hasProjectAndPerm = projectService.hasProjectAndPerm(loginUser, project, result); + if (!hasProjectAndPerm) { + return result; } ProcessDefinition processDefinition = processDao.findProcessDefineById(processDefineId); @@ -426,9 +427,9 @@ public class SchedulerService extends BaseService { Project project = projectMapper.queryByName(projectName); // check project auth - Map checkResult = checkAuth(loginUser, projectName, project); - if (checkResult != null) { - return checkResult; + boolean hasProjectAndPerm = projectService.hasProjectAndPerm(loginUser, project, result); + if (!hasProjectAndPerm) { + return result; } List schedules = scheduleMapper.querySchedulerListByProjectName(projectName); @@ -500,23 +501,6 @@ public class SchedulerService extends BaseService { return false; } - /** - * - * @param loginUser - * @param projectName - * @param project - * @return - */ - private Map checkAuth(User loginUser, String projectName, Project project) { - // check project auth - Map checkResult = projectService.checkProjectAndAuth(loginUser, project, projectName); - Status resultEnum = (Status) checkResult.get(Constants.STATUS); - if (resultEnum != Status.SUCCESS) { - return checkResult; - } - return null; - } - /** * delete schedule by id * @@ -589,7 +573,7 @@ public class SchedulerService extends BaseService { return result; } List selfFireDateList = CronUtils.getSelfFireDateList(startTime, endTime,cronExpression); - result.put(Constants.DATA_LIST, selfFireDateList.stream().map(t -> DateUtils.dateToString(t)).limit(org.apache.dolphinscheduler.common.Constants.PREVIEW_SCHEDULE_EXECUTE_COUNT)); + result.put(Constants.DATA_LIST, selfFireDateList.stream().map(t -> DateUtils.dateToString(t)).limit(Constants.PREVIEW_SCHEDULE_EXECUTE_COUNT)); putMsg(result, Status.SUCCESS); return result; }