Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
4533fdeb
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,发现更多精彩内容 >>
提交
4533fdeb
编写于
1月 03, 2018
作者:
S
serge-rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Navigator utils additions. Object browser fix
上级
9d6840d2
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
68 addition
and
34 deletion
+68
-34
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/tools/transfer/database/DatabaseConsumerPageMapping.java
.../tools/transfer/database/DatabaseConsumerPageMapping.java
+2
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/data/editors/ReferenceValueEditor.java
...g/jkiss/dbeaver/ui/data/editors/ReferenceValueEditor.java
+2
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/BrowseObjectDialog.java
.../src/org/jkiss/dbeaver/ui/dialogs/BrowseObjectDialog.java
+15
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/entity/EntityHyperlink.java
.../org/jkiss/dbeaver/ui/editors/entity/EntityHyperlink.java
+1
-2
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/entity/properties/TabbedFolderPageProperties.java
...editors/entity/properties/TabbedFolderPageProperties.java
+4
-2
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/syntax/SQLCompletionAnalyzer.java
.../dbeaver/ui/editors/sql/syntax/SQLCompletionAnalyzer.java
+2
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/navigator/NavigatorUtils.java
...re/src/org/jkiss/dbeaver/ui/navigator/NavigatorUtils.java
+22
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/preferences/TargetPrefPage.java
.../src/org/jkiss/dbeaver/ui/preferences/TargetPrefPage.java
+2
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/resources/bookmarks/BookmarksHandlerImpl.java
.../dbeaver/ui/resources/bookmarks/BookmarksHandlerImpl.java
+2
-1
plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDEditorViewer.java
...src/org/jkiss/dbeaver/ext/erd/editor/ERDEditorViewer.java
+2
-1
plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/model/ERDObject.java
...xt.erd/src/org/jkiss/dbeaver/ext/erd/model/ERDObject.java
+11
-20
plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/views/OracleCompilerDialog.java
.../jkiss/dbeaver/ext/oracle/views/OracleCompilerDialog.java
+3
-2
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/tools/transfer/database/DatabaseConsumerPageMapping.java
浏览文件 @
4533fdeb
...
...
@@ -56,6 +56,7 @@ import org.jkiss.dbeaver.ui.dialogs.ActiveWizardPage;
import
org.jkiss.dbeaver.ui.dialogs.BrowseObjectDialog
;
import
org.jkiss.dbeaver.ui.dialogs.EnterNameDialog
;
import
org.jkiss.dbeaver.ui.dialogs.sql.ViewSQLDialog
;
import
org.jkiss.dbeaver.ui.navigator.NavigatorUtils
;
import
org.jkiss.utils.CommonUtils
;
import
java.util.ArrayList
;
...
...
@@ -601,7 +602,7 @@ public class DatabaseConsumerPageMapping extends ActiveWizardPage<DataTransferWi
}
DBNNode
selectedNode
=
rootNode
;
if
(
mapping
.
getTarget
()
!=
null
)
{
selectedNode
=
DBeaverCore
.
getInstance
().
getNavigatorModel
()
.
getNodeByObject
(
mapping
.
getTarget
());
selectedNode
=
NavigatorUtils
.
getNodeByObject
(
mapping
.
getTarget
());
}
DBNNode
node
=
BrowseObjectDialog
.
selectObject
(
getShell
(),
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/data/editors/ReferenceValueEditor.java
浏览文件 @
4533fdeb
...
...
@@ -52,6 +52,7 @@ import org.jkiss.dbeaver.ui.data.IValueController;
import
org.jkiss.dbeaver.ui.data.IValueEditor
;
import
org.jkiss.dbeaver.ui.editors.data.DatabaseDataEditor
;
import
org.jkiss.dbeaver.ui.editors.object.struct.EditDictionaryPage
;
import
org.jkiss.dbeaver.ui.navigator.NavigatorUtils
;
import
org.jkiss.utils.CommonUtils
;
import
java.lang.reflect.InvocationTargetException
;
...
...
@@ -140,7 +141,7 @@ public class ReferenceValueEditor {
@Override
public
void
run
(
DBRProgressMonitor
monitor
)
throws
InvocationTargetException
,
InterruptedException
{
DBNDatabaseNode
tableNode
=
DBeaverCore
.
getInstance
().
getNavigatorModel
()
.
getNodeByObject
(
DBNDatabaseNode
tableNode
=
NavigatorUtils
.
getNodeByObject
(
monitor
,
refTable
,
true
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/BrowseObjectDialog.java
浏览文件 @
4533fdeb
...
...
@@ -127,7 +127,11 @@ public class BrowseObjectDialog extends Dialog {
DBNNode
node
=
(
DBNNode
)
iter
.
next
();
if
(
node
instanceof
DBSWrapper
)
{
DBSObject
object
=
DBUtils
.
getAdapter
(
DBSObject
.
class
,
((
DBSWrapper
)
node
).
getObject
());
if
(
object
!=
null
&&
matchesType
(
object
.
getClass
(),
true
))
{
if
(
object
!=
null
)
{
if
(!
matchesType
(
object
.
getClass
(),
true
))
{
selectedObjects
.
clear
();
break
;
}
selectedObjects
.
add
(
node
);
}
}
...
...
@@ -191,4 +195,14 @@ 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
);
if
(
scDialog
.
open
()
==
IDialogConstants
.
OK_ID
)
{
return
scDialog
.
getSelectedObjects
();
}
else
{
return
null
;
}
}
}
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/entity/EntityHyperlink.java
浏览文件 @
4533fdeb
...
...
@@ -22,7 +22,6 @@ import org.eclipse.jface.text.IRegion;
import
org.eclipse.jface.text.hyperlink.IHyperlink
;
import
org.eclipse.ui.IWorkbenchSite
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.core.DBeaverCore
;
import
org.jkiss.dbeaver.core.DBeaverUI
;
import
org.jkiss.dbeaver.model.DBPEvaluationContext
;
import
org.jkiss.dbeaver.model.DBUtils
;
...
...
@@ -89,7 +88,7 @@ public class EntityHyperlink implements IHyperlink
monitor
.
beginTask
(
"Resolve object "
+
reference
.
getName
(),
1
);
try
{
DBSObject
object
=
reference
.
resolveObject
(
monitor
);
node
=
DBeaverCore
.
getInstance
().
getNavigatorModel
()
.
getNodeByObject
(
monitor
,
object
,
true
);
node
=
NavigatorUtils
.
getNodeByObject
(
monitor
,
object
,
true
);
if
(
node
!=
null
)
{
DBeaverUI
.
asyncExec
(
new
Runnable
()
{
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/entity/properties/TabbedFolderPageProperties.java
浏览文件 @
4533fdeb
...
...
@@ -146,8 +146,10 @@ public class TabbedFolderPageProperties extends TabbedFolderPage implements IRef
public
void
refreshPart
(
Object
source
,
boolean
force
)
{
if
(
force
)
{
curPropertySource
=
input
.
getPropertySource
();
propertyTree
.
loadProperties
(
curPropertySource
);
refreshProperties
();
if
(
propertyTree
!=
null
)
{
propertyTree
.
loadProperties
(
curPropertySource
);
refreshProperties
();
}
}
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/syntax/SQLCompletionAnalyzer.java
浏览文件 @
4533fdeb
...
...
@@ -35,6 +35,7 @@ import org.jkiss.dbeaver.ui.DBeaverIcons;
import
org.jkiss.dbeaver.ui.TextUtils
;
import
org.jkiss.dbeaver.ui.editors.sql.SQLEditorBase
;
import
org.jkiss.dbeaver.ui.editors.sql.SQLPreferenceConstants
;
import
org.jkiss.dbeaver.ui.navigator.NavigatorUtils
;
import
org.jkiss.utils.CommonUtils
;
import
java.util.*
;
...
...
@@ -530,7 +531,7 @@ class SQLCompletionAnalyzer
private
SQLCompletionProposal
makeProposalsFromObject
(
DBSObject
object
)
{
DBNNode
node
=
DBeaverCore
.
getInstance
().
getNavigatorModel
()
.
getNodeByObject
(
monitor
,
object
,
false
);
DBNNode
node
=
NavigatorUtils
.
getNodeByObject
(
monitor
,
object
,
false
);
return
makeProposalsFromObject
(
object
,
node
==
null
?
null
:
node
.
getNodeIconDefault
());
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/navigator/NavigatorUtils.java
浏览文件 @
4533fdeb
...
...
@@ -70,7 +70,7 @@ import java.util.*;
*/
public
class
NavigatorUtils
{
p
ublic
static
final
String
MB_NAVIGATOR_ADDITIONS
=
"navigator_additions"
;
p
rivate
static
final
String
MB_NAVIGATOR_ADDITIONS
=
"navigator_additions"
;
private
static
final
Log
log
=
Log
.
getLog
(
NavigatorUtils
.
class
);
...
...
@@ -542,6 +542,27 @@ public class NavigatorUtils {
return
true
;
}
public
static
DBNDatabaseNode
getNodeByObject
(
DBSObject
object
)
{
return
DBeaverCore
.
getInstance
().
getNavigatorModel
().
getNodeByObject
(
object
);
}
public
static
DBNDatabaseNode
getNodeByObject
(
DBRProgressMonitor
monitor
,
DBSObject
object
,
boolean
addFiltered
)
{
return
DBeaverCore
.
getInstance
().
getNavigatorModel
().
getNodeByObject
(
monitor
,
object
,
addFiltered
);
}
public
static
DBNDatabaseNode
getChildFolder
(
DBRProgressMonitor
monitor
,
DBNDatabaseNode
node
,
Class
<?>
folderType
)
{
try
{
for
(
DBNDatabaseNode
childNode
:
node
.
getChildren
(
monitor
))
{
if
(
childNode
instanceof
DBNDatabaseFolder
&&
folderType
.
getName
().
equals
(((
DBNDatabaseFolder
)
childNode
).
getMeta
().
getType
()))
{
return
childNode
;
}
}
}
catch
(
DBException
e
)
{
log
.
error
(
"Error reading child folder"
,
e
);
}
return
null
;
}
public
static
DBNDataSource
getDataSourceNode
(
DBNNode
node
)
{
for
(
DBNNode
pn
=
node
;
pn
!=
null
;
pn
=
pn
.
getParentNode
())
{
if
(
pn
instanceof
DBNDataSource
)
{
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/preferences/TargetPrefPage.java
浏览文件 @
4533fdeb
...
...
@@ -45,6 +45,7 @@ import org.jkiss.dbeaver.model.preferences.DBPPreferenceStore;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.dialogs.connection.SelectDataSourceDialog
;
import
org.jkiss.dbeaver.ui.editors.IDatabaseEditorInput
;
import
org.jkiss.dbeaver.ui.navigator.NavigatorUtils
;
import
org.jkiss.dbeaver.utils.PrefUtils
;
/**
...
...
@@ -292,7 +293,7 @@ public abstract class TargetPrefPage extends AbstractPrefPage implements IWorkbe
if
(
dialog
.
open
()
!=
IDialogConstants
.
CANCEL_ID
)
{
DBPDataSourceContainer
dataSource
=
dialog
.
getDataSource
();
if
(
dataSource
!=
null
)
{
DBNNode
dsNode
=
DBeaverCore
.
getInstance
().
getNavigatorModel
()
.
getNodeByObject
(
dataSource
);
DBNNode
dsNode
=
NavigatorUtils
.
getNodeByObject
(
dataSource
);
if
(
dsNode
instanceof
DBNDataSource
)
{
prefDialog
=
PreferencesUtil
.
createPropertyDialogOn
(
getShell
(),
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/resources/bookmarks/BookmarksHandlerImpl.java
浏览文件 @
4533fdeb
...
...
@@ -35,6 +35,7 @@ import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import
org.jkiss.dbeaver.model.runtime.DBRRunnableWithProgress
;
import
org.jkiss.dbeaver.runtime.ui.DBUserInterface
;
import
org.jkiss.dbeaver.ui.actions.navigator.NavigatorHandlerObjectOpen
;
import
org.jkiss.dbeaver.ui.navigator.NavigatorUtils
;
import
org.jkiss.dbeaver.ui.resources.AbstractResourceHandler
;
import
org.jkiss.dbeaver.ui.resources.ResourceUtils
;
import
org.jkiss.dbeaver.utils.ContentUtils
;
...
...
@@ -117,7 +118,7 @@ public class BookmarksHandlerImpl extends AbstractResourceHandler {
if
(
dataSourceContainer
==
null
)
{
throw
new
DBException
(
"Can't find datasource '"
+
storage
.
getDataSourceId
()
+
"'"
);
//$NON-NLS-2$
}
final
DBNDataSource
dsNode
=
(
DBNDataSource
)
DBeaverCore
.
getInstance
().
getNavigatorModel
()
.
getNodeByObject
(
dataSourceContainer
);
final
DBNDataSource
dsNode
=
(
DBNDataSource
)
NavigatorUtils
.
getNodeByObject
(
dataSourceContainer
);
if
(
dsNode
==
null
)
{
throw
new
DBException
(
"Can't find datasource node for '"
+
dataSourceContainer
.
getName
()
+
"'"
);
//$NON-NLS-2$
}
...
...
plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/editor/ERDEditorViewer.java
浏览文件 @
4533fdeb
...
...
@@ -26,6 +26,7 @@ import org.jkiss.dbeaver.Log;
import
org.jkiss.dbeaver.core.DBeaverCore
;
import
org.jkiss.dbeaver.ext.erd.part.EntityPart
;
import
org.jkiss.dbeaver.model.struct.DBSEntity
;
import
org.jkiss.dbeaver.ui.navigator.NavigatorUtils
;
import
java.util.ArrayList
;
import
java.util.Iterator
;
...
...
@@ -149,7 +150,7 @@ public class ERDEditorViewer extends Viewer
private
Object
convertObject
(
Object
object
)
{
if
(
object
instanceof
EntityPart
)
{
final
DBSEntity
entity
=
((
EntityPart
)
object
).
getTable
().
getObject
();
return
entity
==
null
?
null
:
DBeaverCore
.
getInstance
().
getNavigatorModel
()
.
getNodeByObject
(
entity
);
return
entity
==
null
?
null
:
NavigatorUtils
.
getNodeByObject
(
entity
);
}
return
object
;
}
...
...
plugins/org.jkiss.dbeaver.ext.erd/src/org/jkiss/dbeaver/ext/erd/model/ERDObject.java
浏览文件 @
4533fdeb
...
...
@@ -21,20 +21,16 @@ package org.jkiss.dbeaver.ext.erd.model;
import
org.eclipse.core.runtime.IAdaptable
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.core.DBeaverCore
;
import
org.jkiss.dbeaver.core.DBeaverUI
;
import
org.jkiss.dbeaver.model.DBPNamedObject
;
import
org.jkiss.dbeaver.model.navigator.DBNDatabaseNode
;
import
org.jkiss.dbeaver.model.preferences.DBPPropertySource
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.runtime.DBRRunnableWithProgress
;
import
org.jkiss.dbeaver.model.struct.DBSObject
;
import
org.jkiss.dbeaver.runtime.properties.PropertyCollector
;
import
org.jkiss.dbeaver.ui.navigator.NavigatorUtils
;
import
java.beans.PropertyChangeListener
;
import
java.beans.PropertyChangeSupport
;
import
java.lang.reflect.InvocationTargetException
;
/**
* Provides base class support for model objects to participate in event handling framework
...
...
@@ -50,7 +46,7 @@ public abstract class ERDObject<OBJECT> implements IAdaptable, DBPNamedObject
public
static
final
String
OUTPUT
=
"OUTPUT"
;
public
static
final
String
NAME
=
"NAME"
;
pr
otected
transient
PropertyChangeSupport
listeners
=
new
PropertyChangeSupport
(
this
);
pr
ivate
transient
PropertyChangeSupport
listeners
=
new
PropertyChangeSupport
(
this
);
protected
OBJECT
object
;
private
PropertyCollector
propertyCollector
=
null
;
...
...
@@ -97,28 +93,23 @@ public abstract class ERDObject<OBJECT> implements IAdaptable, DBPNamedObject
public
void
openEditor
()
{
if
(
object
instanceof
DBSObject
)
{
DBeaverUI
.
runUIJob
(
"Open object editor"
,
new
DBRRunnableWithProgress
()
{
@Override
public
void
run
(
DBRProgressMonitor
monitor
)
throws
InvocationTargetException
,
InterruptedException
{
DBNDatabaseNode
node
=
DBeaverCore
.
getInstance
().
getNavigatorModel
().
getNodeByObject
(
monitor
,
(
DBSObject
)
object
,
true
);
if
(
node
!=
null
)
{
NavigatorUtils
.
openNavigatorNode
(
node
,
DBeaverUI
.
getActiveWorkbenchWindow
());
}
DBeaverUI
.
runUIJob
(
"Open object editor"
,
monitor
->
{
DBNDatabaseNode
node
=
NavigatorUtils
.
getNodeByObject
(
monitor
,
(
DBSObject
)
object
,
true
);
if
(
node
!=
null
)
{
NavigatorUtils
.
openNavigatorNode
(
node
,
DBeaverUI
.
getActiveWorkbenchWindow
());
}
});
}
}
@Override
public
Object
getAdapter
(
Class
adapter
)
{
public
<
T
>
T
getAdapter
(
Class
<
T
>
adapter
)
{
if
(
adapter
==
DBPPropertySource
.
class
)
{
return
getPropertyCollector
(
);
return
adapter
.
cast
(
getPropertyCollector
()
);
}
return
null
;
}
...
...
plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/views/OracleCompilerDialog.java
浏览文件 @
4533fdeb
...
...
@@ -44,6 +44,7 @@ import org.jkiss.dbeaver.ui.actions.navigator.NavigatorHandlerObjectOpen;
import
org.jkiss.dbeaver.ui.controls.ListContentProvider
;
import
org.jkiss.dbeaver.ui.controls.ObjectCompilerLogViewer
;
import
org.jkiss.dbeaver.ui.dialogs.BaseDialog
;
import
org.jkiss.dbeaver.ui.navigator.NavigatorUtils
;
import
org.jkiss.utils.CommonUtils
;
import
java.lang.reflect.InvocationTargetException
;
...
...
@@ -110,7 +111,7 @@ public class OracleCompilerDialog extends BaseDialog
public
void
update
(
ViewerCell
cell
)
{
DBSObject
unit
=
(
DBSObject
)
cell
.
getElement
();
final
DBNDatabaseNode
node
=
DBeaverCore
.
getInstance
().
getNavigatorModel
()
.
getNodeByObject
(
unit
);
final
DBNDatabaseNode
node
=
NavigatorUtils
.
getNodeByObject
(
unit
);
if
(
node
!=
null
)
{
cell
.
setText
(
node
.
getNodeName
());
cell
.
setImage
(
DBeaverIcons
.
getImage
(
node
.
getNodeIconDefault
()));
...
...
@@ -124,7 +125,7 @@ public class OracleCompilerDialog extends BaseDialog
public
void
update
(
ViewerCell
cell
)
{
DBSObject
unit
=
(
DBSObject
)
cell
.
getElement
();
final
DBNDatabaseNode
node
=
DBeaverCore
.
getInstance
().
getNavigatorModel
()
.
getNodeByObject
(
unit
);
final
DBNDatabaseNode
node
=
NavigatorUtils
.
getNodeByObject
(
unit
);
if
(
node
!=
null
)
{
cell
.
setText
(
node
.
getNodeType
());
}
else
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录