提交 a3418284 编写于 作者: S serge-rider

Merge remote-tracking branch 'origin/devel' into devel

......@@ -2150,6 +2150,8 @@
<visibleWhen checkEnabled="true"/>
</command>
<separator name="generate" visible="false"/>
<menu label="%menu.database.sql.generate" icon="icons/misc/sql.png">
<visibleWhen>
<with variable="activePart">
......
......@@ -7,6 +7,17 @@
<extension point="org.eclipse.ui.handlers">
<handler commandId="org.jkiss.dbeaver.ext.mockdata.button" class="org.jkiss.dbeaver.ext.mockdata.handlers.MockDataHandler" />
<handler commandId="org.jkiss.dbeaver.ext.mockdata.forSelection" class="org.jkiss.dbeaver.ext.mockdata.handlers.MockDataHandler">
<enabledWhen>
<with variable="selection">
<count value="+"/>
<iterate operator="and">
<adapt type="org.jkiss.dbeaver.model.struct.DBSDataContainer"/>
</iterate>
</with>
</enabledWhen>
</handler>
</extension>
<extension point="org.jkiss.dbeaver.tools">
......
......@@ -173,10 +173,14 @@ public class MockDataSettings {
VoidProgressMonitor voidProgressMonitor = new VoidProgressMonitor();
IDialogSettings tableSection = UIUtils.getSettingsSection(dialogSettings, entity.getName());
for (Map.Entry<String, AttributeGeneratorProperties> entry : attributeGenerators.entrySet()) {
// search the saved generator
String attributeName = entry.getKey();
IDialogSettings attributeSection = UIUtils.getSettingsSection(tableSection, attributeName);
String savedGeneratorId = attributeSection.get(KEY_SELECTED_GENERATOR);
AttributeGeneratorProperties attrGeneratorProperties = entry.getValue();
// set the saved generator
if (savedGeneratorId != null) {
attrGeneratorProperties.setSelectedGeneratorId(savedGeneratorId);
attrGeneratorProperties.setPresetId(attributeSection.get(KEY_PRESET_ID));
......@@ -195,7 +199,8 @@ public class MockDataSettings {
}
}
} else {
autoAssignGenerator(attrGeneratorProperties); // set the default generator
// set the default generator
autoAssignGenerator(attrGeneratorProperties);
}
}
}
......@@ -221,21 +226,28 @@ public class MockDataSettings {
// set the default generator
switch (attribute.getDataKind()) {
case BOOLEAN:
attrGeneratorProperties.setSelectedGeneratorId(MockGeneratorDescriptor.BOOLEAN_RANDOM_GENERATOR_ID);
setSelectedGenerator(attrGeneratorProperties, MockGeneratorDescriptor.BOOLEAN_RANDOM_GENERATOR_ID);
break;
case DATETIME:
attrGeneratorProperties.setSelectedGeneratorId(MockGeneratorDescriptor.DATETIME_RANDOM_GENERATOR_ID);
setSelectedGenerator(attrGeneratorProperties, MockGeneratorDescriptor.DATETIME_RANDOM_GENERATOR_ID);
break;
case NUMERIC:
attrGeneratorProperties.setSelectedGeneratorId(MockGeneratorDescriptor.NUMERIC_RANDOM_GENERATOR_ID);
setSelectedGenerator(attrGeneratorProperties, MockGeneratorDescriptor.NUMERIC_RANDOM_GENERATOR_ID);
break;
case STRING:
attrGeneratorProperties.setSelectedGeneratorId(MockGeneratorDescriptor.STRING_TEXT_GENERATOR_ID);
setSelectedGenerator(attrGeneratorProperties, MockGeneratorDescriptor.STRING_TEXT_GENERATOR_ID);
break;
}
}
}
// prevents set non-acceptable generator
private void setSelectedGenerator(AttributeGeneratorProperties attrGeneratorProperties, String generatorId) {
if (attrGeneratorProperties.getGenerators().contains(generatorId)) {
attrGeneratorProperties.setSelectedGeneratorId(generatorId);
}
}
void saveTo(IDialogSettings dialogSettings) {
dialogSettings.put(PROP_REMOVE_OLD_DATA, removeOldData);
dialogSettings.put(PROP_ROWS_NUMBER, rowsNumber);
......
......@@ -134,11 +134,31 @@ public class MockDataWizardPageSettings extends ActiveWizardPage<MockDataExecute
gd.verticalIndent = 5;
generatorsGroup.setLayoutData(gd);
generatorsTableViewer = new TableViewer(generatorsGroup, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION);
final Table table = generatorsTableViewer.getTable();
Composite placeholder = UIUtils.createPlaceholder(generatorsGroup, 1);
gd = new GridData(GridData.FILL_VERTICAL);
gd.widthHint = 250;
placeholder.setLayoutData(gd);
Button autoAssignButton = new Button(placeholder, SWT.PUSH);
autoAssignButton.setText("Auto assign generators");
autoAssignButton.setImage(DBeaverIcons.getImage(UIIcon.OBJ_REFRESH));
autoAssignButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
if (UIUtils.confirmAction(getShell(), MockDataMessages.tools_mockdata_wizard_title, "The generators will be assigned automatically. Proceed?")) {
autoAssignGenerators();
}
}
});
gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
// gd.horizontalIndent = 5;
autoAssignButton.setLayoutData(gd);
generatorsTableViewer = new TableViewer(placeholder, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION);
final Table table = generatorsTableViewer.getTable();
gd = new GridData(GridData.FILL_BOTH);
gd.verticalIndent = 5;
table.setLayoutData(gd);
table.setHeaderVisible(true);
table.setLinesVisible(true);
......@@ -195,25 +215,6 @@ public class MockDataWizardPageSettings extends ActiveWizardPage<MockDataExecute
generatorColumn.setLabelProvider(labelProvider);
TableColumn column = generatorColumn.getColumn();
column.setText("Generator");
column.setImage(DBeaverIcons.getImage(UIIcon.OBJ_REFRESH));
column.setToolTipText("Automatically assign the generators");
column.addListener(SWT.Selection, new Listener() {
@Override
public void handleEvent(Event event) {
if (UIUtils.confirmAction(getShell(), MockDataMessages.tools_mockdata_wizard_title, "The generators will be assigned automatically. Proceed?")) {
autoAssignGenerators();
}
}
});
/* TODO for some reason it doesn't work over the header
generatorsTableViewer.getTable().addListener(SWT.MouseMove, new Listener() {
@Override
public void handleEvent(Event event) {
log.debug(">>>>>>>>>>>>>>>>>>> "+event.x+" <<>> "+event.y);
// SET THE HAND CURSOR
}
});
*/
generatorColumn.setEditingSupport(new EditingSupport(generatorsTableViewer) {
@Override
......@@ -271,7 +272,7 @@ public class MockDataWizardPageSettings extends ActiveWizardPage<MockDataExecute
});
// generator properties
Composite placeholder = UIUtils.createPlaceholder(generatorsGroup, 1);
placeholder = UIUtils.createPlaceholder(generatorsGroup, 1);
placeholder.setLayoutData(new GridData(GridData.FILL_BOTH));
Composite labelCombo = UIUtils.createPlaceholder(placeholder, 5);
......
......@@ -129,7 +129,6 @@ public class MockGeneratorDescriptor extends DataTypeAbstractDescriptor<MockValu
((PropertyDescriptor) property).setDefaultValue(defaultValue); break;
}
}
}
@Override
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册