Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
83b9e20e
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,发现更多精彩内容 >>
提交
83b9e20e
编写于
2月 27, 2020
作者:
S
Serge Rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Navigator model refactoring
上级
a67ba18c
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
79 addition
and
25 deletion
+79
-25
plugins/org.jkiss.dbeaver.core/plugin.xml
plugins/org.jkiss.dbeaver.core/plugin.xml
+1
-0
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/common/NavigateBookmarkHandler.java
...ss/dbeaver/ui/actions/common/NavigateBookmarkHandler.java
+10
-5
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/datasource/UIServiceConnectionsImpl.java
...eaver/ui/actions/datasource/UIServiceConnectionsImpl.java
+2
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/resources/bookmarks/BookmarksHandlerImpl.java
.../dbeaver/ui/resources/bookmarks/BookmarksHandlerImpl.java
+2
-0
plugins/org.jkiss.dbeaver.data.transfer/src/org/jkiss/dbeaver/tools/transfer/database/DatabaseConsumerSettings.java
...ver/tools/transfer/database/DatabaseConsumerSettings.java
+7
-1
plugins/org.jkiss.dbeaver.data.transfer/src/org/jkiss/dbeaver/tools/transfer/database/DatabaseTransferConsumer.java
...ver/tools/transfer/database/DatabaseTransferConsumer.java
+7
-3
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNDataSource.java
.../src/org/jkiss/dbeaver/model/navigator/DBNDataSource.java
+3
-4
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNDatabaseNode.java
...rc/org/jkiss/dbeaver/model/navigator/DBNDatabaseNode.java
+1
-1
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/runtime/DBServiceConnections.java
...l/src/org/jkiss/dbeaver/runtime/DBServiceConnections.java
+32
-0
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/runtime/ui/UIServiceConnections.java
...rc/org/jkiss/dbeaver/runtime/ui/UIServiceConnections.java
+0
-1
plugins/org.jkiss.dbeaver.ui.search/src/org/jkiss/dbeaver/ui/search/metadata/SearchMetadataPage.java
.../jkiss/dbeaver/ui/search/metadata/SearchMetadataPage.java
+14
-9
未找到文件。
plugins/org.jkiss.dbeaver.core/plugin.xml
浏览文件 @
83b9e20e
...
...
@@ -1178,6 +1178,7 @@
<extension
point=
"org.jkiss.dbeaver.service"
>
<service
name=
"org.jkiss.dbeaver.runtime.ui.UIServiceSQL"
class=
"org.jkiss.dbeaver.ui.editors.sql.UIServiceSQLImpl"
/>
<service
name=
"org.jkiss.dbeaver.runtime.ui.UIServiceConnections"
class=
"org.jkiss.dbeaver.ui.actions.datasource.UIServiceConnectionsImpl"
/>
<service
name=
"org.jkiss.dbeaver.runtime.DBServiceConnections"
class=
"org.jkiss.dbeaver.ui.actions.datasource.UIServiceConnectionsImpl"
/>
</extension>
<extension
point=
"org.jkiss.dbeaver.pluginService"
>
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/common/NavigateBookmarkHandler.java
浏览文件 @
83b9e20e
...
...
@@ -22,6 +22,7 @@ import org.eclipse.ui.IViewPart;
import
org.eclipse.ui.IWorkbenchPage
;
import
org.eclipse.ui.PartInitException
;
import
org.eclipse.ui.handlers.HandlerUtil
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.model.DBPDataSourceContainer
;
import
org.jkiss.dbeaver.model.DBUtils
;
...
...
@@ -78,11 +79,15 @@ public class NavigateBookmarkHandler extends NavigatorHandlerObjectBase {
}
NavigatorViewBase
navigatorView
=
activeNavigatorView
;
dsNode
.
initializeNode
(
null
,
status
->
{
if
(
status
.
isOK
())
{
UIUtils
.
syncExec
(()
->
BookmarksHandlerImpl
.
navigateNodeByPath
(
navigatorView
,
dsNode
,
storage
));
}
});
try
{
dsNode
.
initializeNode
(
null
,
status
->
{
if
(
status
.
isOK
())
{
UIUtils
.
syncExec
(()
->
BookmarksHandlerImpl
.
navigateNodeByPath
(
navigatorView
,
dsNode
,
storage
));
}
});
}
catch
(
DBException
e
)
{
log
.
error
(
e
);
}
}
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/datasource/UIServiceConnectionsImpl.java
浏览文件 @
83b9e20e
...
...
@@ -22,6 +22,7 @@ import org.jkiss.dbeaver.model.DBPDataSourceContainer;
import
org.jkiss.dbeaver.model.exec.DBCExecutionContext
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressListener
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.runtime.DBServiceConnections
;
import
org.jkiss.dbeaver.runtime.ui.UIServiceConnections
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.dialogs.connection.EditConnectionDialog
;
...
...
@@ -29,7 +30,7 @@ import org.jkiss.dbeaver.ui.dialogs.connection.EditConnectionDialog;
/**
* UIServiceConnectionsImpl
*/
public
class
UIServiceConnectionsImpl
implements
UIServiceConnections
{
public
class
UIServiceConnectionsImpl
implements
DBServiceConnections
,
UIServiceConnections
{
private
static
final
Log
log
=
Log
.
getLog
(
UIServiceConnectionsImpl
.
class
);
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/resources/bookmarks/BookmarksHandlerImpl.java
浏览文件 @
83b9e20e
...
...
@@ -185,6 +185,7 @@ public class BookmarksHandlerImpl extends AbstractResourceHandler {
}
}
/*
static DBNDatabaseNode getTargetBookmarkNode(DBRProgressMonitor monitor, DBNBookmark bookmark)
{
IFile resource = (IFile) bookmark.getResource();
...
...
@@ -213,6 +214,7 @@ public class BookmarksHandlerImpl extends AbstractResourceHandler {
}
return null;
}
*/
public
static
void
createBookmark
(
final
DBNDatabaseNode
node
,
String
title
,
IFolder
folder
)
throws
DBException
{
...
...
plugins/org.jkiss.dbeaver.data.transfer/src/org/jkiss/dbeaver/tools/transfer/database/DatabaseConsumerSettings.java
浏览文件 @
83b9e20e
...
...
@@ -271,7 +271,13 @@ public class DatabaseConsumerSettings implements IDataTransferSettings {
if
(
containerNode
instanceof
DBNDataSource
&&
containerNode
.
getDataSource
()
==
null
)
{
try
{
runnableContext
.
run
(
true
,
true
,
monitor
->
containerNode
.
initializeNode
(
monitor
,
null
));
monitor
->
{
try
{
containerNode
.
initializeNode
(
monitor
,
null
);
}
catch
(
DBException
e
)
{
throw
new
InvocationTargetException
(
e
);
}
});
}
catch
(
InvocationTargetException
e
)
{
DBWorkbench
.
getPlatformUI
().
showError
(
"Init connection"
,
"Error connecting to datasource"
,
e
.
getTargetException
());
}
catch
(
InterruptedException
e
)
{
...
...
plugins/org.jkiss.dbeaver.data.transfer/src/org/jkiss/dbeaver/tools/transfer/database/DatabaseTransferConsumer.java
浏览文件 @
83b9e20e
...
...
@@ -111,7 +111,11 @@ public class DatabaseTransferConsumer implements IDataTransferConsumer<DatabaseC
@Override
public
void
fetchStart
(
DBCSession
session
,
DBCResultSet
resultSet
,
long
offset
,
long
maxRows
)
throws
DBCException
{
initExporter
(
session
.
getProgressMonitor
());
try
{
initExporter
(
session
.
getProgressMonitor
());
}
catch
(
DBException
e
)
{
throw
new
DBCException
(
"Error initializing exporter"
);
}
AbstractExecutionSource
executionSource
=
new
AbstractExecutionSource
(
sourceObject
,
targetContext
,
this
);
...
...
@@ -300,7 +304,7 @@ public class DatabaseTransferConsumer implements IDataTransferConsumer<DatabaseC
closeExporter
();
}
private
void
initExporter
(
DBRProgressMonitor
monitor
)
throws
DB
C
Exception
{
private
void
initExporter
(
DBRProgressMonitor
monitor
)
throws
DBException
{
DBSObject
targetDB
=
checkTargetContainer
(
monitor
);
DBPDataSourceContainer
dataSourceContainer
=
targetDB
.
getDataSource
().
getContainer
();
...
...
@@ -333,7 +337,7 @@ public class DatabaseTransferConsumer implements IDataTransferConsumer<DatabaseC
}
}
private
DBSObject
checkTargetContainer
(
DBRProgressMonitor
monitor
)
throws
DB
C
Exception
{
private
DBSObject
checkTargetContainer
(
DBRProgressMonitor
monitor
)
throws
DBException
{
if
(
targetObject
==
null
)
{
if
(
settings
.
getContainerNode
()
!=
null
&&
settings
.
getContainerNode
().
getDataSource
()
==
null
)
{
// Init connection
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNDataSource.java
浏览文件 @
83b9e20e
...
...
@@ -28,8 +28,8 @@ import org.jkiss.dbeaver.model.net.DBWHandlerConfiguration;
import
org.jkiss.dbeaver.model.runtime.DBRProgressListener
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
org.jkiss.dbeaver.runtime.DBServiceConnections
;
import
org.jkiss.dbeaver.runtime.DBWorkbench
;
import
org.jkiss.dbeaver.runtime.ui.UIServiceConnections
;
import
org.jkiss.utils.CommonUtils
;
import
java.util.Collection
;
...
...
@@ -143,10 +143,9 @@ public class DBNDataSource extends DBNDatabaseNode implements DBNContainer, IAda
}
@Override
public
boolean
initializeNode
(
@Nullable
DBRProgressMonitor
monitor
,
DBRProgressListener
onFinish
)
{
public
boolean
initializeNode
(
@Nullable
DBRProgressMonitor
monitor
,
DBRProgressListener
onFinish
)
throws
DBException
{
if
(!
dataSource
.
isConnected
())
{
UIServiceConnections
serviceConnections
=
DBWorkbench
.
getService
(
UI
ServiceConnections
.
class
);
DBServiceConnections
serviceConnections
=
DBWorkbench
.
getService
(
DB
ServiceConnections
.
class
);
if
(
serviceConnections
!=
null
)
{
serviceConnections
.
initConnection
(
monitor
,
dataSource
,
onFinish
);
}
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNDatabaseNode.java
浏览文件 @
83b9e20e
...
...
@@ -293,7 +293,7 @@ public abstract class DBNDatabaseNode extends DBNNode implements DBSWrapper, DBP
return
locked
||
super
.
isLocked
();
}
public
boolean
initializeNode
(
DBRProgressMonitor
monitor
,
DBRProgressListener
onFinish
)
{
public
boolean
initializeNode
(
DBRProgressMonitor
monitor
,
DBRProgressListener
onFinish
)
throws
DBException
{
if
(
onFinish
!=
null
)
{
onFinish
.
onTaskFinished
(
Status
.
OK_STATUS
);
}
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/runtime/DBServiceConnections.java
0 → 100644
浏览文件 @
83b9e20e
/*
* 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.runtime
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.model.DBPDataSourceContainer
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressListener
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
/**
* Connections Service
*/
public
interface
DBServiceConnections
{
void
initConnection
(
DBRProgressMonitor
monitor
,
DBPDataSourceContainer
dataSourceContainer
,
DBRProgressListener
onFinish
)
throws
DBException
;
}
\ No newline at end of file
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/runtime/ui/UIServiceConnections.java
浏览文件 @
83b9e20e
...
...
@@ -37,5 +37,4 @@ public interface UIServiceConnections {
boolean
checkAndCloseActiveTransaction
(
DBCExecutionContext
[]
contexts
);
void
initConnection
(
DBRProgressMonitor
monitor
,
DBPDataSourceContainer
dataSourceContainer
,
DBRProgressListener
onFinish
);
}
\ No newline at end of file
plugins/org.jkiss.dbeaver.ui.search/src/org/jkiss/dbeaver/ui/search/metadata/SearchMetadataPage.java
浏览文件 @
83b9e20e
...
...
@@ -161,15 +161,20 @@ public class SearchMetadataPage extends AbstractSearchPage {
for
(
DBNNode
node
=
(
DBNNode
)
object
;
node
!=
null
;
node
=
node
.
getParentNode
())
{
if
(
node
instanceof
DBNDataSource
)
{
DBNDataSource
dsNode
=
(
DBNDataSource
)
node
;
dsNode
.
initializeNode
(
null
,
status
->
{
if
(
status
.
isOK
())
{
UIUtils
.
asyncExec
(()
->
{
if
(!
dataSourceTree
.
isDisposed
())
{
fillObjectTypes
();
}
});
}
});
try
{
dsNode
.
initializeNode
(
null
,
status
->
{
if
(
status
.
isOK
())
{
UIUtils
.
asyncExec
(()
->
{
if
(!
dataSourceTree
.
isDisposed
())
{
fillObjectTypes
();
}
});
}
});
}
catch
(
DBException
e
)
{
// shouldn't be here
log
.
error
(
e
);
}
break
;
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录