Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suliangchun
dbeaver
提交
128fd0f9
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,发现更多精彩内容 >>
提交
128fd0f9
编写于
2月 14, 2018
作者:
E
Evgeny Fradkin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#1599 Mock Data. Save generator properties.
上级
fbf41af4
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
83 addition
and
13 deletion
+83
-13
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/UIUtils.java
....jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/UIUtils.java
+39
-0
plugins/org.jkiss.dbeaver.ext.mockdata/src/org/jkiss/dbeaver/ext/mockdata/MockDataExecuteWizard.java
...org/jkiss/dbeaver/ext/mockdata/MockDataExecuteWizard.java
+1
-1
plugins/org.jkiss.dbeaver.ext.mockdata/src/org/jkiss/dbeaver/ext/mockdata/MockDataSettings.java
.../src/org/jkiss/dbeaver/ext/mockdata/MockDataSettings.java
+40
-12
plugins/org.jkiss.dbeaver.ext.mockdata/src/org/jkiss/dbeaver/ext/mockdata/MockDataWizardPageSettings.java
...kiss/dbeaver/ext/mockdata/MockDataWizardPageSettings.java
+3
-0
未找到文件。
plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/UIUtils.java
浏览文件 @
128fd0f9
...
...
@@ -992,6 +992,45 @@ public class UIUtils {
return
section
;
}
public
static
void
putSectionValueWithType
(
IDialogSettings
dialogSettings
,
@NotNull
String
key
,
Object
value
)
{
if
(
value
instanceof
Double
)
{
dialogSettings
.
put
(
key
,
(
Double
)
value
);
}
else
if
(
value
instanceof
Float
)
{
dialogSettings
.
put
(
key
,
(
Float
)
value
);
}
else
if
(
value
instanceof
Integer
)
{
dialogSettings
.
put
(
key
,
(
Integer
)
value
);
}
else
if
(
value
instanceof
Long
)
{
dialogSettings
.
put
(
key
,
(
Long
)
value
);
}
else
if
(
value
instanceof
String
)
{
dialogSettings
.
put
(
key
,
(
String
)
value
);
}
else
if
(
value
instanceof
Boolean
)
{
dialogSettings
.
put
(
key
,
(
Boolean
)
value
);
}
else
{
// do nothing
}
dialogSettings
.
put
(
key
+
"_type"
,
value
.
getClass
().
getSimpleName
());
}
public
static
Object
getSectionValueWithType
(
IDialogSettings
dialogSettings
,
@NotNull
String
key
)
{
String
type
=
dialogSettings
.
get
(
key
+
"_type"
);
if
(
type
!=
null
)
{
switch
(
type
)
{
case
"Double"
:
return
dialogSettings
.
getDouble
(
key
);
case
"Float"
:
return
dialogSettings
.
getFloat
(
key
);
case
"Integer"
:
return
dialogSettings
.
getInt
(
key
);
case
"Long"
:
return
dialogSettings
.
getLong
(
key
);
case
"String"
:
return
dialogSettings
.
get
(
key
);
case
"Boolean"
:
return
dialogSettings
.
getBoolean
(
key
);
}
}
return
dialogSettings
.
get
(
key
);
}
@Nullable
public
static
IWorkbenchPartSite
getWorkbenchPartSite
(
IServiceLocator
serviceLocator
)
{
...
...
plugins/org.jkiss.dbeaver.ext.mockdata/src/org/jkiss/dbeaver/ext/mockdata/MockDataExecuteWizard.java
浏览文件 @
128fd0f9
...
...
@@ -73,7 +73,7 @@ public class MockDataExecuteWizard extends AbstractToolWizard<DBSDataManipulato
IDialogSettings
section
=
UIUtils
.
getDialogSettings
(
RS_EXPORT_WIZARD_DIALOG_SETTINGS
);
setDialogSettings
(
section
);
mockDataSettings
.
loadFrom
(
DBeaverUI
.
getActiveWorkbenchWindow
(),
section
);
mockDataSettings
.
loadFrom
(
section
);
}
@Override
...
...
plugins/org.jkiss.dbeaver.ext.mockdata/src/org/jkiss/dbeaver/ext/mockdata/MockDataSettings.java
浏览文件 @
128fd0f9
...
...
@@ -18,7 +18,6 @@
package
org.jkiss.dbeaver.ext.mockdata
;
import
org.eclipse.jface.dialogs.IDialogSettings
;
import
org.eclipse.jface.operation.IRunnableContext
;
import
org.jkiss.dbeaver.DBException
;
import
org.jkiss.dbeaver.core.DBeaverUI
;
import
org.jkiss.dbeaver.ext.mockdata.model.MockGeneratorDescriptor
;
...
...
@@ -26,6 +25,7 @@ import org.jkiss.dbeaver.ext.mockdata.model.MockGeneratorRegistry;
import
org.jkiss.dbeaver.model.DBUtils
;
import
org.jkiss.dbeaver.model.runtime.DBRProgressMonitor
;
import
org.jkiss.dbeaver.model.runtime.DBRRunnableWithProgress
;
import
org.jkiss.dbeaver.model.runtime.VoidProgressMonitor
;
import
org.jkiss.dbeaver.model.struct.*
;
import
org.jkiss.dbeaver.runtime.properties.PropertySourceCustom
;
import
org.jkiss.dbeaver.runtime.ui.DBUserInterface
;
...
...
@@ -39,6 +39,12 @@ public class MockDataSettings {
public
static
final
String
FK_GENERATOR_ID
=
"fkGenerator"
;
//$NON-NLS-1$
public
static
final
String
PROP_REMOVE_OLD_DATA
=
"removeOldData"
;
//$NON-NLS-1$
public
static
final
String
PROP_ROWS_NUMBER
=
"rowsNumber"
;
//$NON-NLS-1$
public
static
final
String
KEY_SELECTED_GENERATOR
=
"selectedGenerator"
;
//$NON-NLS-1$
public
static
final
String
KEY_GENERATOR_SECTION
=
"GENERATOR_SECTION"
;
//$NON-NLS-1$
private
DBSEntity
dbsEntity
;
private
Collection
<
DBSAttributeBase
>
attributes
;
...
...
@@ -139,35 +145,57 @@ public class MockDataSettings {
return
attributeGenerators
.
get
(
attribute
.
getName
());
}
public
void
loadFrom
(
I
RunnableContext
runnableContext
,
I
DialogSettings
dialogSettings
)
{
removeOldData
=
dialogSettings
.
getBoolean
(
"removeOldData"
);
public
void
loadFrom
(
IDialogSettings
dialogSettings
)
{
removeOldData
=
dialogSettings
.
getBoolean
(
PROP_REMOVE_OLD_DATA
);
try
{
rowsNumber
=
dialogSettings
.
getInt
(
"rowsNumber"
);
rowsNumber
=
dialogSettings
.
getInt
(
PROP_ROWS_NUMBER
);
}
catch
(
NumberFormatException
e
)
{
// do nothing
}
// load selected generators
VoidProgressMonitor
voidProgressMonitor
=
new
VoidProgressMonitor
();
IDialogSettings
tableSection
=
UIUtils
.
getSettingsSection
(
dialogSettings
,
dbsEntity
.
getName
());
for
(
Map
.
Entry
<
String
,
AttributeGeneratorProperties
>
entry
:
attributeGenerators
.
entrySet
())
{
String
attributeName
=
entry
.
getKey
();
String
selectedGenerator
=
tableSection
.
get
(
attributeName
);
if
(
selectedGenerator
!=
null
)
{
entry
.
getValue
().
setSelectedGeneratorId
(
selectedGenerator
);
IDialogSettings
attributeSection
=
UIUtils
.
getSettingsSection
(
tableSection
,
attributeName
);
String
selectedGeneratorId
=
attributeSection
.
get
(
KEY_SELECTED_GENERATOR
);
if
(
selectedGeneratorId
!=
null
)
{
AttributeGeneratorProperties
attrGeneratorProperties
=
entry
.
getValue
();
attrGeneratorProperties
.
setSelectedGeneratorId
(
selectedGeneratorId
);
PropertySourceCustom
generatorPropertySource
=
attrGeneratorProperties
.
getGeneratorPropertySource
(
selectedGeneratorId
);
IDialogSettings
generatorSection
=
UIUtils
.
getSettingsSection
(
attributeSection
,
KEY_GENERATOR_SECTION
);
Map
<
Object
,
Object
>
properties
=
generatorPropertySource
.
getPropertiesWithDefaults
();
for
(
Map
.
Entry
<
Object
,
Object
>
propEntry
:
properties
.
entrySet
())
{
Object
savedValue
=
UIUtils
.
getSectionValueWithType
(
generatorSection
,
(
String
)
propEntry
.
getKey
());
generatorPropertySource
.
setPropertyValue
(
voidProgressMonitor
,
propEntry
.
getKey
(),
savedValue
);
}
}
}
}
void
saveTo
(
IDialogSettings
dialogSettings
)
{
dialogSettings
.
put
(
"removeOldData"
,
removeOldData
);
dialogSettings
.
put
(
"rowsNumber"
,
rowsNumber
);
dialogSettings
.
put
(
PROP_REMOVE_OLD_DATA
,
removeOldData
);
dialogSettings
.
put
(
PROP_ROWS_NUMBER
,
rowsNumber
);
// save selected generators
IDialogSettings
tableSection
=
UIUtils
.
getSettingsSection
(
dialogSettings
,
dbsEntity
.
getName
());
for
(
Map
.
Entry
<
String
,
AttributeGeneratorProperties
>
entry
:
attributeGenerators
.
entrySet
())
{
tableSection
.
put
(
entry
.
getKey
(),
entry
.
getValue
().
getSelectedGeneratorId
());
for
(
Map
.
Entry
<
String
,
AttributeGeneratorProperties
>
attrEntry
:
attributeGenerators
.
entrySet
())
{
String
attributeName
=
attrEntry
.
getKey
();
AttributeGeneratorProperties
attrGeneratorProperties
=
attrEntry
.
getValue
();
IDialogSettings
attributeSection
=
UIUtils
.
getSettingsSection
(
tableSection
,
attributeName
);
String
selectedGeneratorId
=
attrGeneratorProperties
.
getSelectedGeneratorId
();
attributeSection
.
put
(
KEY_SELECTED_GENERATOR
,
selectedGeneratorId
);
IDialogSettings
generatorSection
=
UIUtils
.
getSettingsSection
(
attributeSection
,
KEY_GENERATOR_SECTION
);
PropertySourceCustom
generatorPropertySource
=
attrGeneratorProperties
.
getGeneratorPropertySource
(
selectedGeneratorId
);
Map
<
Object
,
Object
>
properties
=
generatorPropertySource
.
getPropertiesWithDefaults
();
for
(
Map
.
Entry
<
Object
,
Object
>
propEntry
:
properties
.
entrySet
())
{
UIUtils
.
putSectionValueWithType
(
generatorSection
,
(
String
)
propEntry
.
getKey
(),
propEntry
.
getValue
());
}
}
}
public
static
class
AttributeGeneratorProperties
{
...
...
plugins/org.jkiss.dbeaver.ext.mockdata/src/org/jkiss/dbeaver/ext/mockdata/MockDataWizardPageSettings.java
浏览文件 @
128fd0f9
...
...
@@ -285,6 +285,9 @@ public class MockDataWizardPageSettings extends ActiveWizardPage<MockDataExecute
MockDataExecuteWizard
wizard
=
getWizard
();
mockDataSettings
.
init
(
wizard
);
wizard
.
loadSettings
();
removeOldDataCheck
.
setSelection
(
mockDataSettings
.
isRemoveOldData
());
rowsText
.
setText
(
String
.
valueOf
(
mockDataSettings
.
getRowsNumber
()));
columnsTableViewer
.
setInput
(
mockDataSettings
.
getAttributes
());
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录