Search in sources :

Example 16 with DBPDataSourceProviderDescriptor

use of org.jkiss.dbeaver.model.connection.DBPDataSourceProviderDescriptor in project dbeaver by dbeaver.

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;
}
Also used : DBWorkbench(org.jkiss.dbeaver.runtime.DBWorkbench) TreeContentProvider(org.jkiss.dbeaver.ui.controls.TreeContentProvider) CommonUtils(org.jkiss.utils.CommonUtils) Shell(org.eclipse.swt.widgets.Shell) UIDashboardMessages(org.jkiss.dbeaver.ui.dashboard.internal.UIDashboardMessages) DBUtils(org.jkiss.dbeaver.model.DBUtils) UIDashboardActivator(org.jkiss.dbeaver.ui.dashboard.internal.UIDashboardActivator) IDialogConstants(org.eclipse.jface.dialogs.IDialogConstants) IDialogSettings(org.eclipse.jface.dialogs.IDialogSettings) DBPImage(org.jkiss.dbeaver.model.DBPImage) org.eclipse.jface.viewers(org.eclipse.jface.viewers) BaseDialog(org.jkiss.dbeaver.ui.dialogs.BaseDialog) List(java.util.List) DBeaverIcons(org.jkiss.dbeaver.ui.DBeaverIcons) DBPDriver(org.jkiss.dbeaver.model.connection.DBPDriver) DBPDataSourceProviderDescriptor(org.jkiss.dbeaver.model.connection.DBPDataSourceProviderDescriptor) Composite(org.eclipse.swt.widgets.Composite) UIUtils(org.jkiss.dbeaver.ui.UIUtils) SWT(org.eclipse.swt.SWT) DialogUtils(org.jkiss.dbeaver.ui.dialogs.DialogUtils) GridData(org.eclipse.swt.layout.GridData) Control(org.eclipse.swt.widgets.Control) DBPNamedObject(org.jkiss.dbeaver.model.DBPNamedObject) NamedObjectPatternFilter(org.jkiss.dbeaver.ui.controls.NamedObjectPatternFilter) DBPNamedObject(org.jkiss.dbeaver.model.DBPNamedObject) Composite(org.eclipse.swt.widgets.Composite) NamedObjectPatternFilter(org.jkiss.dbeaver.ui.controls.NamedObjectPatternFilter) DBPImage(org.jkiss.dbeaver.model.DBPImage) TreeContentProvider(org.jkiss.dbeaver.ui.controls.TreeContentProvider) DBPDriver(org.jkiss.dbeaver.model.connection.DBPDriver) GridData(org.eclipse.swt.layout.GridData) DBPNamedObject(org.jkiss.dbeaver.model.DBPNamedObject) List(java.util.List) DBPDataSourceProviderDescriptor(org.jkiss.dbeaver.model.connection.DBPDataSourceProviderDescriptor)

Example 17 with DBPDataSourceProviderDescriptor

use of org.jkiss.dbeaver.model.connection.DBPDataSourceProviderDescriptor in project dbeaver by dbeaver.

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;
}
Also used : UIDashboardMessages(org.jkiss.dbeaver.ui.dashboard.internal.UIDashboardMessages) UIDashboardActivator(org.jkiss.dbeaver.ui.dashboard.internal.UIDashboardActivator) IDialogConstants(org.eclipse.jface.dialogs.IDialogConstants) IDialogSettings(org.eclipse.jface.dialogs.IDialogSettings) DBPImage(org.jkiss.dbeaver.model.DBPImage) BaseDialog(org.jkiss.dbeaver.ui.dialogs.BaseDialog) DBeaverIcons(org.jkiss.dbeaver.ui.DBeaverIcons) DBPDriver(org.jkiss.dbeaver.model.connection.DBPDriver) Composite(org.eclipse.swt.widgets.Composite) UIUtils(org.jkiss.dbeaver.ui.UIUtils) GridData(org.eclipse.swt.layout.GridData) TreeContentProvider(org.jkiss.dbeaver.ui.controls.TreeContentProvider) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) DashboardRegistry(org.jkiss.dbeaver.ui.dashboard.registry.DashboardRegistry) CommonUtils(org.jkiss.utils.CommonUtils) Shell(org.eclipse.swt.widgets.Shell) Button(org.eclipse.swt.widgets.Button) NLS(org.eclipse.osgi.util.NLS) DBUtils(org.jkiss.dbeaver.model.DBUtils) org.eclipse.jface.viewers(org.eclipse.jface.viewers) List(java.util.List) DBIcon(org.jkiss.dbeaver.model.DBIcon) DBPDataSourceProviderDescriptor(org.jkiss.dbeaver.model.connection.DBPDataSourceProviderDescriptor) DashboardDescriptor(org.jkiss.dbeaver.ui.dashboard.registry.DashboardDescriptor) SWT(org.eclipse.swt.SWT) SelectionEvent(org.eclipse.swt.events.SelectionEvent) DBPNamedObject(org.jkiss.dbeaver.model.DBPNamedObject) GridLayout(org.eclipse.swt.layout.GridLayout) DBPNamedObject(org.jkiss.dbeaver.model.DBPNamedObject) Composite(org.eclipse.swt.widgets.Composite) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) DBPImage(org.jkiss.dbeaver.model.DBPImage) TreeContentProvider(org.jkiss.dbeaver.ui.controls.TreeContentProvider) GridLayout(org.eclipse.swt.layout.GridLayout) DashboardDescriptor(org.jkiss.dbeaver.ui.dashboard.registry.DashboardDescriptor) DBPDriver(org.jkiss.dbeaver.model.connection.DBPDriver) GridData(org.eclipse.swt.layout.GridData) SelectionEvent(org.eclipse.swt.events.SelectionEvent) DBPNamedObject(org.jkiss.dbeaver.model.DBPNamedObject) List(java.util.List) DBPDataSourceProviderDescriptor(org.jkiss.dbeaver.model.connection.DBPDataSourceProviderDescriptor)

Example 18 with DBPDataSourceProviderDescriptor

use of org.jkiss.dbeaver.model.connection.DBPDataSourceProviderDescriptor in project dbeaver by dbeaver.

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;
}
Also used : DBPNamedObject(org.jkiss.dbeaver.model.DBPNamedObject) DBPDriver(org.jkiss.dbeaver.model.connection.DBPDriver) ArrayList(java.util.ArrayList) DBPPlatform(org.jkiss.dbeaver.model.app.DBPPlatform) DBPDataSourceProviderDescriptor(org.jkiss.dbeaver.model.connection.DBPDataSourceProviderDescriptor)

Example 19 with DBPDataSourceProviderDescriptor

use of org.jkiss.dbeaver.model.connection.DBPDataSourceProviderDescriptor in project dbeaver by dbeaver.

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;
}
Also used : TemplatePersistenceData(org.eclipse.jface.text.templates.persistence.TemplatePersistenceData) ArrayList(java.util.ArrayList) DBPDataSourceProviderDescriptor(org.jkiss.dbeaver.model.connection.DBPDataSourceProviderDescriptor)

Example 20 with DBPDataSourceProviderDescriptor

use of org.jkiss.dbeaver.model.connection.DBPDataSourceProviderDescriptor in project dbeaver by dbeaver.

the class DriverManagerDialog method createDialogArea.

@Override
protected Control createDialogArea(Composite parent) {
    List<DBPDataSourceProviderDescriptor> enabledProviders = DataSourceProviderRegistry.getInstance().getEnabledDataSourceProviders();
    {
        DBPDataSourceProviderDescriptor manProvider = null;
        for (DBPDataSourceProviderDescriptor provider : DataSourceProviderRegistry.getInstance().getEnabledDataSourceProviders()) {
            if (provider.isDriversManagable()) {
                if (manProvider != null) {
                    manProvider = null;
                    break;
                }
                manProvider = provider;
            }
        }
        if (manProvider != null) {
            onlyManagableProvider = (DataSourceProviderDescriptor) manProvider;
        }
    }
    getShell().setText(UIConnectionMessages.dialog_driver_manager_title);
    getShell().setMinimumSize(300, 300);
    dialogImage = DBeaverIcons.getImageDescriptor(UIIcon.DRIVER_MANAGER);
    getShell().setImage(dialogImage.createImage());
    Composite group = UIUtils.createPlaceholder((Composite) super.createDialogArea(parent), 2);
    group.setLayoutData(new GridData(GridData.FILL_BOTH));
    {
        treeControl = new DriverSelectViewer(group, this, enabledProviders, false, true);
        GridData gd = new GridData(GridData.FILL_BOTH);
        gd.heightHint = 300;
        gd.widthHint = 300;
        treeControl.getControl().setLayoutData(gd);
    }
    {
        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, UIConnectionMessages.dialog_driver_manager_button_new, null, new SelectionAdapter() {

            @Override
            public void widgetSelected(SelectionEvent e) {
                createDriver();
            }
        });
        newButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        copyButton = UIUtils.createPushButton(buttonBar, UIConnectionMessages.dialog_driver_manager_button_copy, null, new SelectionAdapter() {

            @Override
            public void widgetSelected(SelectionEvent e) {
                copyDriver();
            }
        });
        copyButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        editButton = UIUtils.createPushButton(buttonBar, UIConnectionMessages.dialog_driver_manager_button_edit, null, new SelectionAdapter() {

            @Override
            public void widgetSelected(SelectionEvent e) {
                editDriver();
            }
        });
        editButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        deleteButton = UIUtils.createPushButton(buttonBar, UIConnectionMessages.dialog_driver_manager_button_delete, null, new SelectionAdapter() {

            @Override
            public void widgetSelected(SelectionEvent e) {
                deleteDriver();
            }
        });
        deleteButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        Button unDeleteButton = UIUtils.createPushButton(buttonBar, "Un-delete", null, new SelectionAdapter() {

            @Override
            public void widgetSelected(SelectionEvent e) {
                if (undeleteDrivers()) {
                    treeControl.refresh();
                }
            }
        });
        unDeleteButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
        {
            final Composite legend = UIUtils.createPlaceholder(buttonBar, 2, 5);
            gd = new GridData(GridData.FILL_HORIZONTAL);
            gd.verticalIndent = 5;
            gd.horizontalSpan = 2;
            legend.setLayoutData(gd);
            UIUtils.createLabel(legend, DBIcon.OVER_LAMP);
            UIUtils.createLabel(legend, UIConnectionMessages.dialog_driver_manager_label_user_defined);
            UIUtils.createLabel(legend, DBIcon.OVER_ERROR);
            UIUtils.createLabel(legend, UIConnectionMessages.dialog_driver_manager_label_unavailable);
        }
        if (SHOW_EXPORT) {
            UIUtils.createPushButton(buttonBar, "Export", null, new SelectionAdapter() {

                @Override
                public void widgetSelected(SelectionEvent e) {
                    exportDriverList();
                }
            });
        }
    }
    descText = new Text(group, SWT.READ_ONLY);
    GridData gd = new GridData(GridData.FILL_HORIZONTAL);
    gd.verticalIndent = 5;
    gd.horizontalSpan = 2;
    gd.grabExcessHorizontalSpace = true;
    descText.setLayoutData(gd);
    /*
        monitorPart = new ProgressMonitorPart(group, null, true);
        GridData gd = new GridData(GridData.FILL_HORIZONTAL);
        gd.verticalIndent = 5;
        gd.horizontalSpan = 2;
        gd.grabExcessHorizontalSpace = true;
        monitorPart.setLayoutData(gd);
        monitorPart.setVisible(false);
*/
    setDefaultSelection();
    this.updateButtons();
    return group;
}
Also used : GridLayout(org.eclipse.swt.layout.GridLayout) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) GridData(org.eclipse.swt.layout.GridData) SelectionEvent(org.eclipse.swt.events.SelectionEvent) DataSourceProviderDescriptor(org.jkiss.dbeaver.registry.DataSourceProviderDescriptor) DBPDataSourceProviderDescriptor(org.jkiss.dbeaver.model.connection.DBPDataSourceProviderDescriptor) DBPDataSourceProviderDescriptor(org.jkiss.dbeaver.model.connection.DBPDataSourceProviderDescriptor)

Aggregations

DBPDataSourceProviderDescriptor (org.jkiss.dbeaver.model.connection.DBPDataSourceProviderDescriptor)22 DBPDriver (org.jkiss.dbeaver.model.connection.DBPDriver)14 GridData (org.eclipse.swt.layout.GridData)10 ArrayList (java.util.ArrayList)8 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)6 SelectionEvent (org.eclipse.swt.events.SelectionEvent)6 DBPNamedObject (org.jkiss.dbeaver.model.DBPNamedObject)6 BaseDialog (org.jkiss.dbeaver.ui.dialogs.BaseDialog)6 List (java.util.List)4 IDialogConstants (org.eclipse.jface.dialogs.IDialogConstants)4 IDialogSettings (org.eclipse.jface.dialogs.IDialogSettings)4 org.eclipse.jface.viewers (org.eclipse.jface.viewers)4 SWT (org.eclipse.swt.SWT)4 GridLayout (org.eclipse.swt.layout.GridLayout)4 Composite (org.eclipse.swt.widgets.Composite)4 Shell (org.eclipse.swt.widgets.Shell)4 DBPImage (org.jkiss.dbeaver.model.DBPImage)4 DBUtils (org.jkiss.dbeaver.model.DBUtils)4 DataSourceProviderDescriptor (org.jkiss.dbeaver.registry.DataSourceProviderDescriptor)4 DriverDescriptor (org.jkiss.dbeaver.registry.driver.DriverDescriptor)4