use of org.jkiss.dbeaver.runtime.ui.UIServiceSQL in project dbeaver by serge-rider.
the class SaveScriptDialog method populateSQL.
private void populateSQL() {
try {
final List<DBEPersistAction> sqlScript = new ArrayList<>();
UIUtils.runInProgressService(monitor -> {
List<DBEPersistAction> script = viewer.generateChangesScript(monitor, saveSettings);
if (script != null) {
sqlScript.addAll(script);
}
});
scriptText = "";
if (!sqlScript.isEmpty()) {
scriptText = SQLUtils.generateScript(viewer.getDataSource(), sqlScript.toArray(new DBEPersistAction[0]), false);
scriptText = SQLUtils.generateCommentLine(viewer.getDataSource(), "Auto-generated SQL script #" + new SimpleDateFormat(GeneralUtils.DEFAULT_TIMESTAMP_PATTERN).format(new Date())) + scriptText;
UIServiceSQL serviceSQL = DBWorkbench.getService(UIServiceSQL.class);
if (serviceSQL != null) {
serviceSQL.setSQLPanelText(sqlPanel, scriptText);
}
}
} catch (Exception e) {
DBWorkbench.getPlatformUI().showError("Can't generate SQL script", "Error generating SQL script from data changes", e);
}
}
use of org.jkiss.dbeaver.runtime.ui.UIServiceSQL in project dbeaver by serge-rider.
the class SavePreviewDialog method populateSQL.
private void populateSQL() {
try {
final List<DBEPersistAction> sqlScript = new ArrayList<>();
UIUtils.runInProgressService(monitor -> {
List<DBEPersistAction> script = viewer.generateChangesScript(monitor, saveSettings);
if (script != null) {
sqlScript.addAll(script);
}
});
String scriptText = "";
if (!sqlScript.isEmpty()) {
scriptText = SQLUtils.generateScript(viewer.getDataSource(), sqlScript.toArray(new DBEPersistAction[0]), false);
scriptText = SQLUtils.generateCommentLine(viewer.getDataSource(), "Auto-generated SQL script. Actual values for binary/complex data types may differ - what you see is the default string representation of values.") + scriptText;
UIServiceSQL serviceSQL = DBWorkbench.getService(UIServiceSQL.class);
if (serviceSQL != null) {
serviceSQL.setSQLPanelText(sqlPanel, scriptText);
}
}
} catch (Exception e) {
DBWorkbench.getPlatformUI().showError("Can't generalte SQL script", "Error generating SQL script from changes", e);
}
}
use of org.jkiss.dbeaver.runtime.ui.UIServiceSQL in project dbeaver by serge-rider.
the class PostgreFDWConfigWizardPageFinal method generateScript.
private void generateScript() {
StringBuilder script = new StringBuilder();
try {
PostgreDataSource dataSource = getWizard().getDatabase().getDataSource();
getWizard().getRunnableContext().run(true, true, monitor -> {
try {
DBExecUtils.tryExecuteRecover(monitor, dataSource, param -> {
try {
monitor.beginTask("Generate FDW script", 2);
monitor.subTask("Read actions");
List<DBEPersistAction> actions = getWizard().generateScript(monitor);
monitor.subTask("Generate script");
script.append(SQLUtils.generateScript(dataSource, actions.toArray(new DBEPersistAction[0]), false));
monitor.done();
} catch (DBException e) {
throw new InvocationTargetException(e);
}
});
} catch (DBException e) {
throw new InvocationTargetException(e);
}
});
} catch (InvocationTargetException e) {
log.debug(e.getTargetException());
setErrorMessage(e.getTargetException().getMessage());
return;
} catch (InterruptedException e) {
return;
}
setErrorMessage(null);
scriptText = script.toString();
UIServiceSQL service = DBWorkbench.getService(UIServiceSQL.class);
if (service != null) {
service.setSQLPanelText(sqlPanel, scriptText);
}
}
use of org.jkiss.dbeaver.runtime.ui.UIServiceSQL in project dbeaver by serge-rider.
the class DashboardItemConfigDialog method createDialogArea.
@Override
protected Composite createDialogArea(Composite parent) {
Composite composite = super.createDialogArea(parent);
{
Group infoGroup = UIUtils.createControlGroup(composite, UIDashboardMessages.dialog_dashboard_item_config_dashboardinfo, 4, GridData.FILL_HORIZONTAL, 0);
// UIUtils.createLabelText(infoGroup, "ID", dashboardConfig.getDashboardDescriptor().getId(), SWT.BORDER | SWT.READ_ONLY);
UIUtils.createLabelText(infoGroup, UIDashboardMessages.dialog_dashboard_item_config_dashboardinfo_labels_name, dashboardConfig.getDashboardDescriptor().getName(), SWT.BORDER | SWT.READ_ONLY).setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, true, false, 3, 1));
UIUtils.createControlLabel(infoGroup, UIDashboardMessages.dialog_dashboard_item_config_dashboardinfo_labels_description).setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
Text descriptionText = new Text(infoGroup, SWT.BORDER | SWT.MULTI | SWT.WRAP | SWT.V_SCROLL);
descriptionText.setText(CommonUtils.notEmpty(dashboardConfig.getDescription()));
descriptionText.addModifyListener(e -> {
dashboardConfig.setDescription(descriptionText.getText());
});
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
gd.widthHint = 200;
gd.heightHint = 50;
descriptionText.setLayoutData(gd);
if (SHOW_QUERIES_BUTTON) {
Composite btnGroup = UIUtils.createComposite(infoGroup, 1);
btnGroup.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, true, false, 4, 1));
Button queriesButton = new Button(btnGroup, SWT.PUSH);
queriesButton.setText(UIDashboardMessages.dialog_dashboard_item_config_buttons_sqlqueries);
queriesButton.setImage(DBeaverIcons.getImage(UIIcon.SQL_SCRIPT));
queriesButton.setLayoutData(new GridData(GridData.END, GridData.BEGINNING, true, false));
queriesButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
StringBuilder sql = new StringBuilder();
for (DashboardDescriptor.QueryMapping query : dashboardConfig.getDashboardDescriptor().getQueries()) {
sql.append(query.getQueryText()).append(";\n");
}
UIServiceSQL serviceSQL = DBWorkbench.getService(UIServiceSQL.class);
if (serviceSQL != null) {
serviceSQL.openSQLViewer(DBUtils.getDefaultContext(dashboardContainer.getDataSourceContainer().getDataSource(), true), UIDashboardMessages.dialog_dashboard_item_config_buttons_sqlqueries_dash, UIIcon.SQL_SCRIPT, sql.toString(), false, false);
}
}
});
queriesButton.setEnabled(dashboardContainer.getDataSourceContainer().isConnected());
}
}
{
Group updateGroup = UIUtils.createControlGroup(composite, UIDashboardMessages.dialog_dashboard_item_config_dashboardupdate, 2, GridData.FILL_HORIZONTAL, 0);
Text updatePeriodText = UIUtils.createLabelText(updateGroup, UIDashboardMessages.dialog_dashboard_item_config_dashboardupdate_labels_updateperiod, String.valueOf(dashboardConfig.getUpdatePeriod()), SWT.BORDER, new GridData(GridData.FILL_HORIZONTAL));
updatePeriodText.addModifyListener(e -> {
dashboardConfig.setUpdatePeriod(CommonUtils.toLong(updatePeriodText.getText(), dashboardConfig.getUpdatePeriod()));
});
Text maxItemsText = UIUtils.createLabelText(updateGroup, UIDashboardMessages.dialog_dashboard_item_config_dashboardupdate_labels_maxitems, String.valueOf(dashboardConfig.getMaxItems()), SWT.BORDER, new GridData(GridData.FILL_HORIZONTAL));
maxItemsText.addModifyListener(e -> {
dashboardConfig.setMaxItems(CommonUtils.toInt(maxItemsText.getText(), dashboardConfig.getMaxItems()));
});
/*
Text maxAgeText = UIUtils.createLabelText(updateGroup, "Maximum age (ISO-8601)", DashboardUtils.formatDuration(dashboardConfig.getMaxAge()), SWT.BORDER, new GridData(GridData.FILL_HORIZONTAL));
maxAgeText.addModifyListener(e -> {
dashboardConfig.setMaxAge(DashboardUtils.parseDuration(maxAgeText.getText(), dashboardConfig.getMaxAge()));
});
*/
}
{
Group viewGroup = UIUtils.createControlGroup(composite, UIDashboardMessages.dialog_dashboard_item_config_dashboardview, 2, GridData.FILL_HORIZONTAL, 0);
Combo typeCombo = UIUtils.createLabelCombo(viewGroup, UIDashboardMessages.dialog_dashboard_item_config_dashboardview_combos_view, UIDashboardMessages.dialog_dashboard_item_config_dashboardview_combos_view_tooltip, SWT.BORDER | SWT.READ_ONLY);
typeCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
{
List<DashboardViewType> viewTypes = DashboardRegistry.getInstance().getSupportedViewTypes(dashboardConfig.getDashboardDescriptor().getDataType());
for (DashboardViewType viewType : viewTypes) {
typeCombo.add(viewType.getTitle());
}
typeCombo.setText(dashboardConfig.getViewType().getTitle());
typeCombo.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
dashboardConfig.setViewType(viewTypes.get(typeCombo.getSelectionIndex()));
}
});
}
UIUtils.createCheckbox(viewGroup, UIDashboardMessages.dialog_dashboard_item_config_dashboardview_checkboxes_legend, UIDashboardMessages.dialog_dashboard_item_config_dashboardview_checkboxes_legend_tooltip, dashboardConfig.isLegendVisible(), 2).addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
dashboardConfig.setLegendVisible(((Button) e.widget).getSelection());
}
});
UIUtils.createCheckbox(viewGroup, UIDashboardMessages.dialog_dashboard_item_config_dashboardview_checkboxes_grid, UIDashboardMessages.dialog_dashboard_item_config_dashboardview_checkboxes_grid_tooltip, dashboardConfig.isGridVisible(), 2).addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
dashboardConfig.setGridVisible(((Button) e.widget).getSelection());
}
});
UIUtils.createCheckbox(viewGroup, UIDashboardMessages.dialog_dashboard_item_config_dashboardview_checkboxes_domainaxis, UIDashboardMessages.dialog_dashboard_item_config_dashboardview_checkboxes_domainaxis_tooltip, dashboardConfig.isDomainTicksVisible(), 2).addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
dashboardConfig.setDomainTicksVisible(((Button) e.widget).getSelection());
}
});
UIUtils.createCheckbox(viewGroup, UIDashboardMessages.dialog_dashboard_item_config_dashboardview_checkboxes_rangeaxis, UIDashboardMessages.dialog_dashboard_item_config_dashboardview_checkboxes_rangeaxis_tooltip, dashboardConfig.isDomainTicksVisible(), 2).addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
dashboardConfig.setRangeTicksVisible(((Button) e.widget).getSelection());
}
});
/*
Text widthRatioText = UIUtils.createLabelText(viewGroup, "Width ratio", String.valueOf(dashboardConfig.getWidthRatio()), SWT.BORDER, new GridData(GridData.FILL_HORIZONTAL));
widthRatioText.addModifyListener(e -> {
dashboardConfig.setWidthRatio((float) CommonUtils.toDouble(widthRatioText.getText(), dashboardConfig.getWidthRatio()));
});
*/
}
return parent;
}
use of org.jkiss.dbeaver.runtime.ui.UIServiceSQL in project dbeaver by dbeaver.
the class ResultSetFilterPanel method openEditorForActiveQuery.
private void openEditorForActiveQuery() {
DBSDataContainer dataContainer = viewer.getDataContainer();
String editorName;
if (dataContainer instanceof DBSEntity) {
editorName = dataContainer.getName();
} else {
editorName = "Query";
}
UIServiceSQL serviceSQL = DBWorkbench.getService(UIServiceSQL.class);
if (serviceSQL != null) {
serviceSQL.openSQLConsole(dataContainer == null || dataContainer.getDataSource() == null ? null : dataContainer.getDataSource().getContainer(), viewer.getExecutionContext(), editorName, viewer.getActiveQueryText());
}
}
Aggregations