提交 5d056d74 编写于 作者: J jurgen

Remove JFace from model

Former-commit-id: 94a3e477
上级 d8735c11
......@@ -19,7 +19,6 @@ package org.jkiss.dbeaver.core;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Status;
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
import org.eclipse.jface.operation.IRunnableContext;
......@@ -30,13 +29,16 @@ import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import org.jkiss.dbeaver.model.runtime.DBRRunnableContext;
import org.jkiss.dbeaver.model.runtime.DBRRunnableWithProgress;
import org.jkiss.dbeaver.ui.AbstractUIJob;
import org.jkiss.dbeaver.runtime.RunnableContextDelegate;
import org.jkiss.dbeaver.runtime.RuntimeUtils;
import org.jkiss.dbeaver.runtime.VoidProgressMonitor;
import org.jkiss.dbeaver.ui.AbstractUIJob;
import org.jkiss.dbeaver.ui.SharedTextColors;
import org.jkiss.dbeaver.ui.TrayIconHandler;
import org.jkiss.dbeaver.DBeaverPreferences;
import org.osgi.framework.Bundle;
import java.lang.reflect.InvocationTargetException;
......@@ -175,17 +177,17 @@ public class DBeaverUI {
}
*/
public static IRunnableContext getDefaultRunnableContext()
public static DBRRunnableContext getDefaultRunnableContext()
{
IWorkbench workbench = PlatformUI.getWorkbench();
if (workbench != null && workbench.getActiveWorkbenchWindow() != null) {
return workbench.getActiveWorkbenchWindow();
return new RunnableContextDelegate(workbench.getActiveWorkbenchWindow());
} else {
return new IRunnableContext() {
return new DBRRunnableContext() {
@Override
public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException
public void run(boolean fork, boolean cancelable, DBRRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException
{
runnable.run(new NullProgressMonitor());
runnable.run(VoidProgressMonitor.INSTANCE);
}
};
}
......@@ -194,12 +196,12 @@ public class DBeaverUI {
public static void runInProgressService(final DBRRunnableWithProgress runnable)
throws InvocationTargetException, InterruptedException
{
getDefaultRunnableContext().run(true, true, new IRunnableWithProgress() {
getDefaultRunnableContext().run(true, true, new DBRRunnableWithProgress() {
@Override
public void run(IProgressMonitor monitor)
public void run(DBRProgressMonitor monitor)
throws InvocationTargetException, InterruptedException
{
runnable.run(RuntimeUtils.makeMonitor(monitor));
runnable.run(monitor);
}
});
}
......
......@@ -17,10 +17,10 @@
*/
package org.jkiss.dbeaver.model;
import org.eclipse.jface.operation.IRunnableContext;
import org.jkiss.code.NotNull;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import org.jkiss.dbeaver.model.runtime.DBRRunnableContext;
import org.jkiss.dbeaver.model.struct.DBSDataSourceContainer;
/**
......@@ -53,7 +53,7 @@ public interface DBPDataSourceProvider
* @throws DBException on any error
*/
DBPPropertyDescriptor[] getConnectionProperties(
IRunnableContext runnableContext,
DBRRunnableContext runnableContext,
DBPDriver driver,
DBPConnectionInfo connectionInfo)
throws DBException;
......
......@@ -18,9 +18,9 @@
package org.jkiss.dbeaver.model;
import org.eclipse.jface.operation.IRunnableContext;
import org.eclipse.swt.graphics.Image;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.model.runtime.DBRRunnableContext;
import java.util.Collection;
import java.util.Map;
......@@ -49,7 +49,7 @@ public interface DBPDriver extends DBPObject
String getDriverClassName();
Object getDriverInstance(IRunnableContext runnableContext) throws DBException;
Object getDriverInstance(DBRRunnableContext runnableContext) throws DBException;
String getDefaultPort();
......@@ -87,8 +87,8 @@ public interface DBPDriver extends DBPObject
Collection<? extends DBPDriverFile> getFiles();
void validateFilesPresence(IRunnableContext runnableContext);
void validateFilesPresence(DBRRunnableContext runnableContext);
void loadDriver(IRunnableContext runnableContext) throws DBException;
void loadDriver(DBRRunnableContext runnableContext) throws DBException;
}
......@@ -17,12 +17,12 @@
*/
package org.jkiss.dbeaver.model.impl.jdbc;
import org.eclipse.jface.operation.IRunnableContext;
import org.jkiss.code.NotNull;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.core.Log;
import org.jkiss.dbeaver.model.*;
import org.jkiss.dbeaver.model.runtime.DBRRunnableContext;
import org.jkiss.dbeaver.ui.properties.PropertyDescriptorEx;
import java.sql.Driver;
......@@ -50,7 +50,7 @@ public abstract class JDBCDataSourceProvider implements DBPDataSourceProvider {
@Override
public DBPPropertyDescriptor[] getConnectionProperties(
IRunnableContext runnableContext,
DBRRunnableContext runnableContext,
DBPDriver driver,
DBPConnectionInfo connectionInfo)
throws DBException {
......
......@@ -18,7 +18,6 @@
package org.jkiss.dbeaver.model.meta;
import org.eclipse.jface.viewers.ILabelProvider;
import org.jkiss.dbeaver.ui.properties.IPropertyValueListProvider;
import java.lang.annotation.ElementType;
......
......@@ -18,13 +18,10 @@
package org.jkiss.dbeaver.registry;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Platform;
import org.eclipse.jface.dialogs.ErrorDialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.operation.IRunnableContext;
import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.window.IShellProvider;
......@@ -40,6 +37,9 @@ import org.jkiss.dbeaver.core.DBeaverUI;
import org.jkiss.dbeaver.core.Log;
import org.jkiss.dbeaver.model.*;
import org.jkiss.dbeaver.model.meta.Property;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import org.jkiss.dbeaver.model.runtime.DBRRunnableContext;
import org.jkiss.dbeaver.model.runtime.DBRRunnableWithProgress;
import org.jkiss.dbeaver.runtime.RuntimeUtils;
import org.jkiss.dbeaver.ui.DBIcon;
import org.jkiss.dbeaver.ui.OverlayImageDescriptor;
......@@ -487,7 +487,7 @@ public class DriverDescriptor extends AbstractDescriptor implements DBPDriver
}
@Override
public Object getDriverInstance(IRunnableContext runnableContext)
public Object getDriverInstance(DBRRunnableContext runnableContext)
throws DBException
{
if (driverInstance == null) {
......@@ -801,13 +801,13 @@ public class DriverDescriptor extends AbstractDescriptor implements DBPDriver
}
@Override
public void loadDriver(IRunnableContext runnableContext)
public void loadDriver(DBRRunnableContext runnableContext)
throws DBException
{
this.loadDriver(runnableContext, false);
}
public void loadDriver(IRunnableContext runnableContext, boolean forceReload)
public void loadDriver(DBRRunnableContext runnableContext, boolean forceReload)
throws DBException
{
if (isLoaded && !forceReload) {
......@@ -850,7 +850,7 @@ public class DriverDescriptor extends AbstractDescriptor implements DBPDriver
}
}
private void loadLibraries(IRunnableContext runnableContext)
private void loadLibraries(DBRRunnableContext runnableContext)
throws DBException
{
this.classLoader = null;
......@@ -880,7 +880,7 @@ public class DriverDescriptor extends AbstractDescriptor implements DBPDriver
}
@Override
public void validateFilesPresence(final IRunnableContext runnableContext)
public void validateFilesPresence(final DBRRunnableContext runnableContext)
{
for (DriverFileDescriptor file : files) {
if (file.isCustom() && file.getFile().exists()) {
......@@ -935,7 +935,7 @@ public class DriverDescriptor extends AbstractDescriptor implements DBPDriver
}
}
private void downloadLibraryFiles(IRunnableContext runnableContext, final List<DriverFileDescriptor> files)
private void downloadLibraryFiles(DBRRunnableContext runnableContext, final List<DriverFileDescriptor> files)
{
if (!acceptDriverLicenses(runnableContext)) {
return;
......@@ -958,7 +958,7 @@ public class DriverDescriptor extends AbstractDescriptor implements DBPDriver
}
}
private boolean acceptDriverLicenses(IRunnableContext runnableContext)
private boolean acceptDriverLicenses(DBRRunnableContext runnableContext)
{
// User must accept all licenses before actual drivers download
for (final DriverFileDescriptor file : getFiles()) {
......@@ -966,9 +966,9 @@ public class DriverDescriptor extends AbstractDescriptor implements DBPDriver
final File libraryFile = file.getFile();
if (!libraryFile.exists()) {
try {
runnableContext.run(true, true, new IRunnableWithProgress() {
runnableContext.run(true, true, new DBRRunnableWithProgress() {
@Override
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException
public void run(DBRProgressMonitor monitor) throws InvocationTargetException, InterruptedException
{
try {
downloadLibraryFile(monitor, file);
......@@ -1008,12 +1008,12 @@ public class DriverDescriptor extends AbstractDescriptor implements DBPDriver
return false;
}
private int downloadLibraryFile(IRunnableContext runnableContext, final DriverFileDescriptor file)
private int downloadLibraryFile(DBRRunnableContext runnableContext, final DriverFileDescriptor file)
{
try {
runnableContext.run(true, true, new IRunnableWithProgress() {
runnableContext.run(true, true, new DBRRunnableWithProgress() {
@Override
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException
public void run(DBRProgressMonitor monitor) throws InvocationTargetException, InterruptedException
{
try {
downloadLibraryFile(monitor, file);
......@@ -1036,7 +1036,7 @@ public class DriverDescriptor extends AbstractDescriptor implements DBPDriver
}
}
private void downloadLibraryFile(IProgressMonitor monitor, DriverFileDescriptor file) throws IOException, InterruptedException
private void downloadLibraryFile(DBRProgressMonitor monitor, DriverFileDescriptor file) throws IOException, InterruptedException
{
IPreferenceStore prefs = DBeaverCore.getGlobalPreferenceStore();
String proxyHost = prefs.getString(DBeaverPreferences.UI_PROXY_HOST);
......
......@@ -15,17 +15,34 @@
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
package org.jkiss.dbeaver.runtime;
package org.jkiss.dbeaver.model.meta;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.operation.IRunnableContext;
import org.eclipse.jface.operation.IRunnableWithProgress;
import org.jkiss.dbeaver.model.runtime.DBRRunnableContext;
import org.jkiss.dbeaver.model.runtime.DBRRunnableWithProgress;
import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.swt.widgets.Composite;
import java.lang.reflect.InvocationTargetException;
/**
* Property value editor
* Progress monitor default implementation
*/
public interface IPropertyValueEditorProvider {
public class RunnableContextDelegate implements DBRRunnableContext {
CellEditor createCellEditor(Composite parent, Object object, Property property);
private final IRunnableContext delegate;
public RunnableContextDelegate(IRunnableContext delegate) {
this.delegate = delegate;
}
@Override
public void run(boolean fork, boolean cancelable, final DBRRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException {
delegate.run(fork, cancelable, new IRunnableWithProgress() {
@Override
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
runnable.run(new DefaultProgressMonitor(monitor));
}
});
}
}
......@@ -36,6 +36,7 @@ import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.core.Log;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import org.jkiss.dbeaver.model.runtime.DBRRunnableContext;
import org.jkiss.dbeaver.model.runtime.DBRRunnableWithProgress;
import org.jkiss.utils.ArrayUtils;
import org.jkiss.utils.CommonUtils;
......@@ -162,13 +163,13 @@ public class RuntimeUtils {
return new DefaultProgressMonitor(monitor);
}
public static IRunnableContext makeContext(final DBRProgressMonitor monitor)
public static DBRRunnableContext makeContext(final DBRProgressMonitor monitor)
{
return new IRunnableContext() {
return new DBRRunnableContext() {
@Override
public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException
public void run(boolean fork, boolean cancelable, DBRRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException
{
runnable.run(monitor.getNestedMonitor());
runnable.run(monitor);
}
};
}
......
......@@ -23,6 +23,7 @@ import org.jkiss.code.NotNull;
import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.model.DBPConnectionInfo;
import org.jkiss.dbeaver.model.DBPDriver;
import org.jkiss.dbeaver.model.runtime.DBRRunnableContext;
import org.jkiss.dbeaver.model.struct.DBSDataSourceContainer;
import org.jkiss.dbeaver.registry.DataSourceDescriptor;
import org.jkiss.dbeaver.registry.DataSourceRegistry;
......@@ -32,7 +33,7 @@ import org.jkiss.dbeaver.registry.DataSourceRegistry;
*/
public interface IDataSourceConnectionEditorSite
{
IRunnableContext getRunnableContext();
DBRRunnableContext getRunnableContext();
DataSourceRegistry getDataSourceRegistry();
......
......@@ -29,6 +29,7 @@ import org.jkiss.dbeaver.model.DBConstants;
import org.jkiss.dbeaver.model.DBPConnectionInfo;
import org.jkiss.dbeaver.model.DBPDriver;
import org.jkiss.dbeaver.model.DBPPropertyDescriptor;
import org.jkiss.dbeaver.model.runtime.DBRRunnableContext;
import org.jkiss.dbeaver.ui.dialogs.EnterNameDialog;
import org.jkiss.dbeaver.ui.properties.PropertyDescriptorEx;
import org.jkiss.dbeaver.ui.properties.PropertySourceCustom;
......@@ -55,7 +56,7 @@ public class ConnectionPropertiesControl extends PropertyTreeViewer {
setExpandSingleRoot(false);
}
public PropertySourceCustom makeProperties(IRunnableContext runnableContext, DBPDriver driver, DBPConnectionInfo connectionInfo)
public PropertySourceCustom makeProperties(DBRRunnableContext runnableContext, DBPDriver driver, DBPConnectionInfo connectionInfo)
{
Map<Object, Object> connectionProps = new HashMap<Object, Object>();
connectionProps.putAll(driver.getConnectionProperties());
......@@ -132,7 +133,7 @@ public class ConnectionPropertiesControl extends PropertyTreeViewer {
return propertyDescriptors;
}
private void loadDriverProperties(IRunnableContext runnableContext, DBPDriver driver, DBPConnectionInfo connectionInfo)
private void loadDriverProperties(DBRRunnableContext runnableContext, DBPDriver driver, DBPConnectionInfo connectionInfo)
{
try {
final DBPPropertyDescriptor[] connectionsProps =
......
......@@ -20,7 +20,6 @@ package org.jkiss.dbeaver.ui.dialogs.connection;
import org.jkiss.dbeaver.core.Log;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.IDialogPage;
import org.eclipse.jface.operation.IRunnableContext;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
......@@ -32,6 +31,8 @@ import org.eclipse.swt.widgets.TabItem;
import org.jkiss.code.NotNull;
import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.model.runtime.DBRRunnableContext;
import org.jkiss.dbeaver.runtime.RunnableContextDelegate;
import org.jkiss.dbeaver.ui.ICompositeDialogPage;
import org.jkiss.dbeaver.ui.IDataSourceConnectionEditor;
import org.jkiss.dbeaver.ui.IDataSourceConnectionEditorSite;
......@@ -199,9 +200,9 @@ class ConnectionPageSettings extends ActiveWizardPage<ConnectionWizard> implemen
}
@Override
public IRunnableContext getRunnableContext()
public DBRRunnableContext getRunnableContext()
{
return wizard.getContainer();
return new RunnableContextDelegate(wizard.getContainer());
}
@Override
......
......@@ -17,9 +17,9 @@
*/
package org.jkiss.dbeaver.ui.dialogs.driver;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.operation.IRunnableContext;
import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.operation.ModalContext;
import org.eclipse.jface.viewers.*;
......@@ -37,10 +37,13 @@ import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.core.DBeaverActivator;
import org.jkiss.dbeaver.model.runtime.DBRRunnableContext;
import org.jkiss.dbeaver.model.runtime.DBRRunnableWithProgress;
import org.jkiss.dbeaver.registry.DataSourceDescriptor;
import org.jkiss.dbeaver.registry.DataSourceProviderDescriptor;
import org.jkiss.dbeaver.registry.DataSourceProviderRegistry;
import org.jkiss.dbeaver.registry.DriverDescriptor;
import org.jkiss.dbeaver.runtime.DefaultProgressMonitor;
import org.jkiss.dbeaver.ui.DBIcon;
import org.jkiss.dbeaver.ui.IHelpContextIds;
import org.jkiss.dbeaver.ui.UIUtils;
......@@ -55,7 +58,7 @@ import java.util.List;
/**
* EditDriverDialog
*/
public class DriverManagerDialog extends HelpEnabledDialog implements ISelectionChangedListener, IDoubleClickListener, IRunnableContext {
public class DriverManagerDialog extends HelpEnabledDialog implements ISelectionChangedListener, IDoubleClickListener, DBRRunnableContext {
private static final String DIALOG_ID = "DBeaver.DriverManagerDialog";//$NON-NLS-1$
......@@ -353,7 +356,7 @@ public class DriverManagerDialog extends HelpEnabledDialog implements ISelection
}
@Override
public void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException
public void run(boolean fork, boolean cancelable, final DBRRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException
{
// Code copied from WizardDialog
if (monitorPart != null) {
......@@ -365,7 +368,16 @@ public class DriverManagerDialog extends HelpEnabledDialog implements ISelection
// thread.
// Otherwise the UI is blocked anyway.
try {
ModalContext.run(runnable, true, monitorPart, getShell().getDisplay());
ModalContext.run(
new IRunnableWithProgress() {
@Override
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
runnable.run(new DefaultProgressMonitor(monitor));
}
},
true,
monitorPart,
getShell().getDisplay());
} finally {
// explicitly invoke done() on our progress monitor so that its
// label does not spill over to the next invocation, see bug 271530
......
......@@ -17,12 +17,12 @@
*/
package org.jkiss.dbeaver.ext.wmi;
import org.eclipse.jface.operation.IRunnableContext;
import org.jkiss.code.NotNull;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.ext.wmi.model.WMIDataSource;
import org.jkiss.dbeaver.model.*;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import org.jkiss.dbeaver.model.runtime.DBRRunnableContext;
import org.jkiss.dbeaver.model.struct.DBSDataSourceContainer;
import org.jkiss.dbeaver.runtime.RuntimeUtils;
import org.jkiss.wmi.service.WMIService;
......@@ -45,7 +45,7 @@ public class WMIDataSourceProvider implements DBPDataSourceProvider {
@Override
public DBPPropertyDescriptor[] getConnectionProperties(
IRunnableContext runnableContext,
DBRRunnableContext runnableContext,
DBPDriver driver,
DBPConnectionInfo connectionInfo) throws DBException
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册