提交 48d0f1cd 编写于 作者: N Nikita Akilov

dbeaver/dbeaver-ee#625 hide deleting logic into TaskManager

上级 f89a27b7
......@@ -68,7 +68,7 @@ public interface DBTTaskManager {
void updateTaskConfiguration(@NotNull DBTTask task) throws DBException;
void deleteTaskConfiguration(@NotNull DBTTask task);
void deleteTaskConfiguration(@NotNull DBTTask task) throws DBException;
@NotNull
File getStatisticsFolder();
......
......@@ -186,7 +186,14 @@ public class TaskManagerImpl implements DBTTaskManager {
}
@Override
public void deleteTaskConfiguration(@NotNull DBTTask task) {
public void deleteTaskConfiguration(@NotNull DBTTask task) throws DBException {
DBTScheduler scheduler = TaskRegistry.getInstance().getActiveSchedulerInstance();
if (scheduler != null) {
DBTTaskScheduleInfo info = scheduler.getScheduledTaskInfo(task);
if (info != null) {
scheduler.removeTaskSchedule(task, info);
}
}
synchronized (tasks) {
tasks.remove(task);
}
......
......@@ -24,10 +24,7 @@ import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.osgi.util.NLS;
import org.eclipse.ui.handlers.HandlerUtil;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.model.task.DBTScheduler;
import org.jkiss.dbeaver.model.task.DBTTask;
import org.jkiss.dbeaver.model.task.DBTTaskScheduleInfo;
import org.jkiss.dbeaver.registry.task.TaskRegistry;
import org.jkiss.dbeaver.runtime.DBWorkbench;
import org.jkiss.dbeaver.tasks.ui.internal.TaskUIMessages;
import org.jkiss.dbeaver.ui.UIUtils;
......@@ -63,24 +60,16 @@ public class TaskHandlerDelete extends AbstractHandler {
return null;
}
}
DBTScheduler scheduler = TaskRegistry.getInstance().getActiveSchedulerInstance();
for (DBTTask task : tasksToDelete) {
if (scheduler != null) {
DBTTaskScheduleInfo taskScheduleInfo = scheduler.getScheduledTaskInfo(task);
if (taskScheduleInfo != null) {
try {
scheduler.removeTaskSchedule(task, taskScheduleInfo);
} catch (DBException e) {
DBWorkbench.getPlatformUI().showError(
TaskUIMessages.task_handler_delete_error_deleting_task_from_scheduler_title,
NLS.bind(TaskUIMessages.task_handler_delete_error_deleting_task_from_scheduler_message, task.getId()),
e
);
continue;
}
}
try {
task.getProject().getTaskManager().deleteTaskConfiguration(task);
} catch (DBException e) {
DBWorkbench.getPlatformUI().showError(
TaskUIMessages.task_handler_delete_error_deleting_task_from_scheduler_title,
NLS.bind(TaskUIMessages.task_handler_delete_error_deleting_task_from_scheduler_message, task.getId()),
e
);
}
task.getProject().getTaskManager().deleteTaskConfiguration(task);
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册