Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
45f0760a
D
dbeaver
项目概览
suliangchun
/
dbeaver
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dbeaver
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
45f0760a
编写于
7月 22, 2021
作者:
A
Anastasiya Volkova
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
dbeaver/dbeaver-ee#1040 "delete task folder" button added
上级
c2140d82
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
127 addition
and
3 deletion
+127
-3
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/task/DBTTaskManager.java
...odel/src/org/jkiss/dbeaver/model/task/DBTTaskManager.java
+2
-0
plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/task/TaskManagerImpl.java
.../src/org/jkiss/dbeaver/registry/task/TaskManagerImpl.java
+17
-0
plugins/org.jkiss.dbeaver.tasks.ui.view/OSGI-INF/l10n/bundle.properties
...iss.dbeaver.tasks.ui.view/OSGI-INF/l10n/bundle.properties
+2
-0
plugins/org.jkiss.dbeaver.tasks.ui.view/plugin.xml
plugins/org.jkiss.dbeaver.tasks.ui.view/plugin.xml
+14
-2
plugins/org.jkiss.dbeaver.tasks.ui.view/src/org/jkiss/dbeaver/tasks/ui/internal/TaskUIViewMessages.java
...g/jkiss/dbeaver/tasks/ui/internal/TaskUIViewMessages.java
+6
-0
plugins/org.jkiss.dbeaver.tasks.ui.view/src/org/jkiss/dbeaver/tasks/ui/internal/TaskUIViewMessages.properties
...s/dbeaver/tasks/ui/internal/TaskUIViewMessages.properties
+6
-0
plugins/org.jkiss.dbeaver.tasks.ui.view/src/org/jkiss/dbeaver/tasks/ui/view/DatabaseTasksView.java
...rc/org/jkiss/dbeaver/tasks/ui/view/DatabaseTasksView.java
+3
-1
plugins/org.jkiss.dbeaver.tasks.ui.view/src/org/jkiss/dbeaver/tasks/ui/view/TaskHandlerFolderDelete.java
.../jkiss/dbeaver/tasks/ui/view/TaskHandlerFolderDelete.java
+77
-0
未找到文件。
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/task/DBTTaskManager.java
浏览文件 @
45f0760a
...
...
@@ -77,6 +77,8 @@ public interface DBTTaskManager {
void
deleteTaskConfiguration
(
@NotNull
DBTTask
task
)
throws
DBException
;
void
removeTaskFolder
(
@NotNull
DBTTaskFolder
taskFolder
)
throws
DBException
;
@NotNull
File
getStatisticsFolder
();
...
...
plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/task/TaskManagerImpl.java
浏览文件 @
45f0760a
...
...
@@ -224,6 +224,20 @@ public class TaskManagerImpl implements DBTTaskManager {
TaskRegistry
.
getInstance
().
notifyTaskListeners
(
new
DBTTaskEvent
(
task
,
DBTTaskEvent
.
Action
.
TASK_REMOVE
));
}
@Override
public
void
removeTaskFolder
(
@NotNull
DBTTaskFolder
taskFolder
)
throws
DBException
{
if
(!
tasksFolders
.
contains
(
taskFolder
))
{
throw
new
DBException
(
"Task folder with name '"
+
taskFolder
.
getName
()
+
"' is missing"
);
}
List
<
DBTTask
>
folderTasks
=
taskFolder
.
getTasks
();
synchronized
(
tasksFolders
)
{
tasksFolders
.
remove
(
taskFolder
);
}
saveConfiguration
();
}
@NotNull
@Override
public
File
getStatisticsFolder
()
{
...
...
@@ -297,6 +311,9 @@ public class TaskManagerImpl implements DBTTaskManager {
taskFolder
=
DBUtils
.
findObject
(
tasksFolders
,
taskFolderName
);
if
(
taskFolder
==
null
)
{
taskFolder
=
new
TaskFolderImpl
(
taskFolderName
,
projectMetadata
,
new
ArrayList
<>());
synchronized
(
tasksFolders
)
{
tasksFolders
.
add
(
taskFolder
);
}
}
}
return
taskFolder
;
...
...
plugins/org.jkiss.dbeaver.tasks.ui.view/OSGI-INF/l10n/bundle.properties
浏览文件 @
45f0760a
...
...
@@ -16,6 +16,8 @@ command.org.jkiss.dbeaver.task.copy.name = Copy task
command.org.jkiss.dbeaver.task.copy.description
=
Create existing task copy
command.org.jkiss.dbeaver.task.folder.create.name
=
Create new task folder
command.org.jkiss.dbeaver.task.folder.create.description
=
Create new database task folder
command.org.jkiss.dbeaver.task.folder.delete.name
=
Delete task folder
command.org.jkiss.dbeaver.task.folder.delete.description
=
Delete task folder
command.org.jkiss.dbeaver.task.group.name
=
Group by
command.org.jkiss.dbeaver.task.group.description
=
Group tasks by
...
...
plugins/org.jkiss.dbeaver.tasks.ui.view/plugin.xml
浏览文件 @
45f0760a
...
...
@@ -37,6 +37,7 @@
<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.copy"
name=
"%command.org.jkiss.dbeaver.task.copy.name"
description=
"%command.org.jkiss.dbeaver.task.copy.description"
categoryId=
"org.jkiss.dbeaver.core.navigator"
/>
<command
id=
"org.jkiss.dbeaver.folder.task.create"
name=
"%command.org.jkiss.dbeaver.task.folder.create.name"
description=
"%command.org.jkiss.dbeaver.task.folder.create.description"
categoryId=
"org.jkiss.dbeaver.core.navigator"
/>
<command
id=
"org.jkiss.dbeaver.folder.task.delete"
name=
"%command.org.jkiss.dbeaver.task.folder.delete.name"
description=
"%command.org.jkiss.dbeaver.task.folder.delete.description"
categoryId=
"org.jkiss.dbeaver.core.navigator"
/>
<command
id=
"org.jkiss.dbeaver.task.group"
name=
"%command.org.jkiss.dbeaver.task.group.name"
description=
"%command.org.jkiss.dbeaver.task.group.description"
categoryId=
"org.jkiss.dbeaver.core.navigator"
>
<commandParameter
id=
"group"
name=
"Group by"
optional=
"false"
/>
</command>
...
...
@@ -47,6 +48,7 @@
<image
commandId=
"org.jkiss.dbeaver.task.create"
icon=
"icons/task_create.png"
/>
<image
commandId=
"org.jkiss.dbeaver.task.edit"
icon=
"icons/task_edit.png"
/>
<image
commandId=
"org.jkiss.dbeaver.folder.task.create"
icon=
"platform:/plugin/org.jkiss.dbeaver.ui/icons/file/folder_add.png"
/>
<image
commandId=
"org.jkiss.dbeaver.folder.task.delete"
icon=
"platform:/plugin/org.jkiss.dbeaver.ui/icons/delete.png"
/>
</extension>
<extension
point=
"org.eclipse.core.expressions.definitions"
>
...
...
@@ -104,7 +106,6 @@
</enabledWhen>
</handler>
<handler
commandId=
"org.jkiss.dbeaver.task.create"
class=
"org.jkiss.dbeaver.tasks.ui.view.TaskHandlerCreate"
/>
<handler
commandId=
"org.jkiss.dbeaver.folder.task.create"
class=
"org.jkiss.dbeaver.tasks.ui.view.TaskHandlerFolderCreate"
/>
<handler
commandId=
"org.jkiss.dbeaver.task.copy"
class=
"org.jkiss.dbeaver.tasks.ui.view.TaskHandlerCopy"
>
<activeWhen><reference
definitionId=
"org.jkiss.dbeaver.tasks.part.active"
/></activeWhen>
<enabledWhen>
...
...
@@ -119,7 +120,18 @@
<handler
commandId=
"org.eclipse.ui.file.refresh"
class=
"org.jkiss.dbeaver.tasks.ui.view.TaskHandlerRefresh"
>
<activeWhen><reference
definitionId=
"org.jkiss.dbeaver.tasks.part.active"
/></activeWhen>
</handler>
<handler
commandId=
"org.jkiss.dbeaver.task.create"
class=
"org.jkiss.dbeaver.tasks.ui.view.TaskHandlerCreate"
/>
<handler
commandId=
"org.jkiss.dbeaver.folder.task.create"
class=
"org.jkiss.dbeaver.tasks.ui.view.TaskHandlerFolderCreate"
/>
<handler
commandId=
"org.jkiss.dbeaver.folder.task.delete"
class=
"org.jkiss.dbeaver.tasks.ui.view.TaskHandlerFolderDelete"
>
<activeWhen><reference
definitionId=
"org.jkiss.dbeaver.tasks.part.active"
/></activeWhen>
<enabledWhen>
<with
variable=
"selection"
>
<count
value=
"+"
/>
<iterate
operator=
"and"
>
<instanceof
value=
"org.jkiss.dbeaver.model.task.DBTTaskFolder"
/>
</iterate>
</with>
</enabledWhen>
</handler>
<handler
commandId=
"org.jkiss.dbeaver.task.group"
class=
"org.jkiss.dbeaver.tasks.ui.view.TaskHandlerGroupBy"
>
</handler>
...
...
plugins/org.jkiss.dbeaver.tasks.ui.view/src/org/jkiss/dbeaver/tasks/ui/internal/TaskUIViewMessages.java
浏览文件 @
45f0760a
...
...
@@ -74,6 +74,12 @@ public class TaskUIViewMessages extends NLS {
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_handler_delete_confirm_title_delete_task_folder
;
public
static
String
task_handler_delete_confirm_question_delete_task_folder
;
public
static
String
task_handler_delete_confirm_title_delete_tasks_folders
;
public
static
String
task_handler_delete_confirm_question_delete_tasks_folders
;
public
static
String
task_handler_delete_folder_error_title
;
public
static
String
task_handler_delete_folder_error_message
;
static
{
...
...
plugins/org.jkiss.dbeaver.tasks.ui.view/src/org/jkiss/dbeaver/tasks/ui/internal/TaskUIViewMessages.properties
浏览文件 @
45f0760a
...
...
@@ -51,3 +51,9 @@ 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_handler_delete_confirm_title_delete_task_folder
=
Delete task folder
task_handler_delete_confirm_question_delete_task_folder
=
Are you sure you want to delete task folder "{0}"? All tasks inside folder will NOT be deleted
task_handler_delete_confirm_title_delete_tasks_folders
=
Delete tasks folders
task_handler_delete_confirm_question_delete_tasks_folders
=
Are you sure you want to delete {0} tasks? All tasks inside folder will NOT be deleted
task_handler_delete_folder_error_title
=
Task folder deletion error
task_handler_delete_folder_error_message
=
Unable to delete task {0} from tasks folders list.
plugins/org.jkiss.dbeaver.tasks.ui.view/src/org/jkiss/dbeaver/tasks/ui/view/DatabaseTasksView.java
浏览文件 @
45f0760a
...
...
@@ -70,6 +70,7 @@ public class DatabaseTasksView extends ViewPart implements DBTTaskListener {
public
static
final
String
EDIT_TASK_CMD_ID
=
"org.jkiss.dbeaver.task.edit"
;
public
static
final
String
RUN_TASK_CMD_ID
=
"org.jkiss.dbeaver.task.run"
;
private
static
final
String
CREATE_FOLDER_TASK_CMD_ID
=
"org.jkiss.dbeaver.folder.task.create"
;
private
static
final
String
DELETE_FOLDER_TASK_CMD_ID
=
"org.jkiss.dbeaver.folder.task.delete"
;
public
static
final
String
GROUP_TASK_CMD_ID
=
"org.jkiss.dbeaver.task.group"
;
private
static
final
ArrayList
<
Object
>
EMPTY_TASK_RUN_LIST
=
new
ArrayList
<>();
...
...
@@ -171,8 +172,9 @@ public class DatabaseTasksView extends ViewPart implements DBTTaskListener {
//manager.add(ActionUtils.makeCommandContribution(getSite(), IWorkbenchCommandConstants.FILE_PROPERTIES, "Task properties", null));
manager
.
add
(
ActionUtils
.
makeCommandContribution
(
getSite
(),
CREATE_TASK_CMD_ID
));
manager
.
add
(
ActionUtils
.
makeCommandContribution
(
getSite
(),
COPY_TASK_CMD_ID
));
manager
.
add
(
ActionUtils
.
makeCommandContribution
(
getSite
(),
CREATE_FOLDER_TASK_CMD_ID
));
manager
.
add
(
ActionUtils
.
makeCommandContribution
(
getSite
(),
IWorkbenchCommandConstants
.
EDIT_DELETE
,
TaskUIViewMessages
.
db_tasks_view_context_menu_command_delete_task
,
null
));
manager
.
add
(
ActionUtils
.
makeCommandContribution
(
getSite
(),
CREATE_FOLDER_TASK_CMD_ID
));
manager
.
add
(
ActionUtils
.
makeCommandContribution
(
getSite
(),
DELETE_FOLDER_TASK_CMD_ID
));
manager
.
add
(
new
Separator
());
manager
.
add
(
new
Separator
(
IWorkbenchActionConstants
.
MB_ADDITIONS
));
manager
.
add
(
new
Separator
());
...
...
plugins/org.jkiss.dbeaver.tasks.ui.view/src/org/jkiss/dbeaver/tasks/ui/view/TaskHandlerFolderDelete.java
0 → 100644
浏览文件 @
45f0760a
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2021 DBeaver Corp and others
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org.jkiss.dbeaver.tasks.ui.view
;
import
org.eclipse.core.commands.AbstractHandler
;
import
org.eclipse.core.commands.ExecutionEvent
;
import
org.eclipse.core.commands.ExecutionException
;
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.model.task.DBTTaskFolder
;
import
org.jkiss.dbeaver.runtime.DBWorkbench
;
import
org.jkiss.dbeaver.tasks.ui.internal.TaskUIViewMessages
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
TaskHandlerFolderDelete
extends
AbstractHandler
{
@Override
public
Object
execute
(
ExecutionEvent
event
)
throws
ExecutionException
{
final
ISelection
selection
=
HandlerUtil
.
getCurrentSelection
(
event
);
List
<
DBTTaskFolder
>
tasksFoldersToDelete
=
new
ArrayList
<>();
if
(
selection
instanceof
IStructuredSelection
)
{
IStructuredSelection
structSelection
=
(
IStructuredSelection
)
selection
;
for
(
Object
element
:
structSelection
)
{
if
(
element
instanceof
DBTTaskFolder
)
{
tasksFoldersToDelete
.
add
((
DBTTaskFolder
)
element
);
}
}
}
if
(!
tasksFoldersToDelete
.
isEmpty
())
{
if
(
tasksFoldersToDelete
.
size
()
==
1
)
{
if
(!
UIUtils
.
confirmAction
(
HandlerUtil
.
getActiveShell
(
event
),
TaskUIViewMessages
.
task_handler_delete_confirm_title_delete_task_folder
,
NLS
.
bind
(
TaskUIViewMessages
.
task_handler_delete_confirm_question_delete_task_folder
,
tasksFoldersToDelete
.
get
(
0
).
getName
())))
{
return
null
;
}
}
else
{
if
(!
UIUtils
.
confirmAction
(
HandlerUtil
.
getActiveShell
(
event
),
TaskUIViewMessages
.
task_handler_delete_confirm_title_delete_tasks_folders
,
NLS
.
bind
(
TaskUIViewMessages
.
task_handler_delete_confirm_question_delete_tasks_folders
,
tasksFoldersToDelete
.
size
())))
{
return
null
;
}
}
for
(
DBTTaskFolder
taskFolder
:
tasksFoldersToDelete
)
{
try
{
taskFolder
.
getProject
().
getTaskManager
().
removeTaskFolder
(
taskFolder
);
}
catch
(
DBException
e
)
{
DBWorkbench
.
getPlatformUI
().
showError
(
TaskUIViewMessages
.
task_handler_delete_folder_error_title
,
NLS
.
bind
(
TaskUIViewMessages
.
task_handler_delete_folder_error_message
,
taskFolder
.
getName
()),
e
);
}
}
}
return
null
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录