Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
06c6dad6
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,发现更多精彩内容 >>
提交
06c6dad6
编写于
12月 20, 2016
作者:
S
serge-rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Navigator model refactoring. Folder child nodes existence check
Former-commit-id:
3faf3b4f
上级
b8925cbf
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
28 addition
and
39 deletion
+28
-39
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/itemlist/NodeListControl.java
...g/jkiss/dbeaver/ui/controls/itemlist/NodeListControl.java
+1
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/navigator/database/DatabaseNavigatorContentProvider.java
.../navigator/database/DatabaseNavigatorContentProvider.java
+2
-2
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNDatabaseNode.java
...rc/org/jkiss/dbeaver/model/navigator/DBNDatabaseNode.java
+3
-3
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNEmptyNode.java
...l/src/org/jkiss/dbeaver/model/navigator/DBNEmptyNode.java
+0
-6
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNLocalFolder.java
...src/org/jkiss/dbeaver/model/navigator/DBNLocalFolder.java
+10
-3
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNNode.java
....model/src/org/jkiss/dbeaver/model/navigator/DBNNode.java
+10
-4
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNProjectDatabases.java
...rg/jkiss/dbeaver/model/navigator/DBNProjectDatabases.java
+1
-7
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNResource.java
...el/src/org/jkiss/dbeaver/model/navigator/DBNResource.java
+0
-6
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNRoot.java
....model/src/org/jkiss/dbeaver/model/navigator/DBNRoot.java
+0
-6
plugins/org.jkiss.dbeaver.test/src/org/jkiss/dbeaver/ext/test/handlers/HandlerObjectValidate.java
...kiss/dbeaver/ext/test/handlers/HandlerObjectValidate.java
+1
-1
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/itemlist/NodeListControl.java
浏览文件 @
06c6dad6
...
...
@@ -157,7 +157,7 @@ public abstract class NodeListControl extends ObjectListControl<DBNNode> impleme
public
boolean
hasChildren
(
Object
parentElement
)
{
return
parentElement
instanceof
DBNDatabaseNode
&&
((
DBNDatabaseNode
)
parentElement
).
allowsChildren
(
);
((
DBNDatabaseNode
)
parentElement
).
hasChildren
(
false
);
}
@Override
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/navigator/database/DatabaseNavigatorContentProvider.java
浏览文件 @
06c6dad6
...
...
@@ -103,7 +103,7 @@ class DatabaseNavigatorContentProvider implements IStructuredContentProvider, IT
return EMPTY_CHILDREN;
}
*/
if
(!
parentNode
.
allowsNavigableChildren
(
))
{
if
(!
parentNode
.
hasChildren
(
true
))
{
return
EMPTY_CHILDREN
;
}
if
(
parentNode
instanceof
DBNDatabaseNode
&&
((
DBNDatabaseNode
)
parentNode
).
needsInitialization
())
{
...
...
@@ -147,7 +147,7 @@ class DatabaseNavigatorContentProvider implements IStructuredContentProvider, IT
@Override
public
boolean
hasChildren
(
Object
parent
)
{
return
parent
instanceof
DBNNode
&&
((
DBNNode
)
parent
).
allowsNavigableChildren
(
);
return
parent
instanceof
DBNNode
&&
((
DBNNode
)
parent
).
hasChildren
(
true
);
}
/*
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNDatabaseNode.java
浏览文件 @
06c6dad6
...
...
@@ -184,7 +184,7 @@ public abstract class DBNDatabaseNode extends DBNNode implements DBSWrapper, DBP
public
synchronized
DBNDatabaseNode
[]
getChildren
(
DBRProgressMonitor
monitor
)
throws
DBException
{
if
(
childNodes
==
null
&&
allowsChildren
(
))
{
if
(
childNodes
==
null
&&
hasChildren
(
false
))
{
if
(
this
.
initializeNode
(
monitor
,
null
))
{
final
List
<
DBNDatabaseNode
>
tmpList
=
new
ArrayList
<>();
loadChildren
(
monitor
,
getMeta
(),
null
,
tmpList
);
...
...
@@ -264,7 +264,7 @@ public abstract class DBNDatabaseNode extends DBNNode implements DBSWrapper, DBP
public
boolean
needsInitialization
()
{
return
childNodes
==
null
&&
allowsChildren
(
);
return
childNodes
==
null
&&
hasChildren
(
false
);
}
@Override
...
...
@@ -514,7 +514,7 @@ public abstract class DBNDatabaseNode extends DBNNode implements DBSWrapper, DBP
if
(
oldChild
.
getMeta
()
==
meta
&&
equalObjects
(
oldChild
.
getObject
(),
object
))
{
oldChild
.
reloadObject
(
monitor
,
object
);
if
(
oldChild
.
allowsChildren
(
)
&&
!
oldChild
.
needsInitialization
())
{
if
(
oldChild
.
hasChildren
(
false
)
&&
!
oldChild
.
needsInitialization
())
{
// Refresh children recursive
oldChild
.
reloadChildren
(
monitor
);
}
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNEmptyNode.java
浏览文件 @
06c6dad6
...
...
@@ -60,12 +60,6 @@ public class DBNEmptyNode extends DBNNode
return
false
;
}
@Override
public
boolean
allowsNavigableChildren
()
{
return
false
;
}
@Override
public
DBNNode
[]
getChildren
(
DBRProgressMonitor
monitor
)
{
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNLocalFolder.java
浏览文件 @
06c6dad6
...
...
@@ -143,9 +143,16 @@ public class DBNLocalFolder extends DBNNode implements DBNContainer
}
@Override
public
boolean
allowsNavigableChildren
()
{
return
true
;
public
boolean
hasChildren
(
boolean
navigableOnly
)
{
if
(!
ArrayUtils
.
isEmpty
(
folder
.
getChildren
()))
{
return
true
;
}
for
(
DBNDataSource
dataSource
:
getParentNode
().
getDataSources
())
{
if
(
folder
==
dataSource
.
getDataSourceContainer
().
getFolder
())
{
return
true
;
}
}
return
false
;
}
public
DBNNode
getLogicalParent
()
{
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNNode.java
浏览文件 @
06c6dad6
...
...
@@ -118,7 +118,7 @@ public abstract class DBNNode implements DBPNamedObject, DBPPersistedObject, IAd
{
DBPImage
image
=
getNodeIcon
();
if
(
image
==
null
)
{
if
(
this
.
allowsChildren
(
))
{
if
(
this
.
hasChildren
(
false
))
{
return
DBIcon
.
TREE_FOLDER
;
}
else
{
return
DBIcon
.
TREE_PAGE
;
...
...
@@ -146,10 +146,16 @@ public abstract class DBNNode implements DBPNamedObject, DBPPersistedObject, IAd
return
pathName
.
toString
();
}
public
abstract
boolean
allowsChildren
();
public
boolean
hasChildren
(
boolean
navigableOnly
)
{
return
navigableOnly
?
allowsNavigableChildren
()
:
allowsChildren
();
}
protected
abstract
boolean
allowsChildren
();
protected
boolean
allowsNavigableChildren
()
{
return
allowsChildren
();
}
public
abstract
boolean
allowsNavigableChildren
();
public
abstract
DBNNode
[]
getChildren
(
DBRProgressMonitor
monitor
)
throws
DBException
;
void
clearNode
(
boolean
reflect
)
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNProjectDatabases.java
浏览文件 @
06c6dad6
...
...
@@ -131,12 +131,6 @@ public class DBNProjectDatabases extends DBNNode implements DBNContainer, DBPEve
return
!
dataSources
.
isEmpty
();
}
@Override
public
boolean
allowsNavigableChildren
()
{
return
allowsChildren
();
}
@Override
public
DBNNode
[]
getChildren
(
DBRProgressMonitor
monitor
)
{
...
...
@@ -256,7 +250,7 @@ public class DBNProjectDatabases extends DBNNode implements DBNContainer, DBPEve
parentFound
=
false
;
}
if
(
parentNode
!=
null
)
{
if
(
parentNode
.
getChildNodes
()
==
null
&&
parentNode
.
allowsChildren
(
))
{
if
(
parentNode
.
getChildNodes
()
==
null
&&
parentNode
.
hasChildren
(
false
))
{
final
DBNDatabaseNode
nodeToLoad
=
parentNode
;
// We have to load children here
final
AbstractJob
loaderJob
=
new
AbstractJob
(
"Load sibling nodes of new database object"
)
{
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNResource.java
浏览文件 @
06c6dad6
...
...
@@ -136,12 +136,6 @@ public class DBNResource extends DBNNode// implements IContributorResourceAdapte
return
resource
instanceof
IContainer
;
}
@Override
public
boolean
allowsNavigableChildren
()
{
return
allowsChildren
();
}
@Override
public
DBNNode
[]
getChildren
(
DBRProgressMonitor
monitor
)
throws
DBException
{
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNRoot.java
浏览文件 @
06c6dad6
...
...
@@ -104,12 +104,6 @@ public class DBNRoot extends DBNNode implements DBNContainer, DBPProjectListener
return
projects
.
length
>
0
;
}
@Override
public
boolean
allowsNavigableChildren
()
{
return
allowsChildren
();
}
@Override
public
DBNProject
[]
getChildren
(
DBRProgressMonitor
monitor
)
{
...
...
plugins/org.jkiss.dbeaver.test/src/org/jkiss/dbeaver/ext/test/handlers/HandlerObjectValidate.java
浏览文件 @
06c6dad6
...
...
@@ -80,7 +80,7 @@ public class HandlerObjectValidate extends AbstractHandler {
private
void
processNode
(
DBRProgressMonitor
monitor
,
DBNNode
node
)
throws
DBException
{
if
(!
node
.
allowsChildren
(
))
{
if
(!
node
.
hasChildren
(
false
))
{
return
;
}
final
DBNNode
[]
children
=
node
.
getChildren
(
monitor
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录