Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
aa145510
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,发现更多精彩内容 >>
提交
aa145510
编写于
4月 23, 2019
作者:
S
Serge Rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Navigator model additions (local mode)
Former-commit-id:
49bb312e
上级
4924c27e
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
59 addition
and
33 deletion
+59
-33
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/app/DBPDataSourceRegistry.java
...rc/org/jkiss/dbeaver/model/app/DBPDataSourceRegistry.java
+3
-0
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNProject.java
...del/src/org/jkiss/dbeaver/model/navigator/DBNProject.java
+26
-30
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNProjectDatabases.java
...rg/jkiss/dbeaver/model/navigator/DBNProjectDatabases.java
+7
-1
plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/DataSourceDescriptor.java
.../src/org/jkiss/dbeaver/registry/DataSourceDescriptor.java
+6
-2
plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/DataSourceRegistry.java
...ry/src/org/jkiss/dbeaver/registry/DataSourceRegistry.java
+17
-0
未找到文件。
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/app/DBPDataSourceRegistry.java
浏览文件 @
aa145510
...
...
@@ -80,6 +80,8 @@ public interface DBPDataSourceRegistry extends DBPObject {
void
removeFolder
(
DBPDataSourceFolder
folder
,
boolean
dropContents
);
DBPDataSourceRegistry
createCopy
(
IProject
project
);
@Nullable
DBSObjectFilter
getSavedFilter
(
String
name
);
...
...
@@ -99,4 +101,5 @@ public interface DBPDataSourceRegistry extends DBPObject {
@NotNull
ISecurePreferences
getSecurePreferences
();
void
dispose
();
}
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNProject.java
浏览文件 @
aa145510
...
...
@@ -33,19 +33,16 @@ import org.jkiss.dbeaver.runtime.DBWorkbench;
import
org.jkiss.utils.ArrayUtils
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Collections
;
import
java.util.List
;
/**
* DBNProject
*/
public
class
DBNProject
extends
DBNResource
{
public
class
DBNProject
extends
DBNResource
{
private
static
final
Log
log
=
Log
.
getLog
(
DBNProject
.
class
);
public
DBNProject
(
DBNNode
parentNode
,
IProject
project
,
DBPResourceHandler
handler
)
{
public
DBNProject
(
DBNNode
parentNode
,
IProject
project
,
DBPResourceHandler
handler
)
{
super
(
parentNode
,
project
,
handler
);
if
(
getModel
().
isGlobal
())
{
getModel
().
getPlatform
().
getProjectManager
().
addProject
(
project
);
...
...
@@ -53,21 +50,18 @@ public class DBNProject extends DBNResource
}
@Override
protected
void
dispose
(
boolean
reflect
)
{
protected
void
dispose
(
boolean
reflect
)
{
super
.
dispose
(
reflect
);
if
(
getModel
().
isGlobal
())
{
getModel
().
getPlatform
().
getProjectManager
().
removeProject
(
getProject
());
}
}
public
IProject
getProject
()
{
return
(
IProject
)
getResource
();
public
IProject
getProject
()
{
return
(
IProject
)
getResource
();
}
public
DBNProjectDatabases
getDatabases
()
{
public
DBNProjectDatabases
getDatabases
()
{
try
{
for
(
DBNNode
db
:
getChildren
(
new
VoidProgressMonitor
()))
{
if
(
db
instanceof
DBNProjectDatabases
)
{
...
...
@@ -81,8 +75,7 @@ public class DBNProject extends DBNResource
}
@Override
public
String
getNodeDescription
()
{
public
String
getNodeDescription
()
{
try
{
final
IProject
project
=
getProject
();
return
project
==
null
?
null
:
project
.
getDescription
().
getComment
();
...
...
@@ -93,14 +86,12 @@ public class DBNProject extends DBNResource
}
@Override
public
DBPImage
getNodeIcon
()
{
public
DBPImage
getNodeIcon
()
{
return
DBIcon
.
PROJECT
;
}
@Override
public
boolean
allowsOpen
()
{
public
boolean
allowsOpen
()
{
return
true
;
}
...
...
@@ -113,15 +104,13 @@ public class DBNProject extends DBNResource
}
@Override
public
boolean
supportsRename
()
{
public
boolean
supportsRename
()
{
// Do not rename active projects
return
getModel
().
getPlatform
().
getProjectManager
().
getActiveProject
()
!=
getProject
();
}
@Override
public
void
rename
(
DBRProgressMonitor
monitor
,
String
newName
)
throws
DBException
{
public
void
rename
(
DBRProgressMonitor
monitor
,
String
newName
)
throws
DBException
{
try
{
final
IProjectDescription
description
=
getProject
().
getDescription
();
description
.
setName
(
newName
);
...
...
@@ -138,7 +127,7 @@ public class DBNProject extends DBNResource
List
<
DBNNode
>
children
=
new
ArrayList
<>();
Collections
.
addAll
(
children
,
super
.
getChildren
(
monitor
));
children
.
removeIf
(
node
->
node
instanceof
DBNResource
&&
!((
DBNResource
)
node
).
getResource
().
exists
());
node
instanceof
DBNResource
&&
!((
DBNResource
)
node
).
getResource
().
exists
());
return
children
.
toArray
(
new
DBNNode
[
0
]);
}
...
...
@@ -146,10 +135,10 @@ public class DBNProject extends DBNResource
}
@Override
protected
DBNNode
[]
readChildNodes
(
DBRProgressMonitor
monitor
)
throws
DBException
{
protected
DBNNode
[]
readChildNodes
(
DBRProgressMonitor
monitor
)
throws
DBException
{
IProject
project
=
getProject
();
if
(!
project
.
isOpen
())
{
DBNModel
model
=
getModel
();
if
(
model
.
isGlobal
()
&&
!
project
.
isOpen
())
{
try
{
project
.
open
(
monitor
.
getNestedMonitor
());
project
.
refreshLocal
(
IFile
.
DEPTH_ONE
,
monitor
.
getNestedMonitor
());
...
...
@@ -157,11 +146,19 @@ public class DBNProject extends DBNResource
throw
new
DBException
(
"Can't open project '"
+
project
.
getName
()
+
"'"
,
e
);
}
}
DBPDataSourceRegistry
dataSourceRegistry
=
getModel
().
getPlatform
().
getProjectManager
().
getDataSourceRegistry
(
project
);
DBNNode
[]
children
=
super
.
readChildNodes
(
monitor
);
DBPDataSourceRegistry
dataSourceRegistry
;
if
(
model
.
isGlobal
())
{
dataSourceRegistry
=
model
.
getPlatform
().
getProjectManager
().
getDataSourceRegistry
(
project
);
}
else
{
dataSourceRegistry
=
model
.
getPlatform
().
getProjectManager
().
getDefaultDataSourceRegistry
();
}
if
(
dataSourceRegistry
!=
null
)
{
children
=
ArrayUtils
.
insertArea
(
DBNNode
.
class
,
children
,
0
,
new
Object
[]
{
new
DBNProjectDatabases
(
this
,
dataSourceRegistry
)});
children
=
ArrayUtils
.
insertArea
(
DBNNode
.
class
,
children
,
0
,
new
Object
[]{
new
DBNProjectDatabases
(
this
,
dataSourceRegistry
)});
}
return
children
;
}
...
...
@@ -178,8 +175,7 @@ public class DBNProject extends DBNResource
return
super
.
addImplicitMembers
(
members
);
}
public
DBNResource
findResource
(
IResource
resource
)
{
public
DBNResource
findResource
(
IResource
resource
)
{
List
<
IResource
>
path
=
new
ArrayList
<>();
for
(
IResource
parent
=
resource
;
!(
parent
instanceof
IProject
);
parent
=
parent
.
getParent
())
{
path
.
add
(
0
,
parent
);
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNProjectDatabases.java
浏览文件 @
aa145510
...
...
@@ -45,7 +45,9 @@ public class DBNProjectDatabases extends DBNNode implements DBNContainer, DBPEve
public
DBNProjectDatabases
(
DBNProject
parentNode
,
DBPDataSourceRegistry
dataSourceRegistry
)
{
super
(
parentNode
);
this
.
dataSourceRegistry
=
dataSourceRegistry
;
this
.
dataSourceRegistry
=
getModel
().
isGlobal
()
?
dataSourceRegistry
:
dataSourceRegistry
.
createCopy
(
parentNode
.
getProject
());
this
.
dataSourceRegistry
.
addDataSourceListener
(
this
);
List
<?
extends
DBPDataSourceContainer
>
projectDataSources
=
this
.
dataSourceRegistry
.
getDataSources
();
...
...
@@ -65,6 +67,10 @@ public class DBNProjectDatabases extends DBNNode implements DBNContainer, DBPEve
children
=
null
;
if
(
dataSourceRegistry
!=
null
)
{
dataSourceRegistry
.
removeDataSourceListener
(
this
);
if
(!
getModel
().
isGlobal
())
{
// For local models registry si
dataSourceRegistry
.
dispose
();
}
dataSourceRegistry
=
null
;
}
super
.
dispose
(
reflect
);
...
...
plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/DataSourceDescriptor.java
浏览文件 @
aa145510
...
...
@@ -190,9 +190,13 @@ public class DataSourceDescriptor
}
// Copy constructor
public
DataSourceDescriptor
(
@NotNull
DataSourceDescriptor
source
)
public
DataSourceDescriptor
(
@NotNull
DataSourceDescriptor
source
)
{
this
(
source
,
source
.
registry
);
}
public
DataSourceDescriptor
(
@NotNull
DataSourceDescriptor
source
,
DBPDataSourceRegistry
registry
)
{
this
.
registry
=
source
.
registry
;
this
.
registry
=
registry
;
this
.
origin
=
source
.
origin
;
this
.
id
=
source
.
id
;
this
.
name
=
source
.
name
;
...
...
plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/DataSourceRegistry.java
浏览文件 @
aa145510
...
...
@@ -99,6 +99,18 @@ public class DataSourceRegistry implements DBPDataSourceRegistry
DataSourceProviderRegistry
.
getInstance
().
fireRegistryChange
(
this
,
true
);
}
/**
* Create copy
*/
public
DataSourceRegistry
(
DataSourceRegistry
source
,
IProject
project
)
{
this
.
platform
=
source
.
platform
;
this
.
project
=
project
;
for
(
DataSourceDescriptor
ds
:
source
.
dataSources
)
{
dataSources
.
add
(
new
DataSourceDescriptor
(
ds
,
this
));
}
}
@Override
public
void
dispose
()
{
DataSourceProviderRegistry
.
getInstance
().
fireRegistryChange
(
this
,
false
);
...
...
@@ -279,6 +291,11 @@ public class DataSourceRegistry implements DBPDataSourceRegistry
dataSourceFolders
.
remove
(
folderImpl
);
}
@Override
public
DBPDataSourceRegistry
createCopy
(
IProject
project
)
{
return
new
DataSourceRegistry
(
this
,
project
);
}
private
DataSourceFolder
findRootFolder
(
String
name
)
{
for
(
DataSourceFolder
root
:
getRootFolders
())
{
if
(
root
.
getName
().
equals
(
name
))
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录