use of org.jkiss.dbeaver.model.connection.DBPDataSourceProviderDescriptor in project dbeaver by serge-rider.
the class SQLTemplateStore method readContributedTemplates.
private Collection<TemplatePersistenceData> readContributedTemplates() throws IOException {
Collection<TemplatePersistenceData> templates = new ArrayList<>();
readIncludedTemplates(SQLEditorActivator.PLUGIN_ID, templates, "templates/default-templates.xml", "$nl$/templates/default-templates.properties");
// Read templates for DS providers
for (DBPDataSourceProviderDescriptor provider : DBWorkbench.getPlatform().getDataSourceProviderRegistry().getDataSourceProviders()) {
readIncludedTemplates(provider.getPluginId(), templates, "templates/" + provider.getId() + "-templates.xml", "$nl$/templates/" + provider.getId() + "-templates.properties");
}
return templates;
}
use of org.jkiss.dbeaver.model.connection.DBPDataSourceProviderDescriptor in project dbeaver by serge-rider.
the class DashboardManagerDialog method createDialogArea.
@Override
protected Composite createDialogArea(Composite parent) {
getShell().setMinimumSize(300, 300);
Composite dialogArea = super.createDialogArea(parent);
Composite group = UIUtils.createPlaceholder(dialogArea, 2);
group.setLayoutData(new GridData(GridData.FILL_BOTH));
{
treeViewer = new TreeViewer(group, SWT.BORDER);
GridData gd = new GridData(GridData.FILL_BOTH);
gd.heightHint = 300;
gd.widthHint = 300;
treeViewer.getControl().setLayoutData(gd);
treeViewer.getTree().setHeaderVisible(true);
UIUtils.createTreeColumn(treeViewer.getTree(), SWT.LEFT, UIDashboardMessages.dialog_dashboard_manager_treecolumn_name);
// UIUtils.createTreeColumn(treeViewer.getTree(), SWT.LEFT, "Description");
treeViewer.setContentProvider(new TreeContentProvider() {
@Override
public Object[] getChildren(Object parentElement) {
List<? extends DBPNamedObject> result = null;
if (parentElement instanceof List) {
result = (List) parentElement;
} else if (parentElement instanceof DBPDataSourceProviderDescriptor) {
result = DashboardRegistry.getInstance().getDashboards((DBPDataSourceProviderDescriptor) parentElement, false);
} else if (parentElement instanceof DBPDriver) {
result = DashboardRegistry.getInstance().getDashboards((DBPDriver) parentElement, false);
}
if (result == null) {
return new Object[0];
}
result.sort(DBUtils.nameComparator());
return result.toArray();
}
@Override
public boolean hasChildren(Object element) {
if (element instanceof DashboardDescriptor) {
return false;
}
return true;
}
});
treeViewer.setLabelProvider(new CellLabelProvider() {
@Override
public void update(ViewerCell cell) {
DBPNamedObject element = (DBPNamedObject) cell.getElement();
if (cell.getColumnIndex() == 0) {
cell.setText(element.getName());
if (element instanceof DBPDriver) {
cell.setImage(DBeaverIcons.getImage(((DBPDriver) element).getIcon()));
} else if (element instanceof DBPDataSourceProviderDescriptor) {
cell.setImage(DBeaverIcons.getImage(((DBPDataSourceProviderDescriptor) element).getIcon()));
} else if (element instanceof DashboardDescriptor) {
DashboardDescriptor dashboardDescriptor = (DashboardDescriptor) element;
DBPImage icon;
if (dashboardDescriptor.isCustom()) {
icon = DBIcon.TYPE_OBJECT;
} else {
icon = dashboardDescriptor.getDefaultViewType().getIcon();
}
if (icon != null) {
cell.setImage(DBeaverIcons.getImage(icon));
}
}
} else {
if (element instanceof DBPDriver) {
cell.setText(CommonUtils.notEmpty(((DBPDriver) element).getDescription()));
} else if (element instanceof DBPDataSourceProviderDescriptor) {
cell.setText(((DBPDataSourceProviderDescriptor) element).getDescription());
}
}
}
});
treeViewer.setInput(DashboardRegistry.getInstance().getAllSupportedSources());
treeViewer.addDoubleClickListener(event -> {
if (selectedDashboard != null) {
editDashboard();
}
});
treeViewer.addSelectionChangedListener(event -> {
this.selectedDashboard = null;
ISelection selection = event.getSelection();
if (selection instanceof IStructuredSelection) {
Object selectedObject = ((IStructuredSelection) selection).getFirstElement();
if (selectedObject instanceof DashboardDescriptor) {
this.selectedDashboard = (DashboardDescriptor) selectedObject;
}
}
this.updateButtons();
});
UIUtils.asyncExec(() -> {
treeViewer.expandAll();
UIUtils.packColumns(treeViewer.getTree(), true, null);
});
}
{
Composite buttonBar = new Composite(group, SWT.TOP);
buttonBar.setLayout(new GridLayout(1, false));
GridData gd = new GridData(GridData.FILL_VERTICAL);
buttonBar.setLayoutData(gd);
newButton = UIUtils.createPushButton(buttonBar, UIDashboardMessages.dialog_dashboard_manager_button_new, null, new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
createDashboard();
}
});
newButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
copyButton = UIUtils.createPushButton(buttonBar, UIDashboardMessages.dialog_dashboard_manager_button_copy, null, new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
copyDashboard();
}
});
copyButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
editButton = UIUtils.createPushButton(buttonBar, UIDashboardMessages.dialog_dashboard_manager_button_edit, null, new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
editDashboard();
}
});
editButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
deleteButton = UIUtils.createPushButton(buttonBar, UIDashboardMessages.dialog_dashboard_manager_button_delete, null, new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
deleteDashboard();
}
});
deleteButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
}
UIUtils.createInfoLabel(dialogArea, UIDashboardMessages.dialog_dashboard_manager_infolabel_predifined_dashboard);
this.updateButtons();
return group;
}
use of org.jkiss.dbeaver.model.connection.DBPDataSourceProviderDescriptor in project dbeaver by serge-rider.
the class DashboardDescriptor method getSupportedSources.
public List<DBPNamedObject> getSupportedSources() {
DBPPlatform platform = DBWorkbench.getPlatform();
List<DBPNamedObject> results = new ArrayList<>();
for (DataSourceMapping dsm : dataSourceMappings) {
if (dsm.dataSourceProvider != null) {
DBPDataSourceProviderDescriptor provider = platform.getDataSourceProviderRegistry().getDataSourceProvider(dsm.dataSourceProvider);
if (provider != null) {
results.add(provider);
}
} else if (dsm.driverId != null) {
DBPDriver driver = platform.getDataSourceProviderRegistry().findDriver(dsm.driverId);
if (driver != null) {
results.add(driver);
}
}
}
return results;
}
use of org.jkiss.dbeaver.model.connection.DBPDataSourceProviderDescriptor in project dbeaver by serge-rider.
the class DashboardDatabaseSelectDialog method createDialogArea.
@Override
protected Composite createDialogArea(Composite parent) {
Composite dialogArea = super.createDialogArea(parent);
{
treeViewer = DialogUtils.createFilteredTree(dialogArea, SWT.BORDER, new NamedObjectPatternFilter(), null);
GridData gd = new GridData(GridData.FILL_BOTH);
gd.heightHint = 300;
gd.widthHint = 300;
treeViewer.getControl().setLayoutData(gd);
treeViewer.getTree().setHeaderVisible(true);
UIUtils.createTreeColumn(treeViewer.getTree(), SWT.LEFT, UIDashboardMessages.dialog_dashboard_database_select_column_name);
UIUtils.createTreeColumn(treeViewer.getTree(), SWT.LEFT, UIDashboardMessages.dialog_dashboard_database_select_column_description);
treeViewer.setContentProvider(new TreeContentProvider() {
@Override
public Object[] getChildren(Object parentElement) {
List<? extends DBPNamedObject> result = null;
if (parentElement instanceof List) {
result = (List) parentElement;
} else if (parentElement instanceof DBPDataSourceProviderDescriptor) {
result = ((DBPDataSourceProviderDescriptor) parentElement).getEnabledDrivers();
if (result.size() <= 1) {
result = null;
}
}
if (result == null) {
return new Object[0];
}
result.sort(DBUtils.nameComparator());
return result.toArray();
}
@Override
public boolean hasChildren(Object element) {
if (element instanceof DBPDriver) {
return false;
}
return ((DBPDataSourceProviderDescriptor) element).getEnabledDrivers().size() > 1;
}
});
treeViewer.setLabelProvider(new CellLabelProvider() {
@Override
public void update(ViewerCell cell) {
DBPNamedObject element = (DBPNamedObject) cell.getElement();
if (cell.getColumnIndex() == 0) {
cell.setText(element.getName());
DBPImage icon = null;
if (element instanceof DBPDriver) {
icon = ((DBPDriver) element).getIcon();
} else if (element instanceof DBPDataSourceProviderDescriptor) {
icon = ((DBPDataSourceProviderDescriptor) element).getIcon();
}
if (icon != null) {
cell.setImage(DBeaverIcons.getImage(icon));
}
} else {
if (element instanceof DBPDriver) {
cell.setText(CommonUtils.notEmpty(((DBPDriver) element).getDescription()));
} else if (element instanceof DBPDataSourceProviderDescriptor) {
cell.setText(((DBPDataSourceProviderDescriptor) element).getDescription());
}
}
}
});
treeViewer.setInput(DBWorkbench.getPlatform().getDataSourceProviderRegistry().getDataSourceProviders());
treeViewer.addDoubleClickListener(event -> {
if (target != null) {
okPressed();
}
});
treeViewer.addSelectionChangedListener(event -> {
this.target = null;
ISelection selection = event.getSelection();
if (selection instanceof IStructuredSelection) {
Object selectedObject = ((IStructuredSelection) selection).getFirstElement();
if (selectedObject instanceof DBPNamedObject) {
this.target = (DBPNamedObject) selectedObject;
}
}
this.updateButtons();
});
UIUtils.asyncExec(() -> {
treeViewer.expandAll();
UIUtils.packColumns(treeViewer.getTree(), true, null);
});
}
return dialogArea;
}
use of org.jkiss.dbeaver.model.connection.DBPDataSourceProviderDescriptor in project dbeaver by serge-rider.
the class DriverManagerDialog method undeleteDrivers.
private boolean undeleteDrivers() {
List<DriverDescriptor> drivers = new ArrayList<>();
BaseDialog dialog = new BaseDialog(getShell(), "Restore deleted driver(s)", null) {
@Override
protected Composite createDialogArea(Composite parent) {
final Composite composite = super.createDialogArea(parent);
Table driverTable = new Table(composite, SWT.CHECK | SWT.FULL_SELECTION | SWT.BORDER);
driverTable.setLayoutData(new GridData(GridData.FILL_BOTH));
for (DBPDataSourceProviderDescriptor dspd : DataSourceProviderRegistry.getInstance().getEnabledDataSourceProviders()) {
for (DBPDriver dd : dspd.getDrivers()) {
if (dd.isDisabled()) {
TableItem item = new TableItem(driverTable, SWT.NONE);
item.setImage(DBeaverIcons.getImage(dd.getIcon()));
item.setText(dd.getName());
item.setData(dd);
}
}
}
driverTable.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
if (((TableItem) e.item).getChecked()) {
drivers.add((DriverDescriptor) e.item.getData());
} else {
drivers.remove((DriverDescriptor) e.item.getData());
}
}
});
return super.createDialogArea(parent);
}
};
if (dialog.open() == IDialogConstants.OK_ID) {
for (DriverDescriptor dd : drivers) {
dd.setDisabled(false);
dd.getProviderDescriptor().getRegistry().saveDrivers();
}
return true;
}
return false;
}
Aggregations