Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
931f7cd0
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,发现更多精彩内容 >>
提交
931f7cd0
编写于
7月 22, 2021
作者:
S
Serge Rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
dbeaver/dbeaver-ee#954 Merge entities support check
上级
a9e5dd3d
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
89 addition
and
18 deletion
+89
-18
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/datasource/ConnectionViewSettingsContributor.java
...actions/datasource/ConnectionViewSettingsContributor.java
+4
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/ConnectionPageGeneral.java
.../dbeaver/ui/dialogs/connection/ConnectionPageGeneral.java
+13
-5
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/EditConnectionNavigatorSettingsDialog.java
...ogs/connection/EditConnectionNavigatorSettingsDialog.java
+16
-2
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/preferences/PrefPageConnectionsGeneral.java
...ss/dbeaver/ui/preferences/PrefPageConnectionsGeneral.java
+1
-1
plugins/org.jkiss.dbeaver.ext.generic/plugin.xml
plugins/org.jkiss.dbeaver.ext.generic/plugin.xml
+1
-1
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/connection/DBPDataSourceProviderDescriptor.java
...ver/model/connection/DBPDataSourceProviderDescriptor.java
+2
-2
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/meta/DBXTreeDescriptor.java
...jkiss/dbeaver/model/navigator/meta/DBXTreeDescriptor.java
+46
-0
plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/DataSourceProviderDescriptor.java
.../jkiss/dbeaver/registry/DataSourceProviderDescriptor.java
+6
-6
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/actions/datasource/ConnectionViewSettingsContributor.java
浏览文件 @
931f7cd0
...
...
@@ -134,7 +134,10 @@ public class ConnectionViewSettingsContributor extends DataSourceMenuContributor
if
(!
isChecked
())
{
return
;
}
EditConnectionNavigatorSettingsDialog
dialog
=
new
EditConnectionNavigatorSettingsDialog
(
UIUtils
.
getActiveWorkbenchShell
(),
dsContainer
.
getNavigatorSettings
());
EditConnectionNavigatorSettingsDialog
dialog
=
new
EditConnectionNavigatorSettingsDialog
(
UIUtils
.
getActiveWorkbenchShell
(),
dsContainer
.
getNavigatorSettings
(),
dsContainer
);
if
(
dialog
.
open
()
==
IDialogConstants
.
OK_ID
)
{
updateSettings
(
dialog
.
getNavigatorSettings
());
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/ConnectionPageGeneral.java
浏览文件 @
931f7cd0
...
...
@@ -26,6 +26,7 @@ import org.eclipse.swt.layout.GridData;
import
org.eclipse.swt.layout.GridLayout
;
import
org.eclipse.swt.widgets.*
;
import
org.jkiss.code.NotNull
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.core.CoreMessages
;
import
org.jkiss.dbeaver.model.DBPDataSourceContainer
;
import
org.jkiss.dbeaver.model.DBPDataSourceFolder
;
...
...
@@ -328,7 +329,7 @@ public class ConnectionPageGeneral extends ConnectionWizardPage implements Navig
}
{
navigatorSettingsCombo
=
createNavigatorSettingsCombo
(
miscGroup
,
this
);
navigatorSettingsCombo
=
createNavigatorSettingsCombo
(
miscGroup
,
this
,
dataSourceDescriptor
);
}
folderSelector
=
new
ConnectionFolderSelector
(
miscGroup
);
...
...
@@ -448,7 +449,7 @@ public class ConnectionPageGeneral extends ConnectionWizardPage implements Navig
UIUtils
.
setHelp
(
group
,
IHelpContextIds
.
CTX_CON_WIZARD_FINAL
);
}
public
static
Combo
createNavigatorSettingsCombo
(
Composite
composite
,
NavigatorSettingsStorage
settingsStorage
)
{
public
static
Combo
createNavigatorSettingsCombo
(
Composite
composite
,
NavigatorSettingsStorage
settingsStorage
,
DBPDataSourceContainer
dataSourceDescriptor
)
{
UIUtils
.
createControlLabel
(
composite
,
CoreMessages
.
dialog_connection_wizard_final_label_navigator_settings
);
Composite
ctGroup
=
UIUtils
.
createComposite
(
composite
,
2
);
...
...
@@ -478,7 +479,8 @@ public class ConnectionPageGeneral extends ConnectionWizardPage implements Navig
UIUtils
.
createDialogButton
(
ctGroup
,
CoreMessages
.
dialog_connection_wizard_final_label_navigator_settings_customize
,
new
SelectionAdapter
()
{
@Override
public
void
widgetSelected
(
SelectionEvent
e
)
{
settingsStorage
.
setNavigatorSettings
(
editNavigatorSettings
(
navigatorSettingsCombo
,
settingsStorage
.
getNavigatorSettings
()));
settingsStorage
.
setNavigatorSettings
(
editNavigatorSettings
(
navigatorSettingsCombo
,
settingsStorage
.
getNavigatorSettings
(),
dataSourceDescriptor
));
}
});
return
navigatorSettingsCombo
;
...
...
@@ -499,8 +501,14 @@ public class ConnectionPageGeneral extends ConnectionWizardPage implements Navig
return
connectionTypeCombo
;
}
private
static
DBNBrowseSettings
editNavigatorSettings
(
Combo
navigatorSettingsCombo
,
DBNBrowseSettings
navigatorSettings
)
{
EditConnectionNavigatorSettingsDialog
dialog
=
new
EditConnectionNavigatorSettingsDialog
(
navigatorSettingsCombo
.
getShell
(),
navigatorSettings
);
private
static
DBNBrowseSettings
editNavigatorSettings
(
@NotNull
Combo
navigatorSettingsCombo
,
@NotNull
DBNBrowseSettings
navigatorSettings
,
@Nullable
DBPDataSourceContainer
dataSourceDescriptor
)
{
EditConnectionNavigatorSettingsDialog
dialog
=
new
EditConnectionNavigatorSettingsDialog
(
navigatorSettingsCombo
.
getShell
(),
navigatorSettings
,
dataSourceDescriptor
);
if
(
dialog
.
open
()
==
IDialogConstants
.
OK_ID
)
{
navigatorSettings
=
dialog
.
getNavigatorSettings
();
updateNavigatorSettingsPreset
(
navigatorSettingsCombo
,
navigatorSettings
);
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/dialogs/connection/EditConnectionNavigatorSettingsDialog.java
浏览文件 @
931f7cd0
...
...
@@ -21,14 +21,19 @@ import org.eclipse.swt.widgets.Button;
import
org.eclipse.swt.widgets.Composite
;
import
org.eclipse.swt.widgets.Group
;
import
org.eclipse.swt.widgets.Shell
;
import
org.jkiss.code.NotNull
;
import
org.jkiss.code.Nullable
;
import
org.jkiss.dbeaver.core.CoreMessages
;
import
org.jkiss.dbeaver.model.DBPDataSourceContainer
;
import
org.jkiss.dbeaver.model.navigator.DBNBrowseSettings
;
import
org.jkiss.dbeaver.registry.DataSourceNavigatorSettings
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.dialogs.BaseDialog
;
public
class
EditConnectionNavigatorSettingsDialog
extends
BaseDialog
{
private
DataSourceNavigatorSettings
navigatorSettings
;
private
final
DataSourceNavigatorSettings
navigatorSettings
;
@Nullable
private
final
DBPDataSourceContainer
dataSourceDescriptor
;
private
Button
showSystemObjects
;
private
Button
showUtilityObjects
;
...
...
@@ -36,9 +41,13 @@ public class EditConnectionNavigatorSettingsDialog extends BaseDialog {
private
Button
mergeEntities
;
private
Button
hideFolders
;
public
EditConnectionNavigatorSettingsDialog
(
Shell
shell
,
DBNBrowseSettings
navigatorSettings
)
{
public
EditConnectionNavigatorSettingsDialog
(
@NotNull
Shell
shell
,
@NotNull
DBNBrowseSettings
navigatorSettings
,
@Nullable
DBPDataSourceContainer
dataSourceDescriptor
)
{
super
(
shell
,
CoreMessages
.
dialog_connection_wizard_final_group_navigator
,
null
);
this
.
navigatorSettings
=
new
DataSourceNavigatorSettings
(
navigatorSettings
);
this
.
dataSourceDescriptor
=
dataSourceDescriptor
;
}
@Override
...
...
@@ -80,6 +89,11 @@ public class EditConnectionNavigatorSettingsDialog extends BaseDialog {
navigatorSettings
.
isMergeEntities
(),
1
);
if
(
dataSourceDescriptor
!=
null
)
{
mergeEntities
.
setEnabled
(
dataSourceDescriptor
.
getDriver
().
getProviderDescriptor
().
getTreeDescriptor
().
supportsEntityMerge
());
}
hideFolders
=
UIUtils
.
createCheckbox
(
miscGroup
,
CoreMessages
.
dialog_connection_wizard_final_checkbox_hide_folders
,
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/preferences/PrefPageConnectionsGeneral.java
浏览文件 @
931f7cd0
...
...
@@ -51,7 +51,7 @@ public class PrefPageConnectionsGeneral extends AbstractPrefPage implements IWor
defaultConnectionType
=
connectionTypeCombo
.
getSelectedItem
();
}
});
navigatorSettingsCombo
=
ConnectionPageGeneral
.
createNavigatorSettingsCombo
(
groupDefaults
,
this
);
navigatorSettingsCombo
=
ConnectionPageGeneral
.
createNavigatorSettingsCombo
(
groupDefaults
,
this
,
null
);
}
{
...
...
plugins/org.jkiss.dbeaver.ext.generic/plugin.xml
浏览文件 @
931f7cd0
...
...
@@ -28,7 +28,7 @@
label=
"Generic"
icon=
"#database_icon_default"
dialect=
"generic"
>
<tree
path=
"generic"
label=
"Generic data source"
>
<tree
path=
"generic"
label=
"Generic data source"
supportsEntityMerge=
"true"
>
<items
label=
"#catalog"
path=
"catalog"
property=
"catalogList"
icon=
"#database"
optional=
"true"
>
<items
label=
"#schema"
path=
"schema"
property=
"schemaList"
icon=
"#schema"
optional=
"true"
>
<folder
type=
"org.jkiss.dbeaver.ext.generic.model.GenericTable"
label=
"%tree.tables.node.name"
icon=
"#folder_table"
description=
"%tree.tables.node.tip"
>
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/connection/DBPDataSourceProviderDescriptor.java
浏览文件 @
931f7cd0
...
...
@@ -19,7 +19,7 @@ package org.jkiss.dbeaver.model.connection;
import
org.jkiss.code.NotNull
;
import
org.jkiss.dbeaver.model.DBPImage
;
import
org.jkiss.dbeaver.model.DBPNamedObject
;
import
org.jkiss.dbeaver.model.navigator.meta.DBXTree
Node
;
import
org.jkiss.dbeaver.model.navigator.meta.DBXTree
Descriptor
;
import
org.jkiss.dbeaver.model.sql.SQLDialectMetadata
;
import
java.util.List
;
...
...
@@ -41,7 +41,7 @@ public interface DBPDataSourceProviderDescriptor extends DBPNamedObject {
String
getPluginId
();
DBXTree
Node
getTreeDescriptor
();
DBXTree
Descriptor
getTreeDescriptor
();
@NotNull
SQLDialectMetadata
getScriptDialect
();
...
...
plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/meta/DBXTreeDescriptor.java
0 → 100644
浏览文件 @
931f7cd0
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2021 DBeaver Corp and others
*
* 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.model.navigator.meta
;
import
org.eclipse.core.runtime.IConfigurationElement
;
import
org.jkiss.code.NotNull
;
import
org.jkiss.dbeaver.model.impl.AbstractDescriptor
;
import
org.jkiss.utils.CommonUtils
;
/**
* DBXTreeDescriptor
*/
public
class
DBXTreeDescriptor
extends
DBXTreeItem
{
private
final
boolean
supportsEntityMerge
;
public
DBXTreeDescriptor
(
AbstractDescriptor
source
,
DBXTreeNode
parent
,
IConfigurationElement
config
,
String
path
,
String
propertyName
,
boolean
optional
,
boolean
navigable
,
boolean
inline
,
boolean
virtual
,
boolean
standalone
,
String
visibleIf
,
String
recursiveLink
)
{
super
(
source
,
parent
,
config
,
path
,
propertyName
,
optional
,
navigable
,
inline
,
virtual
,
standalone
,
visibleIf
,
recursiveLink
);
this
.
supportsEntityMerge
=
config
!=
null
&&
CommonUtils
.
toBoolean
(
config
.
getAttribute
(
"supportsEntityMerge"
));
}
public
DBXTreeDescriptor
(
@NotNull
AbstractDescriptor
source
,
@NotNull
DBXTreeDescriptor
item
)
{
super
(
source
,
null
,
item
);
this
.
supportsEntityMerge
=
item
.
supportsEntityMerge
;
}
public
boolean
supportsEntityMerge
()
{
return
supportsEntityMerge
;
}
}
plugins/org.jkiss.dbeaver.registry/src/org/jkiss/dbeaver/registry/DataSourceProviderDescriptor.java
浏览文件 @
931f7cd0
...
...
@@ -64,7 +64,7 @@ public class DataSourceProviderDescriptor extends AbstractDescriptor implements
private
final
boolean
temporary
;
private
DBPImage
icon
;
private
DBPDataSourceProvider
instance
;
private
DBXTree
Item
treeDescriptor
;
private
DBXTree
Descriptor
treeDescriptor
;
private
final
Map
<
String
,
DBXTreeNode
>
treeNodeMap
=
new
HashMap
<>();
private
boolean
driversManagable
;
private
final
List
<
DBPPropertyDescriptor
>
driverProperties
=
new
ArrayList
<>();
...
...
@@ -113,7 +113,7 @@ public class DataSourceProviderDescriptor extends AbstractDescriptor implements
this
.
treeDescriptor
=
this
.
loadTreeInfo
(
trees
[
0
]);
}
else
if
(
parentProvider
!=
null
)
{
// Use parent's tree
this
.
treeDescriptor
=
new
DBXTree
Item
(
this
,
null
,
parentProvider
.
treeDescriptor
);
this
.
treeDescriptor
=
new
DBXTree
Descriptor
(
this
,
parentProvider
.
treeDescriptor
);
}
// Load tree injections
...
...
@@ -190,7 +190,7 @@ public class DataSourceProviderDescriptor extends AbstractDescriptor implements
this
.
description
=
"Missing datasource provider "
+
id
;
this
.
implType
=
new
ObjectType
(
MissingDataSourceProvider
.
class
.
getName
());
this
.
temporary
=
true
;
this
.
treeDescriptor
=
new
DBXTree
Item
(
this
,
null
,
null
,
id
,
id
,
false
,
true
,
false
,
false
,
true
,
null
,
null
);
this
.
treeDescriptor
=
new
DBXTree
Descriptor
(
this
,
null
,
null
,
id
,
id
,
false
,
true
,
false
,
false
,
true
,
null
,
null
);
this
.
scriptDialect
=
SQLDialectRegistry
.
getInstance
().
getDialect
(
BasicSQLDialect
.
ID
);
}
...
...
@@ -264,7 +264,7 @@ public class DataSourceProviderDescriptor extends AbstractDescriptor implements
}
@Override
public
DBXTree
Node
getTreeDescriptor
()
public
DBXTree
Descriptor
getTreeDescriptor
()
{
return
treeDescriptor
;
}
...
...
@@ -378,9 +378,9 @@ public class DataSourceProviderDescriptor extends AbstractDescriptor implements
{
}
private
DBXTree
Item
loadTreeInfo
(
IConfigurationElement
config
)
private
DBXTree
Descriptor
loadTreeInfo
(
IConfigurationElement
config
)
{
DBXTree
Item
treeRoot
=
new
DBXTreeItem
(
DBXTree
Descriptor
treeRoot
=
new
DBXTreeDescriptor
(
this
,
null
,
config
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录