Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
ef5a96a8
D
dbeaver
项目概览
suliangchun
/
dbeaver
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
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,发现更多精彩内容 >>
提交
ef5a96a8
编写于
11月 15, 2019
作者:
S
Serge Rider
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/devel' into devel
上级
ee130607
eaebadb5
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
102 addition
and
0 deletion
+102
-0
plugins/org.jkiss.dbeaver.core/plugin.xml
plugins/org.jkiss.dbeaver.core/plugin.xml
+27
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/FolderPropertyTester.java
...rc/org/jkiss/dbeaver/ui/actions/FolderPropertyTester.java
+20
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/datasource/FolderDisconnectHandler.java
...beaver/ui/actions/datasource/FolderDisconnectHandler.java
+55
-0
未找到文件。
plugins/org.jkiss.dbeaver.core/plugin.xml
浏览文件 @
ef5a96a8
...
...
@@ -72,6 +72,12 @@
namespace=
"org.jkiss.dbeaver.core.datasourceContainer"
properties=
"driverId,driverClass,connected"
type=
"org.jkiss.dbeaver.model.DBPDataSourceContainer"
/>
<propertyTester
class=
"org.jkiss.dbeaver.ui.actions.FolderPropertyTester"
id=
"org.jkiss.dbeaver.ui.actions.FolderPropertyTester"
namespace=
"org.jkiss.dbeaver.core.folder"
properties=
"connected"
type=
"org.jkiss.dbeaver.model.navigator.DBNLocalFolder"
/>
<propertyTester
class=
"org.jkiss.dbeaver.ui.views.process.ProcessPropertyTester"
id=
"org.jkiss.dbeaver.ui.views.process.ProcessPropertyTester"
...
...
@@ -118,6 +124,7 @@
<command
id=
"org.jkiss.dbeaver.core.connect"
name=
"%command.org.jkiss.dbeaver.core.connect.name"
description=
"%command.org.jkiss.dbeaver.core.connect.description"
categoryId=
"org.jkiss.dbeaver.core.database"
/>
<command
id=
"org.jkiss.dbeaver.core.disconnect"
name=
"%command.org.jkiss.dbeaver.core.disconnect.name"
description=
"%command.org.jkiss.dbeaver.core.disconnect.description"
categoryId=
"org.jkiss.dbeaver.core.database"
/>
<command
id=
"org.jkiss.dbeaver.folder.disconnect"
name=
"%command.org.jkiss.dbeaver.core.disconnect.name"
description=
"%command.org.jkiss.dbeaver.core.disconnect.description"
categoryId=
"org.jkiss.dbeaver.core.database"
/>
<command
id=
"org.jkiss.dbeaver.core.invalidate"
name=
"%command.org.jkiss.dbeaver.core.invalidate.name"
description=
"%command.org.jkiss.dbeaver.core.invalidate.description"
categoryId=
"org.jkiss.dbeaver.core.database"
/>
<command
id=
"org.jkiss.dbeaver.core.disconnectProject"
name=
"%command.org.jkiss.dbeaver.core.disconnectProject.name"
description=
"%command.org.jkiss.dbeaver.core.disconnectProject.description"
categoryId=
"org.jkiss.dbeaver.core.database"
/>
<command
id=
"org.jkiss.dbeaver.core.disconnectAll"
name=
"%command.org.jkiss.dbeaver.core.disconnectAll.name"
description=
"%command.org.jkiss.dbeaver.core.disconnectAll.description"
categoryId=
"org.jkiss.dbeaver.core.database"
/>
...
...
@@ -151,6 +158,7 @@
<image
commandId=
"org.jkiss.dbeaver.core.connect"
icon=
"platform:/plugin/org.jkiss.dbeaver.ui/icons/sql/connect.png"
/>
<image
commandId=
"org.jkiss.dbeaver.core.invalidate"
icon=
"platform:/plugin/org.jkiss.dbeaver.ui/icons/sql/reconnect.png"
/>
<image
commandId=
"org.jkiss.dbeaver.core.disconnect"
icon=
"platform:/plugin/org.jkiss.dbeaver.ui/icons/sql/disconnect.png"
/>
<image
commandId=
"org.jkiss.dbeaver.folder.disconnect"
icon=
"platform:/plugin/org.jkiss.dbeaver.ui/icons/sql/disconnect.png"
/>
<image
commandId=
"org.jkiss.dbeaver.core.commit"
icon=
"platform:/plugin/org.jkiss.dbeaver.ui/icons/sql/commit.png"
/>
<image
commandId=
"org.jkiss.dbeaver.core.rollback"
icon=
"platform:/plugin/org.jkiss.dbeaver.ui/icons/sql/rollback.png"
/>
<image
commandId=
"org.jkiss.dbeaver.core.txn.log"
icon=
"platform:/plugin/org.jkiss.dbeaver.ui/icons/sql/txn_log.png"
/>
...
...
@@ -228,6 +236,19 @@
</or>
</definition>
<definition
id=
"org.jkiss.dbeaver.core.folder.connected"
>
<or>
<with
variable=
"selection"
>
<count
value=
"+"
/>
<iterate
operator=
"and"
>
<adapt
type=
"org.jkiss.dbeaver.model.navigator.DBNLocalFolder"
>
<test
property=
"org.jkiss.dbeaver.core.folder.connected"
value=
"true"
/>
</adapt>
</iterate>
</with>
</or>
</definition>
<definition
id=
"org.jkiss.dbeaver.core.datasource.disconnected"
>
<or>
<with
variable=
"selection"
>
...
...
@@ -294,6 +315,9 @@
<handler
commandId=
"org.jkiss.dbeaver.core.disconnect"
class=
"org.jkiss.dbeaver.ui.actions.datasource.DataSourceDisconnectHandler"
>
<enabledWhen><reference
definitionId=
"org.jkiss.dbeaver.core.datasource.connected"
/></enabledWhen>
</handler>
<handler
commandId=
"org.jkiss.dbeaver.folder.disconnect"
class=
"org.jkiss.dbeaver.ui.actions.datasource.FolderDisconnectHandler"
>
<enabledWhen><reference
definitionId=
"org.jkiss.dbeaver.core.folder.connected"
/></enabledWhen>
</handler>
<handler
commandId=
"org.jkiss.dbeaver.core.disconnectAll"
class=
"org.jkiss.dbeaver.ui.actions.datasource.DataSourceDisconnectAllHandler"
/>
<handler
commandId=
"org.jkiss.dbeaver.core.disconnectOther"
class=
"org.jkiss.dbeaver.ui.actions.datasource.DataSourceDisconnectOtherHandler"
>
<enabledWhen>
...
...
@@ -746,6 +770,9 @@
</with>
</visibleWhen>
</command>
<command
commandId=
"org.jkiss.dbeaver.folder.disconnect"
>
<visibleWhen
checkEnabled=
"true"
/>
</command>
</menuContribution>
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/FolderPropertyTester.java
0 → 100644
浏览文件 @
ef5a96a8
package
org.jkiss.dbeaver.ui.actions
;
import
org.eclipse.core.expressions.PropertyTester
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.model.navigator.DBNLocalFolder
;
public
class
FolderPropertyTester
extends
PropertyTester
{
static
protected
final
Log
log
=
Log
.
getLog
(
FolderPropertyTester
.
class
);
@Override
public
boolean
test
(
Object
receiver
,
String
property
,
Object
[]
args
,
Object
expectedValue
)
{
if
(!(
receiver
instanceof
DBNLocalFolder
))
{
log
.
info
(
String
.
format
(
"%s cannot be used with %s type"
,
this
.
getClass
().
getName
(),
receiver
.
getClass
().
getName
()));
return
false
;
}
DBNLocalFolder
localFolder
=
(
DBNLocalFolder
)
receiver
;
return
localFolder
.
hasConnected
();
}
}
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/datasource/FolderDisconnectHandler.java
0 → 100644
浏览文件 @
ef5a96a8
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2019 Serge Rider (serge@jkiss.org)
*
* 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.ui.actions.datasource
;
import
java.util.Iterator
;
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.ui.handlers.HandlerUtil
;
import
org.jkiss.dbeaver.model.DBPDataSourceContainer
;
import
org.jkiss.dbeaver.model.navigator.DBNLocalFolder
;
public
class
FolderDisconnectHandler
extends
AbstractHandler
{
@Override
public
Object
execute
(
ExecutionEvent
event
)
throws
ExecutionException
{
ISelection
selection
=
HandlerUtil
.
getCurrentSelection
(
event
);
if
(
selection
instanceof
IStructuredSelection
)
{
IStructuredSelection
treeSelection
=
(
IStructuredSelection
)
selection
;
@SuppressWarnings
(
"rawtypes"
)
Iterator
it
=
treeSelection
.
iterator
();
while
(
it
.
hasNext
())
{
Object
el
=
it
.
next
();
if
(
el
instanceof
DBNLocalFolder
)
{
DBNLocalFolder
localFolder
=
(
DBNLocalFolder
)
el
;
localFolder
.
getNestedDataSources
().
forEach
(
ds
->
{
final
DBPDataSourceContainer
dataSourceContainer
=
ds
.
getObject
();
if
(
ds
!=
null
&&
ds
.
getObject
().
isConnected
())
{
DataSourceHandler
.
disconnectDataSource
(
dataSourceContainer
,
null
);
}
});
}
}
}
return
null
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录