Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
e88ca550
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,发现更多精彩内容 >>
提交
e88ca550
编写于
10月 07, 2018
作者:
S
serge-rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#4342 Make connections leaf items in connection selector dialog
上级
28a93dac
变更
13
隐藏空白更改
内联
并排
Showing
13 changed file
with
55 addition
and
16 deletion
+55
-16
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/DBeaverUI.java
...ss.dbeaver.core/src/org/jkiss/dbeaver/core/DBeaverUI.java
+2
-2
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/BrowseObjectDialog.java
.../src/org/jkiss/dbeaver/ui/dialogs/BrowseObjectDialog.java
+21
-5
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/SelectDataSourceDialog.java
...dbeaver/ui/dialogs/connection/SelectDataSourceDialog.java
+5
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/navigator/INavigatorFilter.java
.../src/org/jkiss/dbeaver/ui/navigator/INavigatorFilter.java
+2
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/navigator/database/DatabaseNavigatorContentProvider.java
.../navigator/database/DatabaseNavigatorContentProvider.java
+6
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/navigator/database/DatabaseNavigatorTree.java
.../dbeaver/ui/navigator/database/DatabaseNavigatorTree.java
+4
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/navigator/database/DatabaseNavigatorTreeFilter.java
...er/ui/navigator/database/DatabaseNavigatorTreeFilter.java
+7
-1
plugins/org.jkiss.dbeaver.data.transfer/src/org/jkiss/dbeaver/tools/transfer/database/page/DatabaseConsumerPageMapping.java
...s/transfer/database/page/DatabaseConsumerPageMapping.java
+3
-2
plugins/org.jkiss.dbeaver.data.transfer/src/org/jkiss/dbeaver/tools/transfer/database/page/DatabaseProducerPageInputObjects.java
...nsfer/database/page/DatabaseProducerPageInputObjects.java
+1
-1
plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/command/EntityAddCommand.java
...c/org/jkiss/dbeaver/ext/erd/command/EntityAddCommand.java
+1
-1
plugins/org.jkiss.dbeaver.ext.postgresql.debug.ui/src/org/jkiss/dbeaver/ext/postgresql/debug/ui/internal/PostgreDebugPanelFunction.java
...stgresql/debug/ui/internal/PostgreDebugPanelFunction.java
+1
-1
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/runtime/ui/DBPPlatformUI.java
...model/src/org/jkiss/dbeaver/runtime/ui/DBPPlatformUI.java
+1
-1
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/runtime/ui/console/ConsoleUserInterface.java
...kiss/dbeaver/runtime/ui/console/ConsoleUserInterface.java
+1
-1
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/core/DBeaverUI.java
浏览文件 @
e88ca550
...
...
@@ -277,9 +277,9 @@ public class DBeaverUI implements DBPPlatformUI {
}
@Override
public
DBNNode
selectObject
(
Object
parentShell
,
String
title
,
DBNNode
rootNode
,
DBNNode
selectedNode
,
Class
<?>[]
allowedTypes
,
Class
<?>[]
resultTypes
)
{
public
DBNNode
selectObject
(
Object
parentShell
,
String
title
,
DBNNode
rootNode
,
DBNNode
selectedNode
,
Class
<?>[]
allowedTypes
,
Class
<?>[]
resultTypes
,
Class
<?>[]
leafTypes
)
{
Shell
shell
=
(
parentShell
instanceof
Shell
?
(
Shell
)
parentShell
:
UIUtils
.
getActiveWorkbenchShell
());
return
BrowseObjectDialog
.
selectObject
(
shell
,
title
,
rootNode
,
selectedNode
,
allowedTypes
,
resultTypes
);
return
BrowseObjectDialog
.
selectObject
(
shell
,
title
,
rootNode
,
selectedNode
,
allowedTypes
,
resultTypes
,
leafTypes
);
}
@Override
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/BrowseObjectDialog.java
浏览文件 @
e88ca550
...
...
@@ -49,6 +49,7 @@ public class BrowseObjectDialog extends Dialog {
private
boolean
singleSelection
;
private
Class
<?>[]
allowedTypes
;
private
Class
<?>[]
resultTypes
;
private
Class
<?>[]
leafTypes
;
private
List
<
DBNNode
>
selectedObjects
=
new
ArrayList
<>();
private
DatabaseNavigatorTree
navigatorTree
;
...
...
@@ -59,7 +60,8 @@ public class BrowseObjectDialog extends Dialog {
DBNNode
selectedNode
,
boolean
singleSelection
,
Class
<?>[]
allowedTypes
,
Class
<?>[]
resultTypes
)
Class
<?>[]
resultTypes
,
Class
<?>[]
leafTypes
)
{
super
(
parentShell
);
this
.
title
=
title
;
...
...
@@ -68,6 +70,7 @@ public class BrowseObjectDialog extends Dialog {
this
.
singleSelection
=
singleSelection
;
this
.
allowedTypes
=
allowedTypes
;
this
.
resultTypes
=
resultTypes
==
null
?
allowedTypes
:
resultTypes
;
this
.
leafTypes
=
leafTypes
;
}
@Override
...
...
@@ -85,7 +88,20 @@ public class BrowseObjectDialog extends Dialog {
GridData
gd
=
new
GridData
(
GridData
.
FILL_BOTH
);
group
.
setLayoutData
(
gd
);
navigatorTree
=
new
DatabaseNavigatorTree
(
group
,
rootNode
,
(
singleSelection
?
SWT
.
SINGLE
:
SWT
.
MULTI
)
|
SWT
.
BORDER
,
false
,
new
DatabaseNavigatorTreeFilter
());
DatabaseNavigatorTreeFilter
filter
=
new
DatabaseNavigatorTreeFilter
()
{
@Override
public
boolean
isLeafObject
(
Object
object
)
{
if
(
leafTypes
!=
null
&&
leafTypes
.
length
>
0
)
{
for
(
Class
<?>
leafType
:
leafTypes
)
{
if
(
leafType
.
isAssignableFrom
(
object
.
getClass
()))
{
return
true
;
}
}
}
return
super
.
isLeafObject
(
object
);
}
};
navigatorTree
=
new
DatabaseNavigatorTree
(
group
,
rootNode
,
(
singleSelection
?
SWT
.
SINGLE
:
SWT
.
MULTI
)
|
SWT
.
BORDER
,
false
,
filter
);
gd
=
new
GridData
(
GridData
.
FILL_BOTH
);
gd
.
widthHint
=
500
;
gd
.
heightHint
=
500
;
...
...
@@ -184,9 +200,9 @@ public class BrowseObjectDialog extends Dialog {
}
*/
public
static
DBNNode
selectObject
(
Shell
parentShell
,
String
title
,
DBNNode
rootNode
,
DBNNode
selectedNode
,
Class
<?>[]
allowedTypes
,
Class
<?>[]
resultTypes
)
public
static
DBNNode
selectObject
(
Shell
parentShell
,
String
title
,
DBNNode
rootNode
,
DBNNode
selectedNode
,
Class
<?>[]
allowedTypes
,
Class
<?>[]
resultTypes
,
Class
<?>[]
leafTypes
)
{
BrowseObjectDialog
scDialog
=
new
BrowseObjectDialog
(
parentShell
,
title
,
rootNode
,
selectedNode
,
true
,
allowedTypes
,
resultTypes
);
BrowseObjectDialog
scDialog
=
new
BrowseObjectDialog
(
parentShell
,
title
,
rootNode
,
selectedNode
,
true
,
allowedTypes
,
resultTypes
,
leafTypes
);
if
(
scDialog
.
open
()
==
IDialogConstants
.
OK_ID
)
{
List
<
DBNNode
>
result
=
scDialog
.
getSelectedObjects
();
return
result
.
isEmpty
()
?
null
:
result
.
get
(
0
);
...
...
@@ -197,7 +213,7 @@ public class BrowseObjectDialog extends Dialog {
public
static
List
<
DBNNode
>
selectObjects
(
Shell
parentShell
,
String
title
,
DBNNode
rootNode
,
DBNNode
selectedNode
,
Class
<?>[]
allowedTypes
,
Class
<?>[]
resultTypes
)
{
BrowseObjectDialog
scDialog
=
new
BrowseObjectDialog
(
parentShell
,
title
,
rootNode
,
selectedNode
,
false
,
allowedTypes
,
resultTypes
);
BrowseObjectDialog
scDialog
=
new
BrowseObjectDialog
(
parentShell
,
title
,
rootNode
,
selectedNode
,
false
,
allowedTypes
,
resultTypes
,
null
);
if
(
scDialog
.
open
()
==
IDialogConstants
.
OK_ID
)
{
return
scDialog
.
getSelectedObjects
();
}
else
{
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/SelectDataSourceDialog.java
浏览文件 @
e88ca550
...
...
@@ -99,6 +99,11 @@ public class SelectDataSourceDialog extends AbstractPopupPanel {
return
true
;
}
@Override
public
boolean
isLeafObject
(
Object
object
)
{
return
object
instanceof
DBPDataSourceContainer
;
}
@Override
public
boolean
select
(
Object
element
)
{
return
element
instanceof
DBNProject
||
element
instanceof
DBNProjectDatabases
||
element
instanceof
DBNLocalFolder
;
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/navigator/INavigatorFilter.java
浏览文件 @
e88ca550
...
...
@@ -27,4 +27,6 @@ public interface INavigatorFilter extends IFilter
boolean
filterFolders
();
boolean
isLeafObject
(
Object
object
);
}
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/navigator/database/DatabaseNavigatorContentProvider.java
浏览文件 @
e88ca550
...
...
@@ -28,10 +28,10 @@ import org.jkiss.dbeaver.model.runtime.VoidProgressMonitor;
import
org.jkiss.dbeaver.runtime.ui.DBUserInterface
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.navigator.NavigatorUtils
;
import
org.jkiss.dbeaver.ui.navigator.database.load.TreeNodeSpecial
;
import
org.jkiss.dbeaver.ui.navigator.database.load.TreeLoadService
;
import
org.jkiss.dbeaver.ui.navigator.database.load.TreeLoadVisualizer
;
import
org.jkiss.dbeaver.ui.navigator.database.load.TreeNodeLazyExpander
;
import
org.jkiss.dbeaver.ui.navigator.database.load.TreeNodeSpecial
;
import
org.jkiss.utils.ArrayUtils
;
/**
...
...
@@ -149,6 +149,11 @@ class DatabaseNavigatorContentProvider implements IStructuredContentProvider, IT
@Override
public
boolean
hasChildren
(
Object
parent
)
{
if
(
parent
instanceof
DBNDatabaseNode
)
{
if
(
navigatorTree
.
getNavigatorFilter
()
!=
null
&&
navigatorTree
.
getNavigatorFilter
().
isLeafObject
(((
DBNDatabaseNode
)
parent
).
getObject
()))
{
return
false
;
}
}
return
parent
instanceof
DBNNode
&&
((
DBNNode
)
parent
).
hasChildren
(
true
);
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/navigator/database/DatabaseNavigatorTree.java
浏览文件 @
e88ca550
...
...
@@ -117,6 +117,10 @@ public class DatabaseNavigatorTree extends Composite implements INavigatorListen
treeViewer
.
setInput
(
new
DatabaseNavigatorContent
(
rootNode
));
}
INavigatorFilter
getNavigatorFilter
()
{
return
navigatorFilter
;
}
@Nullable
public
Text
getFilterControl
()
{
return
filterControl
;
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/navigator/database/DatabaseNavigatorTreeFilter.java
浏览文件 @
e88ca550
...
...
@@ -16,7 +16,6 @@
*/
package
org.jkiss.dbeaver.ui.navigator.database
;
import
org.eclipse.jface.viewers.IFilter
;
import
org.jkiss.dbeaver.model.access.DBAUser
;
import
org.jkiss.dbeaver.model.navigator.DBNDatabaseItem
;
import
org.jkiss.dbeaver.model.struct.DBSEntity
;
...
...
@@ -27,6 +26,8 @@ import org.jkiss.dbeaver.model.struct.rdb.DBSSequence;
import
org.jkiss.dbeaver.model.struct.rdb.DBSTableIndex
;
import
org.jkiss.dbeaver.ui.navigator.INavigatorFilter
;
import
java.util.Collections
;
/**
* Default database navigator filter
*/
...
...
@@ -36,6 +37,11 @@ public class DatabaseNavigatorTreeFilter implements INavigatorFilter {
return
false
;
}
@Override
public
boolean
isLeafObject
(
Object
object
)
{
return
false
;
}
@Override
public
boolean
select
(
Object
element
)
{
if
(!(
element
instanceof
DBNDatabaseItem
))
{
...
...
plugins/org.jkiss.dbeaver.data.transfer/src/org/jkiss/dbeaver/tools/transfer/database/page/DatabaseConsumerPageMapping.java
浏览文件 @
e88ca550
...
...
@@ -38,6 +38,7 @@ import org.jkiss.dbeaver.model.navigator.DBNNode;
import
org.jkiss.dbeaver.model.navigator.DBNProject
;
import
org.jkiss.dbeaver.model.runtime.VoidProgressMonitor
;
import
org.jkiss.dbeaver.model.struct.*
;
import
org.jkiss.dbeaver.model.struct.rdb.DBSSchema
;
import
org.jkiss.dbeaver.runtime.ui.DBUserInterface
;
import
org.jkiss.dbeaver.tools.transfer.database.*
;
import
org.jkiss.dbeaver.tools.transfer.wizard.DataTransferPipe
;
...
...
@@ -141,7 +142,7 @@ public class DatabaseConsumerPageMapping extends ActiveWizardPage<DataTransferWi
rootNode
.
getDatabases
(),
selectedNode
,
new
Class
[]
{
DBSObjectContainer
.
class
},
null
);
null
,
new
Class
[]
{
DBSSchema
.
class
}
);
if
(
node
instanceof
DBNDatabaseNode
)
{
settings
.
setContainerNode
((
DBNDatabaseNode
)
node
);
containerIcon
.
setImage
(
DBeaverIcons
.
getImage
(
node
.
getNodeIconDefault
()));
...
...
@@ -599,7 +600,7 @@ public class DatabaseConsumerPageMapping extends ActiveWizardPage<DataTransferWi
rootNode
,
selectedNode
,
new
Class
[]
{
DBSObjectContainer
.
class
,
DBSDataManipulator
.
class
},
new
Class
[]
{
DBSDataManipulator
.
class
});
new
Class
[]
{
DBSDataManipulator
.
class
}
,
null
);
if
(
node
!=
null
&&
node
instanceof
DBSWrapper
)
{
DBSObject
object
=
((
DBSWrapper
)
node
).
getObject
();
try
{
...
...
plugins/org.jkiss.dbeaver.data.transfer/src/org/jkiss/dbeaver/tools/transfer/database/page/DatabaseProducerPageInputObjects.java
浏览文件 @
e88ca550
...
...
@@ -166,7 +166,7 @@ public class DatabaseProducerPageInputObjects extends ActiveWizardPage<DataTrans
rootNode
,
lastSelection
,
new
Class
[]
{
DBSObjectContainer
.
class
,
DBSDataContainer
.
class
},
new
Class
[]
{
chooseConsumer
?
DBSDataManipulator
.
class
:
DBSDataContainer
.
class
});
new
Class
[]
{
chooseConsumer
?
DBSDataManipulator
.
class
:
DBSDataContainer
.
class
}
,
null
);
if
(
node
instanceof
DBNDatabaseNode
)
{
lastSelection
=
(
DBNDatabaseNode
)
node
;
DBSObject
object
=
((
DBNDatabaseNode
)
node
).
getObject
();
...
...
plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/command/EntityAddCommand.java
浏览文件 @
e88ca550
...
...
@@ -78,7 +78,7 @@ public class EntityAddCommand extends Command
dsNode
,
null
,
new
Class
[]{
DBSTable
.
class
},
new
Class
[]{
DBSTable
.
class
});
new
Class
[]{
DBSTable
.
class
}
,
null
);
if
(
tableNode
instanceof
DBNDatabaseNode
&&
((
DBNDatabaseNode
)
tableNode
).
getObject
()
instanceof
DBSEntity
)
{
entity
=
ERDUtils
.
makeEntityFromObject
(
monitor
,
...
...
plugins/org.jkiss.dbeaver.ext.postgresql.debug.ui/src/org/jkiss/dbeaver/ext/postgresql/debug/ui/internal/PostgreDebugPanelFunction.java
浏览文件 @
e88ca550
...
...
@@ -125,7 +125,7 @@ public class PostgreDebugPanelFunction implements DBGConfigurationPanel {
dsNode
,
curNode
,
new
Class
[]{
DBSInstance
.
class
,
DBSObjectContainer
.
class
,
PostgreProcedure
.
class
},
new
Class
[]{
PostgreProcedure
.
class
});
new
Class
[]{
PostgreProcedure
.
class
}
,
null
);
if
(
node
instanceof
DBNDatabaseNode
&&
((
DBNDatabaseNode
)
node
).
getObject
()
instanceof
PostgreProcedure
)
{
functionCombo
.
removeAll
();
selectedFunction
=
(
PostgreProcedure
)
((
DBNDatabaseNode
)
node
).
getObject
();
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/runtime/ui/DBPPlatformUI.java
浏览文件 @
e88ca550
...
...
@@ -73,7 +73,7 @@ public interface DBPPlatformUI {
/**
* UI utilities
*/
DBNNode
selectObject
(
Object
parentShell
,
String
title
,
DBNNode
rootNode
,
DBNNode
selectedNode
,
Class
<?>[]
allowedTypes
,
Class
<?>[]
resultTypes
);
DBNNode
selectObject
(
Object
parentShell
,
String
title
,
DBNNode
rootNode
,
DBNNode
selectedNode
,
Class
<?>[]
allowedTypes
,
Class
<?>[]
resultTypes
,
Class
<?>[]
leafTypes
);
void
openEntityEditor
(
DBSObject
object
);
void
openEntityEditor
(
DBNNode
selectedNode
,
@Nullable
String
defaultPageId
);
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/runtime/ui/console/ConsoleUserInterface.java
浏览文件 @
e88ca550
...
...
@@ -87,7 +87,7 @@ public class ConsoleUserInterface implements DBPPlatformUI {
}
@Override
public
DBNNode
selectObject
(
Object
parentShell
,
String
title
,
DBNNode
rootNode
,
DBNNode
selectedNode
,
Class
<?>[]
allowedTypes
,
Class
<?>[]
resultTypes
)
{
public
DBNNode
selectObject
(
Object
parentShell
,
String
title
,
DBNNode
rootNode
,
DBNNode
selectedNode
,
Class
<?>[]
allowedTypes
,
Class
<?>[]
resultTypes
,
Class
<?>[]
leafTypes
)
{
return
null
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录