Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
74f8bc6e
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,发现更多精彩内容 >>
提交
74f8bc6e
编写于
4月 16, 2016
作者:
S
Serge Rider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Transformer settings editor
上级
8f3738e5
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
133 addition
and
13 deletion
+133
-13
plugins/org.jkiss.dbeaver.core/plugin.xml
plugins/org.jkiss.dbeaver.core/plugin.xml
+2
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/properties/PropertySourceCustom.java
...kiss/dbeaver/runtime/properties/PropertySourceCustom.java
+12
-11
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
.../jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
+8
-1
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/TransformerSettingsDialog.java
...aver/ui/controls/resultset/TransformerSettingsDialog.java
+111
-0
未找到文件。
plugins/org.jkiss.dbeaver.core/plugin.xml
浏览文件 @
74f8bc6e
...
...
@@ -2417,7 +2417,8 @@
custom=
"true"
>
<type
kind=
"NUMERIC"
/>
<propertyGroup
label=
"Properties"
>
<property
id=
"radix"
label=
"Radix"
type=
"integer"
description=
"Number radix"
defaultValue=
"10"
required=
"true"
validValues=
"2,8,10,16,32"
/>
<property
id=
"radix"
label=
"Radix"
type=
"string"
description=
"Number radix"
defaultValue=
"16"
required=
"true"
validValues=
"2,8,10,16,32"
/>
<property
id=
"bits"
label=
"Bits"
type=
"integer"
description=
"Visible bit number"
defaultValue=
"32"
required=
"true"
/>
<property
id=
"prefix"
label=
"Show prefix"
type=
"boolean"
description=
"Shows radix prefix (0x for hex)"
defaultValue=
"false"
required=
"true"
/>
</propertyGroup>
</transformer>
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/runtime/properties/PropertySourceCustom.java
浏览文件 @
74f8bc6e
...
...
@@ -41,29 +41,30 @@ public class PropertySourceCustom implements DBPPropertySource {
{
}
public
PropertySourceCustom
(
Collection
<?
extends
DBPPropertyDescriptor
>
properties
,
Map
<
Object
,
Object
>
values
)
public
PropertySourceCustom
(
Collection
<?
extends
DBPPropertyDescriptor
>
properties
,
Map
<
?,
?
>
values
)
{
addProperties
(
properties
);
setValues
(
values
);
}
public
void
setValues
(
Map
<
Object
,
Object
>
values
)
public
void
setValues
(
Map
<
?,
?
>
values
)
{
this
.
originalValues
=
new
HashMap
<>();
// Set only allowed properties + transform property types
for
(
Map
.
Entry
<
Object
,
Object
>
value
:
values
.
entrySet
())
{
Object
propValue
=
value
.
getValue
();
for
(
DBPPropertyDescriptor
prop
:
props
)
{
if
(
prop
.
getId
().
equals
(
value
.
getKey
()))
{
if
(
propValue
instanceof
String
)
{
propValue
=
GeneralUtils
.
convertString
((
String
)
value
.
getValue
(),
prop
.
getDataType
());
if
(
values
!=
null
)
{
for
(
Map
.
Entry
<?,
?>
value
:
values
.
entrySet
())
{
Object
propValue
=
value
.
getValue
();
for
(
DBPPropertyDescriptor
prop
:
props
)
{
if
(
prop
.
getId
().
equals
(
value
.
getKey
()))
{
if
(
propValue
instanceof
String
)
{
propValue
=
GeneralUtils
.
convertString
((
String
)
value
.
getValue
(),
prop
.
getDataType
());
}
originalValues
.
put
(
value
.
getKey
(),
propValue
);
break
;
}
originalValues
.
put
(
value
.
getKey
(),
propValue
);
break
;
}
}
}
}
public
void
setDefaultValues
(
Map
<
Object
,
Object
>
defaultValues
)
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java
浏览文件 @
74f8bc6e
...
...
@@ -1246,7 +1246,14 @@ public class ResultSetViewer extends Viewer
}
if
(
customTransformer
!=
null
&&
!
CommonUtils
.
isEmpty
(
customTransformer
.
getProperties
()))
{
manager
.
add
(
new
Action
(
"Settings ..."
)
{
@Override
public
void
run
()
{
TransformerSettingsDialog
settingsDialog
=
new
TransformerSettingsDialog
(
ResultSetViewer
.
this
,
attr
,
transformSettings
);
if
(
settingsDialog
.
open
()
==
IDialogConstants
.
OK_ID
)
{
dataSource
.
getContainer
().
persistConfiguration
();
}
}
});
}
...
...
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/TransformerSettingsDialog.java
0 → 100644
浏览文件 @
74f8bc6e
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2016 Serge Rieder (serge@jkiss.org)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License (version 2)
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
package
org.jkiss.dbeaver.ui.controls.resultset
;
import
org.eclipse.jface.dialogs.IDialogConstants
;
import
org.eclipse.swt.SWT
;
import
org.eclipse.swt.layout.GridData
;
import
org.eclipse.swt.widgets.Composite
;
import
org.eclipse.swt.widgets.Label
;
import
org.jkiss.dbeaver.Log
;
import
org.jkiss.dbeaver.model.DBPDataSource
;
import
org.jkiss.dbeaver.model.DBPPropertyDescriptor
;
import
org.jkiss.dbeaver.model.data.DBDAttributeBinding
;
import
org.jkiss.dbeaver.model.data.DBDAttributeTransformerDescriptor
;
import
org.jkiss.dbeaver.model.virtual.DBVTransformSettings
;
import
org.jkiss.dbeaver.runtime.properties.PropertySourceCustom
;
import
org.jkiss.dbeaver.ui.UIUtils
;
import
org.jkiss.dbeaver.ui.dialogs.BaseDialog
;
import
org.jkiss.dbeaver.ui.properties.PropertyTreeViewer
;
import
org.jkiss.utils.CommonUtils
;
import
java.util.Collection
;
import
java.util.Collections
;
import
java.util.Map
;
class
TransformerSettingsDialog
extends
BaseDialog
{
static
final
Log
log
=
Log
.
getLog
(
TransformerSettingsDialog
.
class
);
private
final
ResultSetViewer
viewer
;
private
final
DBDAttributeBinding
attr
;
private
final
DBVTransformSettings
settings
;
private
PropertyTreeViewer
propertiesEditor
;
private
PropertySourceCustom
propertySource
;
public
TransformerSettingsDialog
(
ResultSetViewer
viewer
,
DBDAttributeBinding
attr
,
DBVTransformSettings
settings
)
{
super
(
viewer
.
getControl
().
getShell
(),
"Transformer settings"
,
null
);
this
.
viewer
=
viewer
;
this
.
attr
=
attr
;
this
.
settings
=
settings
;
}
@Override
protected
Composite
createDialogArea
(
Composite
parent
)
{
Composite
composite
=
super
.
createDialogArea
(
parent
);
final
DBPDataSource
dataSource
=
viewer
.
getDataContainer
()
==
null
?
null
:
viewer
.
getDataContainer
().
getDataSource
();
Collection
<?
extends
DBPPropertyDescriptor
>
properties
=
Collections
.
emptyList
();
final
DBDAttributeTransformerDescriptor
transformer
;
if
(
dataSource
!=
null
&&
!
CommonUtils
.
isEmpty
(
settings
.
getCustomTransformer
()))
{
transformer
=
dataSource
.
getContainer
().
getApplication
().
getValueHandlerRegistry
().
getTransformer
(
settings
.
getCustomTransformer
());
if
(
transformer
!=
null
)
{
properties
=
transformer
.
getProperties
();
}
}
else
{
transformer
=
null
;
}
if
(
transformer
!=
null
)
{
final
Composite
placeholder
=
UIUtils
.
createControlGroup
(
composite
,
"Transformer"
,
2
,
GridData
.
FILL_HORIZONTAL
,
-
1
);
UIUtils
.
createLabelText
(
placeholder
,
"Name"
,
transformer
.
getName
(),
SWT
.
READ_ONLY
);
UIUtils
.
createLabelText
(
placeholder
,
"Info"
,
transformer
.
getDescription
(),
SWT
.
READ_ONLY
|
SWT
.
WRAP
);
}
Map
<
String
,
String
>
transformOptions
=
settings
.
getTransformOptions
();
if
(
transformOptions
==
null
)
{
transformOptions
=
Collections
.
emptyMap
();
}
propertiesEditor
=
new
PropertyTreeViewer
(
composite
,
SWT
.
BORDER
);
propertySource
=
new
PropertySourceCustom
(
properties
,
transformOptions
);
propertiesEditor
.
loadProperties
(
propertySource
);
propertiesEditor
.
getControl
().
setFocus
();
return
parent
;
}
@Override
protected
void
createButtonsForButtonBar
(
Composite
parent
)
{
createButton
(
parent
,
IDialogConstants
.
OK_ID
,
IDialogConstants
.
OK_LABEL
,
true
);
createButton
(
parent
,
IDialogConstants
.
CANCEL_ID
,
IDialogConstants
.
CANCEL_LABEL
,
false
);
}
@Override
protected
void
okPressed
()
{
super
.
okPressed
();
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录