Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
7fdd511c
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,发现更多精彩内容 >>
提交
7fdd511c
编写于
3月 05, 2019
作者:
S
Serge Rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ACL editor
Former-commit-id:
10a0bbb0
上级
7681c0ea
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
241 addition
and
27 deletion
+241
-27
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgrePrivilegeType.java
...ss/dbeaver/ext/postgresql/model/PostgrePrivilegeType.java
+1
-1
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/access/DBAPrivilege.java
...odel/src/org/jkiss/dbeaver/model/access/DBAPrivilege.java
+3
-0
plugins/org.jkiss.dbeaver.ui.editors.acl/src/org/jkiss/dbeaver/ui/editors/acl/ACLCommandChangePrivilege.java
...iss/dbeaver/ui/editors/acl/ACLCommandChangePrivilege.java
+85
-0
plugins/org.jkiss.dbeaver.ui.editors.acl/src/org/jkiss/dbeaver/ui/editors/acl/BaseACLManager.java
.../src/org/jkiss/dbeaver/ui/editors/acl/BaseACLManager.java
+34
-0
plugins/org.jkiss.dbeaver.ui.editors.acl/src/org/jkiss/dbeaver/ui/editors/acl/ObjectACLEditor.java
...src/org/jkiss/dbeaver/ui/editors/acl/ObjectACLEditor.java
+24
-26
plugins/org.jkiss.dbeaver.ui.editors.acl/src/org/jkiss/dbeaver/ui/editors/acl/ObjectACLManager.java
...rc/org/jkiss/dbeaver/ui/editors/acl/ObjectACLManager.java
+47
-0
plugins/org.jkiss.dbeaver.ui.editors.acl/src/org/jkiss/dbeaver/ui/editors/acl/internal/ACLMessages.java
...rg/jkiss/dbeaver/ui/editors/acl/internal/ACLMessages.java
+37
-0
plugins/org.jkiss.dbeaver.ui.editors.acl/src/org/jkiss/dbeaver/ui/editors/acl/internal/ACLMessages.properties
...ss/dbeaver/ui/editors/acl/internal/ACLMessages.properties
+3
-0
plugins/org.jkiss.dbeaver.ui.editors.acl/src/org/jkiss/dbeaver/ui/editors/acl/internal/ACLMessages_de.properties
...dbeaver/ui/editors/acl/internal/ACLMessages_de.properties
+2
-0
plugins/org.jkiss.dbeaver.ui.editors.acl/src/org/jkiss/dbeaver/ui/editors/acl/internal/ACLMessages_ru.properties
...dbeaver/ui/editors/acl/internal/ACLMessages_ru.properties
+2
-0
plugins/org.jkiss.dbeaver.ui.editors.acl/src/org/jkiss/dbeaver/ui/editors/acl/internal/ACLMessages_zh.properties
...dbeaver/ui/editors/acl/internal/ACLMessages_zh.properties
+3
-0
未找到文件。
plugins/org.jkiss.dbeaver.ext.postgresql/src/org/jkiss/dbeaver/ext/postgresql/model/PostgrePrivilegeType.java
浏览文件 @
7fdd511c
...
@@ -23,7 +23,7 @@ import org.jkiss.dbeaver.model.access.DBAPrivilegeType;
...
@@ -23,7 +23,7 @@ import org.jkiss.dbeaver.model.access.DBAPrivilegeType;
*/
*/
public
enum
PostgrePrivilegeType
implements
DBAPrivilegeType
{
public
enum
PostgrePrivilegeType
implements
DBAPrivilegeType
{
// ALL privs
// ALL privs
ALL
(
' '
,
tru
e
,
Object
.
class
),
ALL
(
' '
,
fals
e
,
Object
.
class
),
// TABLE privs
// TABLE privs
SELECT
(
'r'
,
true
,
PostgreTableBase
.
class
,
PostgreTableColumn
.
class
),
SELECT
(
'r'
,
true
,
PostgreTableBase
.
class
,
PostgreTableColumn
.
class
),
INSERT
(
'a'
,
true
,
PostgreTableReal
.
class
,
PostgreTableColumn
.
class
),
INSERT
(
'a'
,
true
,
PostgreTableReal
.
class
,
PostgreTableColumn
.
class
),
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/access/DBAPrivilege.java
浏览文件 @
7fdd511c
...
@@ -23,4 +23,7 @@ import org.jkiss.dbeaver.model.struct.DBSObject;
...
@@ -23,4 +23,7 @@ import org.jkiss.dbeaver.model.struct.DBSObject;
* Privilege
* Privilege
*/
*/
public
interface
DBAPrivilege
extends
DBSObject
{
public
interface
DBAPrivilege
extends
DBSObject
{
//DBAPrivilegeType[] getTypes();
}
}
\ No newline at end of file
plugins/org.jkiss.dbeaver.ui.editors.acl/src/org/jkiss/dbeaver/ui/editors/acl/ACLCommandChangePrivilege.java
0 → 100644
浏览文件 @
7fdd511c
/*
* 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.editors.acl
;
import
org.jkiss.dbeaver.model.access.DBAPrivilege
;
import
org.jkiss.dbeaver.model.access.DBAPrivilegeOwner
;
import
org.jkiss.dbeaver.model.access.DBAPrivilegeType
;
import
org.jkiss.dbeaver.model.edit.DBECommand
;
import
org.jkiss.dbeaver.model.edit.DBEPersistAction
;
import
org.jkiss.dbeaver.model.impl.edit.DBECommandAbstract
;
import
org.jkiss.dbeaver.model.impl.edit.SQLDatabasePersistAction
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.ui.editors.acl.internal.ACLMessages
;
import
java.util.Map
;
/**
* Grant/Revoke privilege command
*/
public
class
ACLCommandChangePrivilege
extends
DBECommandAbstract
<
DBAPrivilegeOwner
>
{
private
ObjectACLManager
aclManager
;
private
boolean
grant
;
private
DBAPrivilege
privilege
;
private
DBAPrivilegeType
[]
privilegeTypes
;
public
ACLCommandChangePrivilege
(
ObjectACLManager
aclManager
,
DBAPrivilegeOwner
user
,
boolean
grant
,
DBAPrivilege
privilege
,
DBAPrivilegeType
[]
privilegeTypes
)
{
super
(
user
,
grant
?
ACLMessages
.
edit_command_grant_privilege_action_grant_privilege
:
ACLMessages
.
edit_command_grant_privilege_action_revoke_privilege
);
this
.
aclManager
=
aclManager
;
this
.
grant
=
grant
;
this
.
privilege
=
privilege
;
this
.
privilegeTypes
=
privilegeTypes
;
}
@Override
public
void
updateModel
()
{
//getObject().clearGrantsCache();
}
@Override
public
DBEPersistAction
[]
getPersistActions
(
DBRProgressMonitor
monitor
,
Map
<
String
,
Object
>
options
)
{
DBAPrivilegeOwner
object
=
getObject
();
String
grantScript
=
aclManager
.
generatePermissionChangeScript
(
monitor
,
object
,
grant
,
privilege
,
privilegeTypes
,
options
);
return
new
DBEPersistAction
[]
{
new
SQLDatabasePersistAction
(
ACLMessages
.
edit_command_grant_privilege_action_grant_privilege
,
grantScript
)
};
}
@Override
public
DBECommand
<?>
merge
(
DBECommand
<?>
prevCommand
,
Map
<
Object
,
Object
>
userParams
)
{
if
(
prevCommand
instanceof
ACLCommandChangePrivilege
)
{
ACLCommandChangePrivilege
prevGrant
=
(
ACLCommandChangePrivilege
)
prevCommand
;
if
(
prevGrant
.
privilege
==
privilege
&&
prevGrant
.
privilegeTypes
==
privilegeTypes
)
{
if
(
prevGrant
.
grant
==
grant
)
{
return
prevCommand
;
}
else
{
return
null
;
}
}
}
return
super
.
merge
(
prevCommand
,
userParams
);
}
}
plugins/org.jkiss.dbeaver.ui.editors.acl/src/org/jkiss/dbeaver/ui/editors/acl/BaseACLManager.java
0 → 100644
浏览文件 @
7fdd511c
/*
* 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.editors.acl
;
import
org.jkiss.dbeaver.model.DBPEvaluationContext
;
import
org.jkiss.dbeaver.model.DBUtils
;
import
org.jkiss.dbeaver.model.access.DBAPrivilege
;
import
org.jkiss.dbeaver.model.access.DBAPrivilegeType
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
/**
* PostgresRolePrivilegesEditor
*/
public
abstract
class
BaseACLManager
<
PRIVILEGE
extends
DBAPrivilege
,
PRIVILEGE_TYPE
extends
DBAPrivilegeType
>
implements
ObjectACLManager
<
PRIVILEGE
,
PRIVILEGE_TYPE
>
{
public
String
getObjectUniqueName
(
DBSObject
object
)
{
return
DBUtils
.
getObjectFullName
(
object
,
DBPEvaluationContext
.
DDL
);
}
}
\ No newline at end of file
plugins/org.jkiss.dbeaver.ui.editors.acl/src/org/jkiss/dbeaver/ui/editors/acl/ObjectACLEditor.java
浏览文件 @
7fdd511c
...
@@ -22,6 +22,7 @@ import org.eclipse.jface.dialogs.ControlEnableState;
...
@@ -22,6 +22,7 @@ import org.eclipse.jface.dialogs.ControlEnableState;
import
org.eclipse.jface.viewers.TreeViewer
;
import
org.eclipse.jface.viewers.TreeViewer
;
import
org.eclipse.jface.viewers.Viewer
;
import
org.eclipse.jface.viewers.Viewer
;
import
org.eclipse.jface.viewers.ViewerFilter
;
import
org.eclipse.jface.viewers.ViewerFilter
;
import
org.eclipse.jgit.annotations.Nullable
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.custom.SashForm
;
import
org.eclipse.swt.custom.SashForm
;
import
org.eclipse.swt.events.MouseAdapter
;
import
org.eclipse.swt.events.MouseAdapter
;
...
@@ -41,7 +42,7 @@ import org.jkiss.dbeaver.DBException;
...
@@ -41,7 +42,7 @@ import org.jkiss.dbeaver.DBException;
import
org.jkiss.dbeaver.model.DBPEvaluationContext
;
import
org.jkiss.dbeaver.model.DBPEvaluationContext
;
import
org.jkiss.dbeaver.model.DBUtils
;
import
org.jkiss.dbeaver.model.DBUtils
;
import
org.jkiss.dbeaver.model.access.*
;
import
org.jkiss.dbeaver.model.access.*
;
import
org.jkiss.dbeaver.model.
access.DBAPrivilege
;
import
org.jkiss.dbeaver.model.
edit.DBECommandReflector
;
import
org.jkiss.dbeaver.model.navigator.*
;
import
org.jkiss.dbeaver.model.navigator.*
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.runtime.VoidProgressMonitor
;
import
org.jkiss.dbeaver.model.runtime.VoidProgressMonitor
;
...
@@ -53,6 +54,7 @@ import org.jkiss.dbeaver.runtime.DBWorkbench;
...
@@ -53,6 +54,7 @@ import org.jkiss.dbeaver.runtime.DBWorkbench;
import
org.jkiss.dbeaver.ui.LoadingJob
;
import
org.jkiss.dbeaver.ui.LoadingJob
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.controls.ProgressPageControl
;
import
org.jkiss.dbeaver.ui.controls.ProgressPageControl
;
import
org.jkiss.dbeaver.ui.controls.ViewerColumnController
;
import
org.jkiss.dbeaver.ui.editors.AbstractDatabaseObjectEditor
;
import
org.jkiss.dbeaver.ui.editors.AbstractDatabaseObjectEditor
;
import
org.jkiss.dbeaver.ui.editors.DatabaseEditorUtils
;
import
org.jkiss.dbeaver.ui.editors.DatabaseEditorUtils
;
import
org.jkiss.dbeaver.ui.navigator.NavigatorUtils
;
import
org.jkiss.dbeaver.ui.navigator.NavigatorUtils
;
...
@@ -63,12 +65,15 @@ import org.jkiss.utils.ArrayUtils;
...
@@ -63,12 +65,15 @@ import org.jkiss.utils.ArrayUtils;
import
org.jkiss.utils.CommonUtils
;
import
org.jkiss.utils.CommonUtils
;
import
java.lang.reflect.InvocationTargetException
;
import
java.lang.reflect.InvocationTargetException
;
import
java.util.*
;
import
java.util.Collection
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* PostgresRolePrivilegesEditor
* PostgresRolePrivilegesEditor
*/
*/
public
abstract
class
ObjectACLEditor
extends
AbstractDatabaseObjectEditor
<
DBAPrivilegeOwner
>
public
abstract
class
ObjectACLEditor
<
PRIVILEGE
extends
DBAPrivilege
,
PRIVILEGE_TYPE
extends
DBAPrivilegeType
>
extends
AbstractDatabaseObjectEditor
<
DBAPrivilegeOwner
>
{
{
private
PageControl
pageControl
;
private
PageControl
pageControl
;
...
@@ -83,13 +88,7 @@ public abstract class ObjectACLEditor extends AbstractDatabaseObjectEditor<DBAPr
...
@@ -83,13 +88,7 @@ public abstract class ObjectACLEditor extends AbstractDatabaseObjectEditor<DBAPr
private
Map
<
String
,
DBAPrivilege
>
privilegeMap
=
new
HashMap
<>();
private
Map
<
String
,
DBAPrivilege
>
privilegeMap
=
new
HashMap
<>();
private
Text
objectDescriptionText
;
private
Text
objectDescriptionText
;
protected
abstract
DBAPrivilegeType
[]
getPrivilegeTypes
();
protected
abstract
ObjectACLManager
<
PRIVILEGE
,
PRIVILEGE_TYPE
>
getACLManager
();
protected
abstract
DBAPrivilege
createNewPrivilege
(
DBAPrivilegeOwner
owner
,
DBSObject
object
,
DBAPrivilege
privilege
);
protected
String
getObjectUniqueName
(
DBSObject
object
)
{
return
DBUtils
.
getObjectFullName
(
object
,
DBPEvaluationContext
.
DDL
);
}
public
void
createPartControl
(
Composite
parent
)
{
public
void
createPartControl
(
Composite
parent
)
{
this
.
pageControl
=
new
PageControl
(
parent
);
this
.
pageControl
=
new
PageControl
(
parent
);
...
@@ -156,6 +155,8 @@ public abstract class ObjectACLEditor extends AbstractDatabaseObjectEditor<DBAPr
...
@@ -156,6 +155,8 @@ public abstract class ObjectACLEditor extends AbstractDatabaseObjectEditor<DBAPr
permissionTable
.
setLayoutData
(
new
GridData
(
GridData
.
FILL_HORIZONTAL
));
permissionTable
.
setLayoutData
(
new
GridData
(
GridData
.
FILL_HORIZONTAL
));
permissionTable
.
setHeaderVisible
(
true
);
permissionTable
.
setHeaderVisible
(
true
);
permissionTable
.
setLinesVisible
(
true
);
permissionTable
.
setLinesVisible
(
true
);
//ViewerColumnController controller
UIUtils
.
createTableColumn
(
permissionTable
,
SWT
.
LEFT
,
"Permission"
);
UIUtils
.
createTableColumn
(
permissionTable
,
SWT
.
LEFT
,
"Permission"
);
UIUtils
.
createTableColumn
(
permissionTable
,
SWT
.
CENTER
,
"With GRANT"
);
UIUtils
.
createTableColumn
(
permissionTable
,
SWT
.
CENTER
,
"With GRANT"
);
UIUtils
.
createTableColumn
(
permissionTable
,
SWT
.
CENTER
,
"With Hierarchy"
);
UIUtils
.
createTableColumn
(
permissionTable
,
SWT
.
CENTER
,
"With Hierarchy"
);
...
@@ -175,7 +176,7 @@ public abstract class ObjectACLEditor extends AbstractDatabaseObjectEditor<DBAPr
...
@@ -175,7 +176,7 @@ public abstract class ObjectACLEditor extends AbstractDatabaseObjectEditor<DBAPr
});
});
if
(!
isRoleEditor
())
{
if
(!
isRoleEditor
())
{
for
(
DBAPrivilegeType
pt
:
getPrivilegeTypes
())
{
for
(
PRIVILEGE_TYPE
pt
:
getACLManager
().
getPrivilegeTypes
())
{
if
(!
pt
.
isValid
()
||
!
pt
.
supportsType
(
getDatabaseObject
().
getClass
()))
{
if
(!
pt
.
isValid
()
||
!
pt
.
supportsType
(
getDatabaseObject
().
getClass
()))
{
continue
;
continue
;
}
}
...
@@ -241,10 +242,10 @@ public abstract class ObjectACLEditor extends AbstractDatabaseObjectEditor<DBAPr
...
@@ -241,10 +242,10 @@ public abstract class ObjectACLEditor extends AbstractDatabaseObjectEditor<DBAPr
return privilegeMap.get(DBUtils.getObjectFullName(object, DBPEvaluationContext.DDL));
return privilegeMap.get(DBUtils.getObjectFullName(object, DBPEvaluationContext.DDL));
}
}
*/
*/
return
privilegeMap
.
get
(
getObjectUniqueName
(
object
));
return
privilegeMap
.
get
(
get
ACLManager
().
get
ObjectUniqueName
(
object
));
}
}
private
void
updateCurrentPrivileges
(
boolean
grant
,
DBAPrivilegeType
privilegeType
)
{
private
void
updateCurrentPrivileges
(
boolean
grant
,
@Nullable
DBAPrivilegeType
privilegeType
)
{
if
(
ArrayUtils
.
isEmpty
(
currentObjects
))
{
if
(
ArrayUtils
.
isEmpty
(
currentObjects
))
{
DBWorkbench
.
getPlatformUI
().
showError
(
"Update privilege"
,
"Can't update privilege - no current object"
);
DBWorkbench
.
getPlatformUI
().
showError
(
"Update privilege"
,
"Can't update privilege - no current object"
);
...
@@ -259,38 +260,35 @@ public abstract class ObjectACLEditor extends AbstractDatabaseObjectEditor<DBAPr
...
@@ -259,38 +260,35 @@ public abstract class ObjectACLEditor extends AbstractDatabaseObjectEditor<DBAPr
// No permission - nothing to revoke
// No permission - nothing to revoke
continue
;
continue
;
}
}
privilege
=
createNewPrivilege
(
getDatabaseObject
(),
currentObject
,
privilege
);
privilege
=
getACLManager
().
createNewPrivilege
(
getDatabaseObject
(),
currentObject
,
null
);
// Add to map
// Add to map
privilegeMap
.
put
(
privilege
.
getName
(),
privilege
);
privilegeMap
.
put
(
privilege
.
getName
(),
privilege
);
}
else
if
(
privilegeType
!=
null
)
{
}
/*
else if (privilegeType != null) {
// Check for privilege was already granted for this object
// Check for privilege was already granted for this object
/*
boolean hasPriv = ArrayUtils.contains(privilege.getTypes(), privilegeType);
boolean hasPriv = privilege.getPermission(privilegeType) != PostgrePermission.NONE;
if (grant == hasPriv) {
if (grant == hasPriv) {
continue;
continue;
}
}
*/
}*/
}
/*
// Add command
// Add command
addChangeCommand
(
addChangeCommand
(
new PostgreCommandGrantPrivilege(
new
ACLCommandChangePrivilege
(
getACLManager
(),
getDatabaseObject
(),
getDatabaseObject
(),
grant
,
grant
,
privilege
,
privilege
,
privilegeType
==
null
?
null
:
new
DBAPrivilegeType
[]
{
privilegeType
}),
privilegeType
==
null
?
null
:
new
DBAPrivilegeType
[]
{
privilegeType
}),
new DBECommandReflector<DBAPrivilegeOwner,
PostgreCommandGrant
Privilege>() {
new
DBECommandReflector
<
DBAPrivilegeOwner
,
ACLCommandChange
Privilege
>()
{
@Override
@Override
public void redoCommand(
PostgreCommandGrant
Privilege cmd)
public
void
redoCommand
(
ACLCommandChange
Privilege
cmd
)
{
{
}
}
@Override
@Override
public void undoCommand(
PostgreCommandGrant
Privilege cmd)
public
void
undoCommand
(
ACLCommandChange
Privilege
cmd
)
{
{
}
}
});
});
*/
}
}
}
}
...
@@ -305,7 +303,7 @@ public abstract class ObjectACLEditor extends AbstractDatabaseObjectEditor<DBAPr
...
@@ -305,7 +303,7 @@ public abstract class ObjectACLEditor extends AbstractDatabaseObjectEditor<DBAPr
if
(!
CommonUtils
.
isEmpty
(
objects
))
{
if
(!
CommonUtils
.
isEmpty
(
objects
))
{
Class
<?>
objectType
=
objects
.
get
(
0
).
getClass
();
Class
<?>
objectType
=
objects
.
get
(
0
).
getClass
();
for
(
DBAPrivilegeType
pt
:
getPrivilegeTypes
())
{
for
(
PRIVILEGE_TYPE
pt
:
getACLManager
().
getPrivilegeTypes
())
{
if
(!
pt
.
isValid
()
||
!
pt
.
supportsType
(
objectType
))
{
if
(!
pt
.
isValid
()
||
!
pt
.
supportsType
(
objectType
))
{
continue
;
continue
;
}
}
...
...
plugins/org.jkiss.dbeaver.ui.editors.acl/src/org/jkiss/dbeaver/ui/editors/acl/ObjectACLManager.java
0 → 100644
浏览文件 @
7fdd511c
/*
* 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.editors.acl
;
import
org.jkiss.dbeaver.model.DBPEvaluationContext
;
import
org.jkiss.dbeaver.model.DBUtils
;
import
org.jkiss.dbeaver.model.access.DBAPrivilege
;
import
org.jkiss.dbeaver.model.access.DBAPrivilegeOwner
;
import
org.jkiss.dbeaver.model.access.DBAPrivilegeType
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
java.util.Map
;
/**
* PostgresRolePrivilegesEditor
*/
public
interface
ObjectACLManager
<
PRIVILEGE
extends
DBAPrivilege
,
PRIVILEGE_TYPE
extends
DBAPrivilegeType
>
{
PRIVILEGE_TYPE
[]
getPrivilegeTypes
();
PRIVILEGE
createNewPrivilege
(
DBAPrivilegeOwner
owner
,
DBSObject
object
,
PRIVILEGE
copyFrom
);
String
getObjectUniqueName
(
DBSObject
object
);
String
generatePermissionChangeScript
(
DBRProgressMonitor
monitor
,
DBAPrivilegeOwner
object
,
boolean
grant
,
PRIVILEGE
privilege
,
PRIVILEGE_TYPE
[]
privilegeTypes
,
Map
<
String
,
Object
>
options
);
}
\ No newline at end of file
plugins/org.jkiss.dbeaver.ui.editors.acl/src/org/jkiss/dbeaver/ui/editors/acl/internal/ACLMessages.java
0 → 100644
浏览文件 @
7fdd511c
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2019 Serge Rider (serge@jkiss.org)
* Copyright (C) 2017 Liu, Yuanyuan (liuyuanyuan@highgo.com)
*
* 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.editors.acl.internal
;
import
org.eclipse.osgi.util.NLS
;
public
class
ACLMessages
extends
NLS
{
static
final
String
BUNDLE_NAME
=
"org.jkiss.dbeaver.ui.editors.acl.internal.ACLMessages"
;
//$NON-NLS-1$
/* Permissions */
public
static
String
edit_command_grant_privilege_action_grant_privilege
;
public
static
String
edit_command_grant_privilege_action_revoke_privilege
;
static
{
// initialize resource bundle
NLS
.
initializeMessages
(
BUNDLE_NAME
,
ACLMessages
.
class
);
}
private
ACLMessages
()
{
}
}
plugins/org.jkiss.dbeaver.ui.editors.acl/src/org/jkiss/dbeaver/ui/editors/acl/internal/ACLMessages.properties
0 → 100644
浏览文件 @
7fdd511c
# Permissions
edit_command_grant_privilege_action_grant_privilege
=
Grant
edit_command_grant_privilege_action_revoke_privilege
=
Revoke
plugins/org.jkiss.dbeaver.ui.editors.acl/src/org/jkiss/dbeaver/ui/editors/acl/internal/ACLMessages_de.properties
0 → 100644
浏览文件 @
7fdd511c
edit_command_grant_privilege_action_grant_privilege
=
Bewilligung
edit_command_grant_privilege_action_revoke_privilege
=
Widerrufen
plugins/org.jkiss.dbeaver.ui.editors.acl/src/org/jkiss/dbeaver/ui/editors/acl/internal/ACLMessages_ru.properties
0 → 100644
浏览文件 @
7fdd511c
edit_command_grant_privilege_action_grant_privilege
=
\u0412\u
044B
\u0434\u0430\u0442\u
044C
\u
043F
\u0440\u0430\u0432\u0430
edit_command_grant_privilege_action_revoke_privilege
=
\u
041E
\u0442\u
043E
\u0437\u0432\u0430\u0442\u
044C
\u
043F
\u0440\u0430\u0432\u0430
plugins/org.jkiss.dbeaver.ui.editors.acl/src/org/jkiss/dbeaver/ui/editors/acl/internal/ACLMessages_zh.properties
0 → 100644
浏览文件 @
7fdd511c
# Permissions
edit_command_grant_privilege_action_grant_privilege
=
\u6388\u
4E88
edit_command_grant_privilege_action_revoke_privilege
=
\u
64A4
\u
56DE
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录