提交 dad709e5 编写于 作者: S serge-rider

Tasks view additions


Former-commit-id: 12934b1e
上级 39607dd5
......@@ -291,7 +291,7 @@
-->
<folder type="org.jkiss.dbeaver.model.struct.DBSObject"
label="%tree.security.node.name"
icon="icons/folder_security.gif"
icon="#security"
description="Security management"
visibleIf="object.dataSource.atLeastV9_5">
<folder type="org.jkiss.dbeaver.ext.db2.model.security.DB2Role" label="%tree.roles.node.name" icon="#folder_role" description="Roles">
......
......@@ -38,11 +38,11 @@ public interface DBTScheduler {
@Nullable
DBTScheduleDetails getScheduledTask(@NotNull DBTTask task);
void scheduleTask(@NotNull DBTTask task);
void addTaskSchedule(@NotNull DBTTask task);
void openTaskSettings(@NotNull DBTTask task);
void cancelTaskSchedule(@NotNull DBTTask task);
void removeTaskSchedule(@NotNull DBTTask task);
void openSchedulerSettings();
......
......@@ -21,6 +21,7 @@ import org.eclipse.core.runtime.IExtensionRegistry;
import org.eclipse.core.runtime.Platform;
import org.jkiss.code.NotNull;
import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.Log;
import org.jkiss.dbeaver.model.task.*;
......@@ -130,6 +131,18 @@ public class TaskRegistry implements DBTTaskRegistry
return schedulers.isEmpty() ? null : schedulers.get(0);
}
public DBTScheduler getActiveSchedulerInstance() {
DBTSchedulerDescriptor activeScheduler = getActiveScheduler();
if (activeScheduler != null) {
try {
return activeScheduler.getInstance();
} catch (DBException e) {
log.error(e);
}
}
return null;
}
@Override
public void addTaskListener(DBTTaskListener listener) {
synchronized (taskListeners) {
......
......@@ -66,6 +66,12 @@ command.org.jkiss.dbeaver.task.run.name = Run task
command.org.jkiss.dbeaver.task.run.description = Executes selected task
command.org.jkiss.dbeaver.task.edit.name = Edit task
command.org.jkiss.dbeaver.task.edit.description = Opens task configuration
command.org.jkiss.dbeaver.task.scheduler.create.name = Schedule task
command.org.jkiss.dbeaver.task.scheduler.create.description = Schedule task execute
command.org.jkiss.dbeaver.task.scheduler.edit.name = Edit scheduled task
command.org.jkiss.dbeaver.task.scheduler.edit.description = Edit scheduled task settings
command.org.jkiss.dbeaver.task.scheduler.remove.name = Remove schedule
command.org.jkiss.dbeaver.task.scheduler.remove.description = Remove task schedule
command.org.jkiss.dbeaver.core.object.open.name=Edit Object
command.org.jkiss.dbeaver.core.object.open.description=Open object editor
......
......@@ -282,6 +282,10 @@
</command>
<command id="org.jkiss.dbeaver.task.edit" name="%command.org.jkiss.dbeaver.task.edit.name" description="%command.org.jkiss.dbeaver.task.edit.description" categoryId="org.jkiss.dbeaver.core.navigator"/>
<command id="org.jkiss.dbeaver.task.create" name="%command.org.jkiss.dbeaver.task.create.name" description="%command.org.jkiss.dbeaver.task.create.description" categoryId="org.jkiss.dbeaver.core.navigator"/>
<command id="org.jkiss.dbeaver.task.scheduler.create" name="%command.org.jkiss.dbeaver.task.scheduler.create.name" description="%command.org.jkiss.dbeaver.task.scheduler.create.description" categoryId="org.jkiss.dbeaver.core.navigator"/>
<command id="org.jkiss.dbeaver.task.scheduler.edit" name="%command.org.jkiss.dbeaver.task.scheduler.edit.name" description="%command.org.jkiss.dbeaver.task.scheduler.edit.description" categoryId="org.jkiss.dbeaver.core.navigator"/>
<command id="org.jkiss.dbeaver.task.scheduler.remove" name="%command.org.jkiss.dbeaver.task.scheduler.remove.name" description="%command.org.jkiss.dbeaver.task.scheduler.remove.description" categoryId="org.jkiss.dbeaver.core.navigator"/>
</extension>
<extension point="org.eclipse.ui.commandImages">
......@@ -313,6 +317,8 @@
<image commandId="org.jkiss.dbeaver.task.run" icon="platform:/plugin/org.jkiss.dbeaver.ui/icons/run.png"/>
<image commandId="org.jkiss.dbeaver.task.create" icon="icons/task_create.png"/>
<image commandId="org.jkiss.dbeaver.task.schedule.create" icon="icons/scheduler.png"/>
</extension>
<extension point="org.eclipse.ui.handlers">
......
......@@ -38,7 +38,6 @@ import org.eclipse.ui.model.IWorkbenchAdapter;
import org.eclipse.ui.model.WorkbenchAdapter;
import org.eclipse.ui.part.ViewPart;
import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.Log;
import org.jkiss.dbeaver.model.DBIcon;
import org.jkiss.dbeaver.model.DBPImage;
......@@ -209,24 +208,19 @@ public class DatabaseTasksView extends ViewPart implements DBTTaskListener {
}
}
});
DBTSchedulerDescriptor activeScheduler = TaskRegistry.getInstance().getActiveScheduler();
if (activeScheduler != null) {
try {
DBTScheduler schedulerInstance = activeScheduler.getInstance();
taskColumnController.addColumn("Next Run", "Task next scheduled run", SWT.LEFT, true, false, new TaskLabelProvider() {
@Override
protected String getCellText(DBTTask task) {
DBTScheduleDetails scheduledTask = schedulerInstance.getScheduledTask(task);
if (scheduledTask == null) {
return "N/A";
} else {
return scheduledTask.getNextRunInfo();
}
DBTScheduler schedulerInstance = TaskRegistry.getInstance().getActiveSchedulerInstance();
if (schedulerInstance != null) {
taskColumnController.addColumn("Next Run", "Task next scheduled run", SWT.LEFT, true, false, new TaskLabelProvider() {
@Override
protected String getCellText(DBTTask task) {
DBTScheduleDetails scheduledTask = schedulerInstance.getScheduledTask(task);
if (scheduledTask == null) {
return "N/A";
} else {
return scheduledTask.getNextRunInfo();
}
});
} catch (DBException e) {
log.error(e);
}
}
});
}
taskColumnController.addColumn("Description", "Task description", SWT.LEFT, false, false, new TaskLabelProvider() {
@Override
......
......@@ -171,6 +171,7 @@ public class UIIcon {
public static final DBIcon LINK = new DBIcon("link", "misc/link.png"); //$NON-NLS-1$ //$NON-NLS-2$
public static final DBIcon LINK2 = new DBIcon("link2", "misc/link2.png"); //$NON-NLS-1$ //$NON-NLS-2$
public static final DBIcon CURSOR = new DBIcon("cursor", "misc/cursor.png"); //$NON-NLS-1$ //$NON-NLS-2$
public static final DBIcon SECURITY = new DBIcon("security", "security.png"); //$NON-NLS-1$ //$NON-NLS-2$
public static final DBIcon GEN_DATABASE = new DBIcon("gen_database", "database.png"); //$NON-NLS-1$ //$NON-NLS-2$
public static final DBIcon GEN_DATABASE_TYPE = new DBIcon("gen_database_type", "database_type.png"); //$NON-NLS-1$ //$NON-NLS-2$
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册