未验证 提交 77f2abac 编写于 作者: S Serge Rider 提交者: GitHub

Merge pull request #10209 from dbeaver/sched-deleted-tasks

dbeaver/dbeaver-ee#625 delete tasks from scheduler when deleting from project
......@@ -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);
}
......
......@@ -110,6 +110,8 @@ public class TaskUIMessages extends NLS {
public static String task_handler_delete_confirm_question_delete_task;
public static String task_handler_delete_confirm_title_delete_tasks;
public static String task_handler_delete_confirm_question_delete_tasks;
public static String task_handler_delete_error_deleting_task_from_scheduler_title;
public static String task_handler_delete_error_deleting_task_from_scheduler_message;
public static String task_configuration_wizard_page_task_error_message_enter_task_name;
public static String task_configuration_wizard_page_task_already_exists;
......
......@@ -86,6 +86,8 @@ task_handler_delete_confirm_title_delete_task = Delete task
task_handler_delete_confirm_question_delete_task = Are you sure you want to delete task "{0}"?
task_handler_delete_confirm_title_delete_tasks = Delete tasks
task_handler_delete_confirm_question_delete_tasks = Are you sure you want to delete {0} tasks?
task_handler_delete_error_deleting_task_from_scheduler_title = Task deletion error
task_handler_delete_error_deleting_task_from_scheduler_message = Unable to delete task {0} from scheduler. The task won't be deleted from the project.
task_configuration_wizard_page_task_error_message_enter_task_name = Enter task name (unique)
task_configuration_wizard_page_task_already_exists = Task "{0}" already exists in project "{1}"
task_configuration_wizard_page_task_enter_type = Enter task type
......
......@@ -23,7 +23,9 @@ import org.eclipse.jface.viewers.ISelection;
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.DBTTask;
import org.jkiss.dbeaver.runtime.DBWorkbench;
import org.jkiss.dbeaver.tasks.ui.internal.TaskUIMessages;
import org.jkiss.dbeaver.ui.UIUtils;
......@@ -59,7 +61,15 @@ public class TaskHandlerDelete extends AbstractHandler {
}
}
for (DBTTask task : tasksToDelete) {
task.getProject().getTaskManager().deleteTaskConfiguration(task);
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
);
}
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册