Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
5faf8b6a
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,发现更多精彩内容 >>
提交
5faf8b6a
编写于
1月 05, 2018
作者:
S
serge-rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#1712 PG grant/revoke command, permission management fixes
上级
58041d0c
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
42 addition
and
59 deletion
+42
-59
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/edit/PostgreCommandGrantPrivilege.java
...ver/ext/postgresql/edit/PostgreCommandGrantPrivilege.java
+0
-1
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgrePrivilege.java
.../jkiss/dbeaver/ext/postgresql/model/PostgrePrivilege.java
+11
-0
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/ui/editors/PostgresRolePrivilegesEditor.java
...t/postgresql/ui/editors/PostgresRolePrivilegesEditor.java
+31
-58
未找到文件。
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/edit/PostgreCommandGrantPrivilege.java
浏览文件 @
5faf8b6a
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
* Copyright (C) 2011-2012 Eugene Fradkin (eugene.fradkin@gmail.com)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgrePrivilege.java
浏览文件 @
5faf8b6a
...
...
@@ -48,6 +48,17 @@ public class PostgrePrivilege {
this
.
withHierarchy
=
JDBCUtils
.
safeGetBoolean
(
dbResult
,
"with_hierarchy"
);
}
public
PostgrePrivilege
(
String
grantor
,
String
grantee
,
String
tableCatalog
,
String
tableSchema
,
String
tableName
,
PostgrePrivilegeType
privilegeType
,
boolean
isGrantable
,
boolean
withHierarchy
)
{
this
.
grantor
=
grantor
;
this
.
grantee
=
grantee
;
this
.
tableCatalog
=
tableCatalog
;
this
.
tableSchema
=
tableSchema
;
this
.
tableName
=
tableName
;
this
.
privilegeType
=
privilegeType
;
this
.
isGrantable
=
isGrantable
;
this
.
withHierarchy
=
withHierarchy
;
}
public
String
getGrantor
()
{
return
grantor
;
}
...
...
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/ui/editors/PostgresRolePrivilegesEditor.java
浏览文件 @
5faf8b6a
...
...
@@ -64,9 +64,7 @@ import org.jkiss.dbeaver.ui.navigator.database.DatabaseNavigatorTree;
import
org.jkiss.dbeaver.ui.navigator.database.DatabaseNavigatorTreeFilter
;
import
java.lang.reflect.InvocationTargetException
;
import
java.util.Collection
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.*
;
/**
* PostgresRolePrivilegesEditor
...
...
@@ -84,58 +82,6 @@ public class PostgresRolePrivilegesEditor extends AbstractDatabaseObjectEditor<P
private
Map
<
String
,
PostgrePermission
>
permissionMap
=
new
HashMap
<>();
public
void
createPartControl
(
Composite
parent
)
{
{
/*
actionGrant = new Action("Grant " + (isRoleEditor() ? "object" : "role"), DBeaverIcons.getImageDescriptor(getObjectAddIcon())) {
@Override
public void run() {
try {
VoidProgressMonitor monitor = new VoidProgressMonitor();
if (isRoleEditor()) {
DBNDatabaseNode dbNode = NavigatorUtils.getNodeByObject(getDatabaseObject().getDatabase());
DBNDatabaseNode schemasNode = NavigatorUtils.getChildFolder(monitor, dbNode, PostgreSchema.class);
List<DBNNode> tableNodes = BrowseObjectDialog.selectObjects(getSite().getShell(), "Select object", schemasNode, null,
new Class[]{Object.class}, new Class[]{PostgreTableBase.class});
if (tableNodes != null) {
for (DBNNode node : tableNodes) {
}
}
} else {
List<PostgreRole> allRoles = new ArrayList<>(getDatabaseObject().getDatabase().getAuthIds(monitor));
if (currentPrivs != null) {
for (PostgrePermission p : currentPrivs) {
allRoles.remove(p.getTargetObject(monitor));
}
}
SelectObjectDialog<PostgreRole> roleSelector = new SelectObjectDialog<>(
getSite().getShell(),
"Select role",
true,
"Permissions/Role/Selector",
allRoles,
null);
if (roleSelector.open() == IDialogConstants.OK_ID) {
}
}
} catch (DBException e) {
DBeaverUI.getInstance().showError("Load object", "Error loading permission objects", e);
}
}
};
actionRevoke = new Action("Revoke " + (isRoleEditor() ? "object" : "role"), DBeaverIcons.getImageDescriptor(getObjectRemoveIcon())) {
@Override
public void run() {
super.run();
}
};
*/
}
this
.
pageControl
=
new
PageControl
(
parent
);
SashForm
composite
=
UIUtils
.
createPartDivider
(
getSite
().
getPart
(),
this
.
pageControl
,
SWT
.
HORIZONTAL
);
...
...
@@ -192,7 +138,6 @@ public class PostgresRolePrivilegesEditor extends AbstractDatabaseObjectEditor<P
{
Composite
permEditPanel
=
new
Composite
(
composite
,
SWT
.
NONE
);
permEditPanel
.
setLayout
(
new
GridLayout
(
1
,
true
));
//permEditPanel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
permissionTable
=
new
Table
(
permEditPanel
,
SWT
.
FULL_SELECTION
|
SWT
.
CHECK
);
permissionTable
.
setLayoutData
(
new
GridData
(
GridData
.
FILL_HORIZONTAL
));
...
...
@@ -229,7 +174,7 @@ public class PostgresRolePrivilegesEditor extends AbstractDatabaseObjectEditor<P
buttonPanel
.
setLayoutData
(
new
GridData
(
GridData
.
FILL_HORIZONTAL
));
buttonPanel
.
setLayout
(
new
RowLayout
());
Button
actionCheckAll
=
UIUtils
.
createPushButton
(
buttonPanel
,
"Check
All"
,
null
,
new
SelectionAdapter
()
{
UIUtils
.
createPushButton
(
buttonPanel
,
"Grant
All"
,
null
,
new
SelectionAdapter
()
{
@Override
public
void
widgetSelected
(
SelectionEvent
e
)
{
boolean
hadNonChecked
=
false
;
...
...
@@ -240,7 +185,7 @@ public class PostgresRolePrivilegesEditor extends AbstractDatabaseObjectEditor<P
if
(
hadNonChecked
)
updateCurrentPrivileges
(
true
,
null
);
}
});
Button
actionCheckNone
=
UIUtils
.
createPushButton
(
buttonPanel
,
"Check None
"
,
null
,
new
SelectionAdapter
()
{
UIUtils
.
createPushButton
(
buttonPanel
,
"Revoke All
"
,
null
,
new
SelectionAdapter
()
{
@Override
public
void
widgetSelected
(
SelectionEvent
e
)
{
boolean
hadChecked
=
false
;
...
...
@@ -266,6 +211,33 @@ public class PostgresRolePrivilegesEditor extends AbstractDatabaseObjectEditor<P
private
void
updateCurrentPrivileges
(
boolean
grant
,
PostgrePrivilegeType
privilegeType
)
{
if
(
currentPermission
==
null
)
{
if
(
currentObject
==
null
)
{
DBeaverUI
.
getInstance
().
showError
(
"Update privilege"
,
"Can't update privilege - no current object"
);
return
;
}
if
(
isRoleEditor
())
{
PostgreTableBase
table
=
(
PostgreTableBase
)
currentObject
;
List
<
PostgrePrivilege
>
privileges
=
new
ArrayList
<>();
// privileges.add(new PostgrePrivilege(
// getDatabaseObject().getDataSource().getContainer().getConnectionConfiguration().getUserName(),
// getDatabaseObject().getName(),
// table.getSchema().getDatabase().getName(),
// table.getSchema().getName(),
// table.getName(),
// privilegeType,
// false,
// false));
currentPermission
=
new
PostgreRolePermission
(
getDatabaseObject
(),
table
.
getSchema
().
getName
(),
table
.
getName
(),
privileges
);
}
else
{
List
<
PostgrePrivilege
>
privileges
=
new
ArrayList
<>();
currentPermission
=
new
PostgreTablePermission
(
getDatabaseObject
(),
currentObject
.
getName
(),
privileges
);
}
// Add to map
permissionMap
.
put
(
currentPermission
.
getName
(),
currentPermission
);
}
// Add command
addChangeCommand
(
new
PostgreCommandGrantPrivilege
(
...
...
@@ -395,6 +367,7 @@ public class PostgresRolePrivilegesEditor extends AbstractDatabaseObjectEditor<P
@Override
public
void
completeLoading
(
Collection
<
PostgrePermission
>
privs
)
{
super
.
completeLoading
(
privs
);
permissionMap
.
clear
();
for
(
PostgrePermission
perm
:
privs
)
{
permissionMap
.
put
(
perm
.
getName
(),
perm
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录