Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
7aae2f37
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,发现更多精彩内容 >>
提交
7aae2f37
编写于
3月 05, 2019
作者:
S
serge-rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Navigator filters fix. PG privs page UI fix
上级
8b855ea3
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
56 addition
and
10 deletion
+56
-10
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/ui/editors/PostgresRolePrivilegesEditor.java
...t/postgresql/ui/editors/PostgresRolePrivilegesEditor.java
+43
-5
plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/navigator/INavigatorFilter.java
.../src/org/jkiss/dbeaver/ui/navigator/INavigatorFilter.java
+3
-0
plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/navigator/database/DatabaseNavigatorContentProvider.java
.../navigator/database/DatabaseNavigatorContentProvider.java
+1
-1
plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/navigator/dialogs/BrowseObjectDialog.java
...kiss/dbeaver/ui/navigator/dialogs/BrowseObjectDialog.java
+8
-3
plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/navigator/dialogs/SelectDataSourceDialog.java
.../dbeaver/ui/navigator/dialogs/SelectDataSourceDialog.java
+1
-1
未找到文件。
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/ui/editors/PostgresRolePrivilegesEditor.java
浏览文件 @
7aae2f37
...
...
@@ -43,15 +43,18 @@ import org.jkiss.dbeaver.ext.postgresql.edit.PostgreCommandGrantPrivilege;
import
org.jkiss.dbeaver.ext.postgresql.model.*
;
import
org.jkiss.dbeaver.model.DBPEvaluationContext
;
import
org.jkiss.dbeaver.model.DBUtils
;
import
org.jkiss.dbeaver.model.access.DBAUser
;
import
org.jkiss.dbeaver.model.edit.DBECommandReflector
;
import
org.jkiss.dbeaver.model.navigator.DBNDatabaseFolder
;
import
org.jkiss.dbeaver.model.navigator.DBNDatabaseNode
;
import
org.jkiss.dbeaver.model.navigator.DBNEvent
;
import
org.jkiss.dbeaver.model.navigator.DBNNode
;
import
org.jkiss.dbeaver.model.navigator.*
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.runtime.VoidProgressMonitor
;
import
org.jkiss.dbeaver.model.runtime.load.DatabaseLoadService
;
import
org.jkiss.dbeaver.model.struct.DBSEntity
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
org.jkiss.dbeaver.model.struct.rdb.DBSPackage
;
import
org.jkiss.dbeaver.model.struct.rdb.DBSProcedure
;
import
org.jkiss.dbeaver.model.struct.rdb.DBSSequence
;
import
org.jkiss.dbeaver.model.struct.rdb.DBSTableIndex
;
import
org.jkiss.dbeaver.runtime.DBWorkbench
;
import
org.jkiss.dbeaver.ui.LoadingJob
;
import
org.jkiss.dbeaver.ui.UIUtils
;
...
...
@@ -92,7 +95,12 @@ public class PostgresRolePrivilegesEditor extends AbstractDatabaseObjectEditor<P
SashForm
composite
=
UIUtils
.
createPartDivider
(
getSite
().
getPart
(),
this
.
pageControl
,
SWT
.
HORIZONTAL
);
composite
.
setLayoutData
(
new
GridData
(
GridData
.
FILL_BOTH
));
roleOrObjectTable
=
new
DatabaseNavigatorTree
(
composite
,
DBWorkbench
.
getPlatform
().
getNavigatorModel
().
getRoot
(),
SWT
.
MULTI
|
SWT
.
FULL_SELECTION
,
false
,
new
DatabaseNavigatorTreeFilter
());
roleOrObjectTable
=
new
DatabaseNavigatorTree
(
composite
,
DBWorkbench
.
getPlatform
().
getNavigatorModel
().
getRoot
(),
SWT
.
MULTI
|
SWT
.
FULL_SELECTION
,
false
,
isRoleEditor
()
?
new
DatabaseObjectFilter
()
:
null
);
roleOrObjectTable
.
setLayoutData
(
new
GridData
(
GridData
.
FILL_BOTH
));
final
TreeViewer
treeViewer
=
roleOrObjectTable
.
getViewer
();
treeViewer
.
setLabelProvider
(
new
DatabaseNavigatorLabelProvider
(
treeViewer
)
{
...
...
@@ -459,6 +467,36 @@ public class PostgresRolePrivilegesEditor extends AbstractDatabaseObjectEditor<P
}
}
private
static
class
DatabaseObjectFilter
extends
DatabaseNavigatorTreeFilter
{
@Override
public
boolean
filterFolders
()
{
return
false
;
}
@Override
public
boolean
isLeafObject
(
Object
object
)
{
if
(
object
instanceof
DBNDatabaseItem
)
{
DBSObject
dbObject
=
((
DBNDatabaseItem
)
object
).
getObject
();
return
dbObject
instanceof
DBSEntity
||
dbObject
instanceof
DBSProcedure
||
dbObject
instanceof
DBSTableIndex
||
dbObject
instanceof
DBSPackage
||
dbObject
instanceof
DBSSequence
||
dbObject
instanceof
DBAUser
;
}
return
false
;
}
@Override
public
boolean
select
(
Object
element
)
{
if
(!(
element
instanceof
DBNDatabaseItem
))
{
return
true
;
}
return
isLeafObject
(
element
);
}
}
private
class
PageControl
extends
ProgressPageControl
{
PageControl
(
Composite
parent
)
{
super
(
parent
,
SWT
.
SHEET
);
...
...
plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/navigator/INavigatorFilter.java
浏览文件 @
7aae2f37
...
...
@@ -27,6 +27,9 @@ public interface INavigatorFilter extends IFilter
boolean
filterFolders
();
/**
* @param object navigator node (DBN*)
*/
boolean
isLeafObject
(
Object
object
);
}
plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/navigator/database/DatabaseNavigatorContentProvider.java
浏览文件 @
7aae2f37
...
...
@@ -149,7 +149,7 @@ class DatabaseNavigatorContentProvider implements IStructuredContentProvider, IT
public
boolean
hasChildren
(
Object
parent
)
{
if
(
parent
instanceof
DBNDatabaseNode
)
{
if
(
navigatorTree
.
getNavigatorFilter
()
!=
null
&&
navigatorTree
.
getNavigatorFilter
().
isLeafObject
(
((
DBNDatabaseNode
)
parent
).
getObject
()
))
{
if
(
navigatorTree
.
getNavigatorFilter
()
!=
null
&&
navigatorTree
.
getNavigatorFilter
().
isLeafObject
(
parent
))
{
return
false
;
}
}
...
...
plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/navigator/dialogs/BrowseObjectDialog.java
浏览文件 @
7aae2f37
...
...
@@ -93,9 +93,14 @@ public class BrowseObjectDialog extends Dialog {
@Override
public
boolean
isLeafObject
(
Object
object
)
{
if
(
leafTypes
!=
null
&&
leafTypes
.
length
>
0
)
{
for
(
Class
<?>
leafType
:
leafTypes
)
{
if
(
leafType
.
isAssignableFrom
(
object
.
getClass
()))
{
return
true
;
if
(
object
instanceof
DBNDatabaseNode
)
{
DBSObject
dbObject
=
((
DBNDatabaseNode
)
object
).
getObject
();
if
(
dbObject
!=
null
)
{
for
(
Class
<?>
leafType
:
leafTypes
)
{
if
(
leafType
.
isAssignableFrom
(
dbObject
.
getClass
()))
{
return
true
;
}
}
}
}
}
...
...
plugins/org.jkiss.dbeaver.ui.navigator/src/org/jkiss/dbeaver/ui/navigator/dialogs/SelectDataSourceDialog.java
浏览文件 @
7aae2f37
...
...
@@ -100,7 +100,7 @@ public class SelectDataSourceDialog extends AbstractPopupPanel {
@Override
public
boolean
isLeafObject
(
Object
object
)
{
return
object
instanceof
DB
PDataSourceContainer
;
return
object
instanceof
DB
NDataSource
;
}
@Override
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录