提交 55bb4848 编写于 作者: J jurgen

Preference store usage redesign (get rid of jface)

Former-commit-id: a9f69088
上级 c4fc931e
......@@ -22,7 +22,6 @@ import org.eclipse.core.runtime.jobs.JobChangeAdapter;
import org.eclipse.jface.dialogs.ControlEnableState;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ShellAdapter;
import org.eclipse.swt.events.ShellEvent;
......@@ -38,6 +37,7 @@ import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.core.Log;
import org.jkiss.dbeaver.model.DBIcon;
import org.jkiss.dbeaver.model.DBPImage;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.model.struct.DBSDataSourceContainer;
import org.jkiss.dbeaver.runtime.RuntimeUtils;
import org.jkiss.dbeaver.ui.DBeaverIcons;
......@@ -97,7 +97,7 @@ public class DatabaseSearchDialog extends HelpEnabledDialog implements IObjectSe
}
});
//shell.setDefaultButton(searchButton);
IPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
providersFolder = new TabFolder(group, SWT.TOP);
providersFolder.setLayoutData(new GridData(GridData.FILL_BOTH));
......@@ -168,7 +168,7 @@ public class DatabaseSearchDialog extends HelpEnabledDialog implements IObjectSe
public void saveState()
{
IPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
store.setValue(NEW_TAB_PREF_NAME, openNewTabCheck.getSelection());
for (TabItem item : providersFolder.getItems()) {
IObjectSearchPage page = (IObjectSearchPage) item.getData("page");
......
......@@ -23,6 +23,8 @@ import org.eclipse.core.runtime.Platform;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.jkiss.dbeaver.DBeaverConstants;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.runtime.preferences.BundlePreferenceStore;
import org.osgi.framework.BundleContext;
import java.io.File;
......@@ -41,6 +43,7 @@ public class DBeaverActivator extends AbstractUIPlugin
private static DBeaverActivator instance;
private ResourceBundle resourceBundle;
private PrintStream debugWriter;
private DBPPreferenceStore preferences;
/**
* The constructor
......@@ -61,6 +64,7 @@ public class DBeaverActivator extends AbstractUIPlugin
super.start(context);
instance = this;
preferences = new BundlePreferenceStore(getBundle());
DBeaverUI.getInstance();
try {
......@@ -130,18 +134,8 @@ public class DBeaverActivator extends AbstractUIPlugin
return getInstance().resourceBundle;
}
/**
* Returns the string from the plugin's resource bundle, or 'key' if not
* found.
*/
public static String getResourceString(String key)
{
ResourceBundle bundle = getResourceBundle();
try {
return bundle.getString(key);
} catch (MissingResourceException e) {
return key;
}
public DBPPreferenceStore getPreferences() {
return preferences;
}
/**
......
......@@ -20,10 +20,10 @@ package org.jkiss.dbeaver.core;
import org.eclipse.core.resources.*;
import org.eclipse.core.runtime.*;
import org.eclipse.jface.preference.IPreferenceStore;
import org.jkiss.code.NotNull;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.model.DBPApplication;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.model.impl.net.GlobalProxyAuthenticator;
import org.jkiss.dbeaver.model.impl.net.GlobalProxySelector;
import org.jkiss.dbeaver.model.navigator.DBNModel;
......@@ -31,6 +31,7 @@ import org.jkiss.dbeaver.model.qm.QMController;
import org.jkiss.dbeaver.registry.DataSourceProviderRegistry;
import org.jkiss.dbeaver.registry.OSDescriptor;
import org.jkiss.dbeaver.registry.ProjectRegistry;
import org.jkiss.dbeaver.runtime.preferences.BundlePreferenceStore;
import org.jkiss.dbeaver.runtime.qm.QMControllerImpl;
import org.jkiss.dbeaver.runtime.qm.QMLogFileWriter;
import org.osgi.framework.Bundle;
......@@ -140,9 +141,9 @@ public class DBeaverCore implements DBPApplication {
return Platform.getProduct().getName() + " " + getVersion();
}
public static IPreferenceStore getGlobalPreferenceStore()
public static DBPPreferenceStore getGlobalPreferenceStore()
{
return DBeaverActivator.getInstance().getPreferenceStore();
return DBeaverActivator.getInstance().getPreferences();
}
DBeaverCore()
......
......@@ -19,25 +19,24 @@ package org.jkiss.dbeaver.core;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
import org.eclipse.core.runtime.preferences.DefaultScope;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.ui.texteditor.AbstractTextEditor;
import org.jkiss.dbeaver.DBeaverConstants;
import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.model.data.DBDBinaryFormatter;
import org.jkiss.dbeaver.model.data.DBDValueController;
import org.jkiss.dbeaver.model.exec.DBCExecutionPurpose;
import org.jkiss.dbeaver.registry.DataFormatterProfile;
import org.jkiss.dbeaver.registry.DriverDescriptor;
import org.jkiss.dbeaver.runtime.RuntimeUtils;
import org.jkiss.dbeaver.runtime.preferences.BundlePreferenceStore;
import org.jkiss.dbeaver.runtime.qm.QMConstants;
import org.jkiss.dbeaver.runtime.qm.QMObjectType;
import org.jkiss.dbeaver.runtime.sql.SQLConstants;
import org.jkiss.dbeaver.runtime.sql.SQLScriptCommitType;
import org.jkiss.dbeaver.runtime.sql.SQLScriptErrorHandling;
import org.jkiss.dbeaver.ui.controls.resultset.spreadsheet.Spreadsheet;
import org.jkiss.dbeaver.ui.editors.binary.HexEditControl;
import org.jkiss.dbeaver.runtime.sql.SQLConstants;
import org.jkiss.dbeaver.ui.editors.sql.SQLEditorInput;
import org.jkiss.dbeaver.ui.editors.sql.SQLPreferenceConstants;
import org.jkiss.dbeaver.ui.views.navigator.database.NavigatorViewBase;
......@@ -54,16 +53,10 @@ public class DBeaverPreferencesInitializer extends AbstractPreferenceInitializer
@Override
public void initializeDefaultPreferences() {
IEclipsePreferences node = DefaultScope.INSTANCE.getNode(DBeaverConstants.PLUGIN_ID);
boolean isMac = Platform.getOS().toLowerCase().contains("macos");
// Init default preferences
IPreferenceStore store = DBeaverActivator.getInstance().getPreferenceStore();
{
File driversHome = DriverDescriptor.getCustomDriversHome();
System.setProperty(DBeaverConstants.PROP_DRIVERS_LOCATION, driversHome.getAbsolutePath());
}
DBPPreferenceStore store = new BundlePreferenceStore(DBeaverActivator.getInstance().getBundle());
// Agent
RuntimeUtils.setDefaultPreferenceValue(store, DBeaverPreferences.AGENT_ENABLED, true);
......
......@@ -5,14 +5,14 @@ import java.util.EventObject;
public interface DBPPreferenceListener extends EventListener {
class PropertyChangeEvent extends EventObject {
class PreferenceChangeEvent extends EventObject {
private String propertyName;
private Object oldValue;
private Object newValue;
public PropertyChangeEvent(Object source, String property, Object oldValue,
Object newValue) {
public PreferenceChangeEvent(Object source, String property, Object oldValue,
Object newValue) {
super(source);
this.propertyName = property;
this.oldValue = oldValue;
......@@ -31,5 +31,5 @@ public interface DBPPreferenceListener extends EventListener {
}
void propertyChange(PropertyChangeEvent event);
void preferenceChange(PreferenceChangeEvent event);
}
package org.jkiss.dbeaver.model;
import java.io.IOException;
public interface DBPPreferenceStore {
boolean contains(String name);
......@@ -39,5 +41,8 @@ public interface DBPPreferenceStore {
void addPropertyChangeListener(DBPPreferenceListener listener);
void removePropertyChangeListener(DBPPreferenceListener listener);
void firePropertyChangeEvent(String name, Object oldValue, Object newValue);
void save() throws IOException;
}
......@@ -18,7 +18,7 @@
package org.jkiss.dbeaver.model.data;
import org.eclipse.jface.preference.IPreferenceStore;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import java.io.IOException;
import java.util.Locale;
......@@ -29,7 +29,7 @@ import java.util.Map;
*/
public interface DBDDataFormatterProfile {
IPreferenceStore getPreferenceStore();
DBPPreferenceStore getPreferenceStore();
String getProfileName();
......
......@@ -18,12 +18,13 @@
package org.jkiss.dbeaver.model.impl.net;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.widgets.Shell;
import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.core.DBeaverUI;
import org.jkiss.dbeaver.model.DBIcon;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.model.exec.DBCExecutionContext;
import org.jkiss.dbeaver.model.net.DBWHandlerConfiguration;
import org.jkiss.dbeaver.model.net.DBWHandlerType;
......@@ -31,7 +32,6 @@ import org.jkiss.dbeaver.model.struct.DBSDataSourceContainer;
import org.jkiss.dbeaver.registry.encode.EncryptionException;
import org.jkiss.dbeaver.registry.encode.SecuredPasswordEncrypter;
import org.jkiss.dbeaver.runtime.RunnableWithResult;
import org.jkiss.dbeaver.model.DBIcon;
import org.jkiss.dbeaver.ui.DBeaverIcons;
import org.jkiss.dbeaver.ui.UIUtils;
import org.jkiss.dbeaver.ui.dialogs.connection.BaseAuthDialog;
......@@ -51,7 +51,7 @@ public class GlobalProxyAuthenticator extends Authenticator {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
{
IPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
// 1. Check for drivers download proxy
final String proxyHost = store.getString(DBeaverPreferences.UI_PROXY_HOST);
......
......@@ -18,12 +18,12 @@
package org.jkiss.dbeaver.model.impl.net;
import com.jcraft.jsch.*;
import org.eclipse.jface.preference.IPreferenceStore;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.core.Log;
import org.jkiss.dbeaver.model.DBPConnectionInfo;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.model.net.DBWHandlerConfiguration;
import org.jkiss.dbeaver.model.net.DBWTunnel;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
......@@ -157,7 +157,7 @@ public class SSHTunnelImpl implements DBWTunnel {
private int findFreePort()
{
IPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
int minPort = store.getInt(DBeaverPreferences.NET_TUNNEL_PORT_MIN);
int maxPort = store.getInt(DBeaverPreferences.NET_TUNNEL_PORT_MAX);
int portRange = Math.abs(maxPort - minPort);
......
......@@ -17,7 +17,6 @@
*/
package org.jkiss.dbeaver.model.struct;
import org.eclipse.jface.preference.IPreferenceStore;
import org.jkiss.code.NotNull;
import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.DBException;
......@@ -130,7 +129,7 @@ public interface DBSDataSourceContainer extends DBSObject, DBDPreferences
* Preference store associated with this datasource
* @return preference store
*/
IPreferenceStore getPreferenceStore();
DBPPreferenceStore getPreferenceStore();
@NotNull
DBPDataSourceRegistry getRegistry();
......
......@@ -17,12 +17,12 @@
*/
package org.jkiss.dbeaver.registry;
import org.eclipse.jface.preference.IPreferenceStore;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.model.data.DBDDataFormatter;
import org.jkiss.dbeaver.model.data.DBDDataFormatterProfile;
import org.jkiss.dbeaver.runtime.RuntimeUtils;
import org.jkiss.dbeaver.ui.properties.PropertyDescriptorEx;
import org.jkiss.dbeaver.runtime.preferences.SimplePreferenceStore;
import org.jkiss.dbeaver.ui.properties.PropertyDescriptorEx;
import org.jkiss.utils.CommonUtils;
import java.io.IOException;
......@@ -41,12 +41,12 @@ public class DataFormatterProfile implements DBDDataFormatterProfile {
public static final String DATAFORMAT_PREFIX = "dataformat."; //$NON-NLS-1$
public static final String DATAFORMAT_TYPE_PREFIX = DATAFORMAT_PREFIX + "type."; //$NON-NLS-1$
private IPreferenceStore store;
private DBPPreferenceStore store;
private String name;
private Locale locale;
private Map<String, Map<Object, Object>> properties = new HashMap<String, Map<Object, Object>>();
DataFormatterProfile(String profileName, IPreferenceStore store)
DataFormatterProfile(String profileName, DBPPreferenceStore store)
{
this.name = profileName;
this.store = store;
......@@ -108,7 +108,7 @@ public class DataFormatterProfile implements DBDDataFormatterProfile {
}
@Override
public IPreferenceStore getPreferenceStore()
public DBPPreferenceStore getPreferenceStore()
{
return store;
}
......@@ -213,7 +213,7 @@ public class DataFormatterProfile implements DBDDataFormatterProfile {
return formatter;
}
public static void initDefaultPreferences(IPreferenceStore store, Locale locale)
public static void initDefaultPreferences(DBPPreferenceStore store, Locale locale)
{
for (DataFormatterDescriptor formatter : DataFormatterRegistry.getInstance().getDataFormatters()) {
Map<Object, Object> defaultProperties = formatter.getSample().getDefaultProperties(locale);
......
......@@ -55,7 +55,6 @@ import org.jkiss.dbeaver.ui.dialogs.ConfirmationDialog;
import org.jkiss.dbeaver.ui.dialogs.connection.EditConnectionDialog;
import org.jkiss.dbeaver.ui.dialogs.connection.EditConnectionWizard;
import org.jkiss.dbeaver.ui.properties.PropertyCollector;
import org.jkiss.dbeaver.runtime.preferences.SimplePreferenceStore;
import org.jkiss.utils.CommonUtils;
import java.lang.reflect.InvocationTargetException;
......@@ -998,7 +997,7 @@ public class DataSourceDescriptor
}
@Override
public SimplePreferenceStore getPreferenceStore()
public DataSourcePreferenceStore getPreferenceStore()
{
return preferenceStore;
}
......
......@@ -22,11 +22,11 @@ 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.preference.IPreferenceStore;
import org.eclipse.jface.window.IShellProvider;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Shell;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.DBeaverConstants;
import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.core.DBeaverActivator;
import org.jkiss.dbeaver.core.DBeaverCore;
......@@ -38,7 +38,6 @@ 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.model.DBIcon;
import org.jkiss.dbeaver.ui.UIUtils;
import org.jkiss.dbeaver.ui.dialogs.AcceptLicenseDialog;
import org.jkiss.dbeaver.ui.dialogs.ConfirmationDialog;
......@@ -124,6 +123,11 @@ public class DriverDescriptor extends AbstractDescriptor implements DBPDriver
private transient boolean isFailed = false;
static {
File driversHome = DriverDescriptor.getCustomDriversHome();
System.setProperty(DBeaverConstants.PROP_DRIVERS_LOCATION, driversHome.getAbsolutePath());
}
DriverDescriptor(DataSourceProviderDescriptor providerDescriptor, String id)
{
super(providerDescriptor.getPluginId());
......@@ -972,7 +976,7 @@ public class DriverDescriptor extends AbstractDescriptor implements DBPDriver
private boolean acceptLicense(String licenseText) {
// Check registry
IPreferenceStore prefs = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore prefs = DBeaverCore.getGlobalPreferenceStore();
String acceptedStr = prefs.getString(LICENSE_ACCEPT_KEY + getId());
if (!CommonUtils.isEmpty(acceptedStr)) {
return true;
......@@ -1018,7 +1022,7 @@ public class DriverDescriptor extends AbstractDescriptor implements DBPDriver
private void downloadLibraryFile(DBRProgressMonitor monitor, DriverFileDescriptor file) throws IOException, InterruptedException
{
IPreferenceStore prefs = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore prefs = DBeaverCore.getGlobalPreferenceStore();
String proxyHost = prefs.getString(DBeaverPreferences.UI_PROXY_HOST);
Proxy proxy = null;
if (!CommonUtils.isEmpty(proxyHost)) {
......
......@@ -24,13 +24,12 @@ import org.eclipse.core.runtime.*;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.operation.IRunnableContext;
import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.preference.IPersistentPreferenceStore;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.program.Program;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.core.Log;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import org.jkiss.dbeaver.model.runtime.DBRRunnableContext;
import org.jkiss.dbeaver.model.runtime.DBRRunnableWithProgress;
......@@ -189,27 +188,23 @@ public class RuntimeUtils {
});
}
public static void savePreferenceStore(IPreferenceStore store)
public static void savePreferenceStore(DBPPreferenceStore store)
{
if (store instanceof IPersistentPreferenceStore) {
try {
((IPersistentPreferenceStore) store).save();
} catch (IOException e) {
log.warn(e);
}
} else {
log.debug("Can't save preference store '" + store + "' - not a persistent one"); //$NON-NLS-1$
try {
store.save();
} catch (IOException e) {
log.warn(e);
}
}
public static void setDefaultPreferenceValue(IPreferenceStore store, String name, Object value)
public static void setDefaultPreferenceValue(DBPPreferenceStore store, String name, Object value)
{
if (CommonUtils.isEmpty(store.getDefaultString(name))) {
store.setDefault(name, value.toString());
}
}
public static Object getPreferenceValue(IPreferenceStore store, String propName, Class<?> valueType)
public static Object getPreferenceValue(DBPPreferenceStore store, String propName, Class<?> valueType)
{
try {
if (valueType == null || CharSequence.class.isAssignableFrom(valueType)) {
......@@ -241,7 +236,7 @@ public class RuntimeUtils {
return CommonUtils.isEmpty(string) ? null : string;
}
public static void setPreferenceValue(IPreferenceStore store, String propName, Object value)
public static void setPreferenceValue(DBPPreferenceStore store, String propName, Object value)
{
if (value == null) {
return;
......@@ -263,7 +258,7 @@ public class RuntimeUtils {
}
}
public static void setPreferenceDefaultValue(IPreferenceStore store, String propName, Object value)
public static void setPreferenceDefaultValue(DBPPreferenceStore store, String propName, Object value)
{
if (value == null) {
return;
......
package org.jkiss.dbeaver.runtime.preferences;
import org.eclipse.core.commands.common.EventManager;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.util.SafeRunnable;
import org.jkiss.dbeaver.model.DBPPreferenceListener;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
......@@ -19,24 +15,17 @@ public abstract class AbstractPreferenceStore extends EventManager implements DB
public static final String TRUE = "true"; //$NON-NLS-1$
public static final String FALSE = "false"; //$NON-NLS-1$
public void firePropertyChangeEvent(String name, Object oldValue,
Object newValue)
@Override
public void firePropertyChangeEvent(String name, Object oldValue, Object newValue)
{
final Object[] finalListeners = getListeners();
// Do we need to fire an event.
if (finalListeners.length > 0
&& (oldValue == null || !oldValue.equals(newValue))) {
final PropertyChangeEvent pe = new PropertyChangeEvent(this, name,
oldValue, newValue);
final DBPPreferenceListener.PreferenceChangeEvent pe = new DBPPreferenceListener.PreferenceChangeEvent(this, name, oldValue, newValue);
for (int i = 0; i < finalListeners.length; ++i) {
final IPropertyChangeListener l = (IPropertyChangeListener) finalListeners[i];
SafeRunnable.run(new SafeRunnable(JFaceResources.getString("PreferenceStore.changeError")) //$NON-NLS-1$
{
@Override
public void run() {
l.propertyChange(pe);
}
});
final DBPPreferenceListener l = (DBPPreferenceListener) finalListeners[i];
l.preferenceChange(pe);
}
}
}
......
......@@ -3,9 +3,13 @@ package org.jkiss.dbeaver.runtime.preferences;
import org.eclipse.core.runtime.preferences.DefaultScope;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.InstanceScope;
import org.jkiss.utils.CommonUtils;
import org.osgi.framework.Bundle;
import org.osgi.service.prefs.BackingStoreException;
public class BundlePreferenceStore extends AbstractPreferenceStore{
import java.io.IOException;
public class BundlePreferenceStore extends AbstractPreferenceStore {
private final IEclipsePreferences defaultProps;
private final IEclipsePreferences props;
......@@ -147,36 +151,108 @@ public class BundlePreferenceStore extends AbstractPreferenceStore{
@Override
public void setToDefault(String name) {
String oldValue = getString(name);
String defaultValue = getDefaultString(name);
props.remove(name);
if (!CommonUtils.equalObjects(oldValue, defaultValue)) {
dirty = true;
firePropertyChangeEvent(name, oldValue, defaultValue);
}
}
@Override
public void setValue(String name, double value) {
double oldValue = getDouble(name);
if (oldValue == value) {
return;
}
if (getDefaultDouble(name) == value) {
props.remove(name);
} else {
props.putDouble(name, value);
}
dirty = true;
firePropertyChangeEvent(name, new Double(oldValue), new Double(value));
}
@Override
public void setValue(String name, float value) {
float oldValue = getFloat(name);
if (oldValue == value) {
return;
}
if (getDefaultFloat(name) == value) {
props.remove(name);
} else {
props.putFloat(name, value);
}
dirty = true;
firePropertyChangeEvent(name, new Float(oldValue), new Float(value));
}
@Override
public void setValue(String name, int value) {
int oldValue = getInt(name);
if (oldValue == value) {
return;
}
if (getDefaultInt(name) == value) {
props.remove(name);
} else {
props.putInt(name, value);
}
dirty = true;
firePropertyChangeEvent(name, new Integer(oldValue), new Integer(value));
}
@Override
public void setValue(String name, long value) {
long oldValue = getLong(name);
if (oldValue == value) {
return;
}
if (getDefaultLong(name) == value) {
props.remove(name);
} else {
props.putLong(name, value);
}
dirty = true;
firePropertyChangeEvent(name, new Long(oldValue), new Long(value));
}
@Override
public void setValue(String name, String value) {
if (getDefaultString(name).equals(value)) {
props.remove(name);
} else {
props.put(name, value);
}
dirty = true;
}
@Override
public void setValue(String name, boolean value) {
boolean oldValue = getBoolean(name);
if (oldValue == value) {
return;
}
if (getDefaultBoolean(name) == value) {
props.remove(name);
} else {
props.putBoolean(name, value);
}
dirty = true;
firePropertyChangeEvent(name, oldValue ? Boolean.TRUE : Boolean.FALSE, value ? Boolean.TRUE : Boolean.FALSE);
}
@Override
public void save() throws IOException {
try {
props.flush();
defaultProps.flush();
} catch (BackingStoreException e) {
throw new IOException(e);
}
}
}
......@@ -17,17 +17,12 @@
*/
package org.jkiss.dbeaver.runtime.preferences;
import org.eclipse.core.commands.common.EventManager;
import org.eclipse.jface.preference.IPersistentPreferenceStore;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.util.SafeRunnable;
import org.jkiss.dbeaver.model.DBPPreferenceListener;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.utils.CommonUtils;
import java.io.IOException;
import java.util.HashMap;
import java.util.HashMap;
import java.util.Map;
/**
......@@ -36,8 +31,8 @@ import java.util.Map;
* However, save will always use THIS store, not parent.
* Originally copied from standard PreferenceStore class
*/
public abstract class SimplePreferenceStore extends EventManager implements IPersistentPreferenceStore, IPropertyChangeListener {
private IPreferenceStore parentStore;
public abstract class SimplePreferenceStore extends AbstractPreferenceStore implements DBPPreferenceListener {
private DBPPreferenceStore parentStore;
private Map<String, String> properties;
private Map<String, String> defaultProperties;
private boolean dirty = false;
......@@ -48,7 +43,7 @@ public abstract class SimplePreferenceStore extends EventManager implements IPer
properties = new HashMap<String, String>();
}
protected SimplePreferenceStore(IPreferenceStore parentStore)
protected SimplePreferenceStore(DBPPreferenceStore parentStore)
{
this();
this.parentStore = parentStore;
......@@ -57,7 +52,7 @@ public abstract class SimplePreferenceStore extends EventManager implements IPer
}
}
public IPreferenceStore getParentStore()
public DBPPreferenceStore getParentStore()
{
return parentStore;
}
......@@ -88,11 +83,17 @@ public abstract class SimplePreferenceStore extends EventManager implements IPer
}
@Override
public void addPropertyChangeListener(IPropertyChangeListener listener)
public void addPropertyChangeListener(DBPPreferenceListener listener)
{
addListenerObject(listener);
}
@Override
public void removePropertyChangeListener(DBPPreferenceListener listener)
{
removeListenerObject(listener);
}
@Override
public boolean contains(String name)
{
......@@ -107,18 +108,11 @@ public abstract class SimplePreferenceStore extends EventManager implements IPer
// Do we need to fire an event.
if (finalListeners.length > 0
&& (oldValue == null || !oldValue.equals(newValue))) {
final PropertyChangeEvent pe = new PropertyChangeEvent(this, name,
final PreferenceChangeEvent pe = new PreferenceChangeEvent(this, name,
oldValue, newValue);
for (int i = 0; i < finalListeners.length; ++i) {
final IPropertyChangeListener l = (IPropertyChangeListener) finalListeners[i];
SafeRunnable.run(new SafeRunnable(JFaceResources.getString("PreferenceStore.changeError")) //$NON-NLS-1$
{
@Override
public void run()
{
l.propertyChange(pe);
}
});
final DBPPreferenceListener l = (DBPPreferenceListener) finalListeners[i];
l.preferenceChange(pe);
}
}
}
......@@ -291,22 +285,6 @@ public abstract class SimplePreferenceStore extends EventManager implements IPer
return properties.keySet().toArray(new String[properties.size()]);
}
@Override
public void putValue(String name, String value)
{
String oldValue = getString(name);
if (oldValue == null || !oldValue.equals(value)) {
properties.put(name, String.valueOf(value));
dirty = true;
}
}
@Override
public void removePropertyChangeListener(IPropertyChangeListener listener)
{
removeListenerObject(listener);
}
@Override
public void setDefault(String name, double value)
{
......@@ -424,16 +402,10 @@ public abstract class SimplePreferenceStore extends EventManager implements IPer
}
@Override
public void save() throws IOException
{
}
@Override
public void propertyChange(PropertyChangeEvent event)
public void preferenceChange(PreferenceChangeEvent event)
{
for (Object listener : getListeners()) {
((IPropertyChangeListener)listener).propertyChange(event);
((DBPPreferenceListener)listener).preferenceChange(event);
}
}
}
......@@ -18,8 +18,8 @@
package org.jkiss.dbeaver.runtime.qm;
import org.eclipse.jface.preference.IPreferenceStore;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.model.exec.DBCExecutionPurpose;
import org.jkiss.dbeaver.runtime.qm.meta.*;
import org.jkiss.utils.CommonUtils;
......@@ -45,7 +45,7 @@ public class DefaultEventFilter implements QMEventFilter {
public void reloadPreferences()
{
IPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
Collection<QMObjectType> objectTypes = QMObjectType.fromString(store.getString(QMConstants.PROP_OBJECT_TYPES));
this.showSessions = objectTypes.contains(QMObjectType.session);
......
......@@ -17,12 +17,11 @@
*/
package org.jkiss.dbeaver.runtime.qm;
import org.jkiss.dbeaver.core.Log;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.jkiss.dbeaver.DBeaverConstants;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.core.Log;
import org.jkiss.dbeaver.model.DBPPreferenceListener;
import org.jkiss.dbeaver.runtime.RuntimeUtils;
import org.jkiss.dbeaver.runtime.qm.meta.*;
import org.jkiss.dbeaver.utils.ContentUtils;
......@@ -38,7 +37,7 @@ import java.util.List;
/**
* Query manager log writer
*/
public class QMLogFileWriter implements QMMetaListener, IPropertyChangeListener {
public class QMLogFileWriter implements QMMetaListener, DBPPreferenceListener {
static final Log log = Log.getLog(QMLogFileWriter.class);
......@@ -107,7 +106,7 @@ public class QMLogFileWriter implements QMMetaListener, IPropertyChangeListener
}
@Override
public void propertyChange(PropertyChangeEvent event)
public void preferenceChange(PreferenceChangeEvent event)
{
if (event.getProperty().startsWith(QMConstants.PROP_PREFIX)) {
initLogFile();
......
......@@ -20,16 +20,12 @@ package org.jkiss.dbeaver.runtime.sql;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.ui.IWorkbenchPartSite;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.core.Log;
import org.jkiss.dbeaver.model.DBIcon;
import org.jkiss.dbeaver.model.DBPDataKind;
import org.jkiss.dbeaver.model.DBPDataSource;
import org.jkiss.dbeaver.model.DBUtils;
import org.jkiss.dbeaver.model.*;
import org.jkiss.dbeaver.model.data.DBDDataFilter;
import org.jkiss.dbeaver.model.data.DBDDataReceiver;
import org.jkiss.dbeaver.model.exec.*;
......@@ -99,7 +95,7 @@ public class SQLQueryJob extends DataSourceJob
{
// Read config form preference store
IPreferenceStore preferenceStore = getDataSourceContainer().getPreferenceStore();
DBPPreferenceStore preferenceStore = getDataSourceContainer().getPreferenceStore();
this.commitType = SQLScriptCommitType.valueOf(preferenceStore.getString(DBeaverPreferences.SCRIPT_COMMIT_TYPE));
this.errorHandling = SQLScriptErrorHandling.valueOf(preferenceStore.getString(DBeaverPreferences.SCRIPT_ERROR_HANDLING));
this.fetchResultSets = queries.size() == 1 || preferenceStore.getBoolean(DBeaverPreferences.SCRIPT_FETCH_RESULT_SETS);
......
......@@ -25,10 +25,7 @@ import org.eclipse.core.runtime.jobs.JobChangeAdapter;
import org.eclipse.jface.action.*;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.TrayDialog;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.text.source.ISharedTextColors;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.StructuredSelection;
......@@ -51,18 +48,20 @@ import org.eclipse.ui.IWorkbenchPartSite;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.core.DBeaverUI;
import org.jkiss.dbeaver.model.DBPPreferenceListener;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.model.exec.DBCExecutionContext;
import org.jkiss.dbeaver.model.qm.QMUtils;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import org.jkiss.dbeaver.model.struct.DBSDataSourceContainer;
import org.jkiss.dbeaver.ui.AbstractUIJob;
import org.jkiss.dbeaver.runtime.qm.*;
import org.jkiss.dbeaver.runtime.qm.meta.*;
import org.jkiss.dbeaver.ui.AbstractUIJob;
import org.jkiss.dbeaver.ui.ICommandIds;
import org.jkiss.dbeaver.ui.TableToolTip;
import org.jkiss.dbeaver.utils.TextUtils;
import org.jkiss.dbeaver.ui.UIUtils;
import org.jkiss.dbeaver.utils.GeneralUtils;
import org.jkiss.dbeaver.utils.TextUtils;
import org.jkiss.utils.CommonUtils;
import org.jkiss.utils.LongKeyMap;
......@@ -76,7 +75,7 @@ import java.util.Locale;
/**
* QueryLogViewer
*/
public class QueryLogViewer extends Viewer implements QMMetaListener, IPropertyChangeListener {
public class QueryLogViewer extends Viewer implements QMMetaListener, DBPPreferenceListener {
private static final String QUERY_LOG_CONTROL_ID = "org.jkiss.dbeaver.ui.qm.log"; //$NON-NLS-1$
......@@ -509,7 +508,7 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, IPropertyC
private void reloadEvents()
{
IPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
this.defaultFilter = new DefaultEventFilter();
this.entriesPerPage = store.getInt(QMConstants.PROP_ENTRIES_PER_PAGE);
......@@ -771,7 +770,7 @@ public class QueryLogViewer extends Viewer implements QMMetaListener, IPropertyC
private ConfigRefreshJob configRefreshJob = null;
@Override
public synchronized void propertyChange(PropertyChangeEvent event)
public synchronized void preferenceChange(PreferenceChangeEvent event)
{
if (event.getProperty().startsWith(QMConstants.PROP_PREFIX)) {
// Many properties could be changed at once
......
......@@ -26,6 +26,7 @@ import org.jkiss.code.NotNull;
import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.model.DBPContextProvider;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.model.data.DBDAttributeBinding;
import org.jkiss.dbeaver.model.data.DBDDataReceiver;
import org.jkiss.dbeaver.model.exec.DBCExecutionContext;
......@@ -62,7 +63,7 @@ public interface IResultSetController extends DBPContextProvider {
boolean isAttributeReadOnly(DBDAttributeBinding attr);
@NotNull
IPreferenceStore getPreferenceStore();
DBPPreferenceStore getPreferenceStore();
void applyChanges(@Nullable DBRProgressMonitor monitor);
......
......@@ -24,7 +24,6 @@ import org.eclipse.core.runtime.jobs.JobChangeAdapter;
import org.eclipse.jface.action.*;
import org.eclipse.jface.dialogs.ControlEnableState;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.text.IFindReplaceTarget;
import org.eclipse.jface.viewers.ISelection;
......@@ -465,7 +464,7 @@ public class ResultSetViewer extends Viewer
// Misc
@NotNull
public IPreferenceStore getPreferenceStore()
public DBPPreferenceStore getPreferenceStore()
{
DBCExecutionContext context = getExecutionContext();
if (context != null) {
......@@ -2116,7 +2115,7 @@ public class ResultSetViewer extends Viewer
@Override
public void run()
{
IPreferenceStore preferenceStore = getPreferenceStore();
DBPPreferenceStore preferenceStore = getPreferenceStore();
preferenceStore.setValue(
DBeaverPreferences.RESULT_SET_ORDER_SERVER_SIDE,
!preferenceStore.getBoolean(DBeaverPreferences.RESULT_SET_ORDER_SERVER_SIDE));
......
......@@ -43,7 +43,6 @@ import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.text.IFindReplaceTarget;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
......@@ -76,10 +75,7 @@ import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.core.DBeaverUI;
import org.jkiss.dbeaver.core.Log;
import org.jkiss.dbeaver.model.DBPDataKind;
import org.jkiss.dbeaver.model.DBPDataSource;
import org.jkiss.dbeaver.model.DBPImage;
import org.jkiss.dbeaver.model.DBUtils;
import org.jkiss.dbeaver.model.*;
import org.jkiss.dbeaver.model.data.*;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import org.jkiss.dbeaver.model.runtime.DBRRunnableWithProgress;
......@@ -190,7 +186,7 @@ public class SpreadsheetPresentation extends AbstractPresentation implements IRe
}
};
final IPreferenceStore preferences = getPreferenceStore();
final DBPPreferenceStore preferences = getPreferenceStore();
int ratio = preferences.getInt(VIEW_PANEL_RATIO);
boolean viewPanelVisible = preferences.getBoolean(VIEW_PANEL_VISIBLE);
if (ratio <= 0) {
......@@ -496,7 +492,7 @@ public class SpreadsheetPresentation extends AbstractPresentation implements IRe
@Override
public void refreshData(boolean refreshMetadata, boolean append) {
// Cache preferences
IPreferenceStore preferenceStore = getPreferenceStore();
DBPPreferenceStore preferenceStore = getPreferenceStore();
showOddRows = preferenceStore.getBoolean(DBeaverPreferences.RESULT_SET_SHOW_ODD_ROWS);
showCelIcons = preferenceStore.getBoolean(DBeaverPreferences.RESULT_SET_SHOW_CELL_ICONS);
......@@ -927,7 +923,7 @@ public class SpreadsheetPresentation extends AbstractPresentation implements IRe
///////////////////////////////////////////////
// Misc
public IPreferenceStore getPreferenceStore() {
public DBPPreferenceStore getPreferenceStore() {
return controller.getPreferenceStore();
}
......
......@@ -20,14 +20,15 @@ package org.jkiss.dbeaver.ui.dialogs;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.MessageDialogWithToggle;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Shell;
import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.core.DBeaverActivator;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.core.DBeaverUI;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.ui.UIUtils;
import org.jkiss.dbeaver.ui.preferences.PreferenceStoreDelegate;
import java.util.ResourceBundle;
......@@ -67,7 +68,7 @@ public class ConfirmationDialog extends MessageDialogWithToggle {
boolean toggleState,
String key)
{
IPreferenceStore prefStore = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore prefStore = DBeaverCore.getGlobalPreferenceStore();
if (ConfirmationDialog.ALWAYS.equals(prefStore.getString(key))) {
if (kind == QUESTION || kind == QUESTION_WITH_CANCEL) {
return IDialogConstants.YES_ID;
......@@ -91,7 +92,7 @@ public class ConfirmationDialog extends MessageDialogWithToggle {
0,
toggleMessage,
toggleState);
dialog.setPrefStore(prefStore);
dialog.setPrefStore(new PreferenceStoreDelegate(prefStore));
dialog.setPrefKey(key);
return dialog.open();
}
......
......@@ -30,6 +30,7 @@ import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.model.DBPDataSource;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.model.data.DBDCursor;
import org.jkiss.dbeaver.model.data.DBDDataFilter;
import org.jkiss.dbeaver.model.data.DBDDataReceiver;
......@@ -66,7 +67,7 @@ public class CursorViewDialog extends ValueViewDialog implements IResultSetConta
Composite dialogGroup = (Composite)super.createDialogArea(parent);
if (value != null) {
IPreferenceStore globalPreferenceStore = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore globalPreferenceStore = DBeaverCore.getGlobalPreferenceStore();
if (!globalPreferenceStore.getBoolean(DBeaverPreferences.KEEP_STATEMENT_OPEN)) {
if (ConfirmationDialog.showConfirmDialog(
getShell(),
......
......@@ -17,14 +17,10 @@
*/
package org.jkiss.dbeaver.ui.editors.binary;
import org.jkiss.dbeaver.core.Log;
import org.eclipse.core.resources.*;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.action.*;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.viewers.*;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
......@@ -41,6 +37,9 @@ import org.eclipse.ui.texteditor.ITextEditorActionConstants;
import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.core.Log;
import org.jkiss.dbeaver.model.DBPPreferenceListener;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.runtime.RuntimeUtils;
import org.jkiss.dbeaver.ui.editors.binary.pref.HexPreferencesPage;
import org.jkiss.dbeaver.utils.ContentUtils;
......@@ -58,7 +57,7 @@ public class BinaryEditor extends EditorPart implements ISelectionProvider, IMen
//static final String textSavingFilePleaseWait = "Saving file, please wait";
private HexManager manager;
private IPropertyChangeListener preferencesChangeListener = null;
private DBPPreferenceListener preferencesChangeListener = null;
private Set<ISelectionChangedListener> selectionListeners = null; // of ISelectionChangedListener
public BinaryEditor()
......@@ -169,15 +168,15 @@ public class BinaryEditor extends EditorPart implements ISelectionProvider, IMen
bars.updateActionBars();
preferencesChangeListener = new IPropertyChangeListener() {
preferencesChangeListener = new DBPPreferenceListener() {
@Override
public void propertyChange(PropertyChangeEvent event)
public void preferenceChange(PreferenceChangeEvent event)
{
if (HexPreferencesPage.PROP_FONT_DATA.equals(event.getProperty()))
manager.setTextFont((FontData) event.getNewValue());
}
};
IPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
store.addPropertyChangeListener(preferencesChangeListener);
manager.addLongSelectionListener(new SelectionAdapter() {
......@@ -248,7 +247,7 @@ public class BinaryEditor extends EditorPart implements ISelectionProvider, IMen
manager = null;
}
IPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
store.removePropertyChangeListener(preferencesChangeListener);
ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
......
......@@ -26,6 +26,7 @@ import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.runtime.RuntimeUtils;
import org.jkiss.utils.CommonUtils;
......@@ -49,7 +50,7 @@ public class HexPreferencesPage extends PreferencePage implements IWorkbenchPref
*/
public static FontData getPrefFontData()
{
IPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
String fontName = store.getString(DBeaverPreferences.HEX_FONT_NAME);
int fontStyle = store.getInt(DBeaverPreferences.HEX_FONT_STYLE);
int fontSize = store.getInt(DBeaverPreferences.HEX_FONT_SIZE);
......@@ -100,7 +101,7 @@ public class HexPreferencesPage extends PreferencePage implements IWorkbenchPref
@Override
public boolean performOk()
{
IPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
FontData fontData = preferences.getFontData();
store.setValue(DBeaverPreferences.HEX_FONT_NAME, fontData.getName());
store.setValue(DBeaverPreferences.HEX_FONT_STYLE, fontData.getStyle());
......
......@@ -28,8 +28,6 @@ import org.eclipse.jface.action.IMenuListener;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.text.*;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.swt.SWT;
......@@ -52,7 +50,6 @@ import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.core.DBeaverActivator;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.core.DBeaverUI;
import org.jkiss.dbeaver.model.IDataSourceContainerProviderEx;
import org.jkiss.dbeaver.model.*;
import org.jkiss.dbeaver.model.data.DBDDataFilter;
import org.jkiss.dbeaver.model.data.DBDDataReceiver;
......@@ -106,7 +103,7 @@ public class SQLEditor extends SQLEditorBase implements
IResultSetContainer,
DBPDataSourceUser,
DBPDataSourceHandler,
IPropertyChangeListener
DBPPreferenceListener
{
private static final long SCRIPT_UI_UPDATE_PERIOD = 100;
......@@ -951,7 +948,7 @@ public class SQLEditor extends SQLEditorBase implements
}
@Override
public void propertyChange(PropertyChangeEvent event) {
public void preferenceChange(PreferenceChangeEvent event) {
if (event.getProperty().equals(DBeaverPreferences.SCRIPT_STATEMENT_DELIMITER) ||
event.getProperty().equals(DBeaverPreferences.SCRIPT_IGNORE_NATIVE_DELIMITER))
{
......
......@@ -22,7 +22,6 @@ import org.eclipse.core.runtime.CoreException;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.Separator;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.text.*;
import org.eclipse.jface.text.rules.FastPartitioner;
import org.eclipse.jface.text.rules.IToken;
......@@ -52,6 +51,7 @@ import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.core.DBeaverUI;
import org.jkiss.dbeaver.core.Log;
import org.jkiss.dbeaver.model.DBPDataSource;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.model.exec.DBCExecutionContext;
import org.jkiss.dbeaver.model.sql.SQLDataSource;
import org.jkiss.dbeaver.model.sql.SQLQuery;
......@@ -66,6 +66,7 @@ import org.jkiss.dbeaver.ui.editors.sql.syntax.tokens.*;
import org.jkiss.dbeaver.ui.editors.sql.templates.SQLTemplatesPage;
import org.jkiss.dbeaver.ui.editors.sql.util.SQLSymbolInserter;
import org.jkiss.dbeaver.ui.editors.text.BaseTextEditor;
import org.jkiss.dbeaver.ui.preferences.PreferenceStoreDelegate;
import org.jkiss.dbeaver.utils.TextUtils;
import org.jkiss.utils.CommonUtils;
......@@ -121,7 +122,7 @@ public abstract class SQLEditorBase extends BaseTextEditor {
return context == null ? null : context.getDataSource();
}
public IPreferenceStore getActivePreferenceStore() {
public DBPPreferenceStore getActivePreferenceStore() {
DBPDataSource dataSource = getDataSource();
return dataSource == null ? DBeaverCore.getGlobalPreferenceStore() : dataSource.getContainer().getPreferenceStore();
}
......@@ -171,7 +172,7 @@ public abstract class SQLEditorBase extends BaseTextEditor {
{
SQLSymbolInserter symbolInserter = new SQLSymbolInserter(this);
IPreferenceStore preferenceStore = getActivePreferenceStore();
DBPPreferenceStore preferenceStore = getActivePreferenceStore();
boolean closeSingleQuotes = preferenceStore.getBoolean(SQLPreferenceConstants.SQLEDITOR_CLOSE_SINGLE_QUOTES);
boolean closeDoubleQuotes = preferenceStore.getBoolean(SQLPreferenceConstants.SQLEDITOR_CLOSE_DOUBLE_QUOTES);
boolean closeBrackets = preferenceStore.getBoolean(SQLPreferenceConstants.SQLEDITOR_CLOSE_BRACKETS);
......@@ -187,7 +188,7 @@ public abstract class SQLEditorBase extends BaseTextEditor {
}
if (decorationSupport != null) {
decorationSupport.install(getActivePreferenceStore());
decorationSupport.install(new PreferenceStoreDelegate(getActivePreferenceStore()));
}
}
......
......@@ -21,11 +21,8 @@ import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.QualifiedName;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.ui.IMemento;
import org.eclipse.ui.IPersistableElement;
import org.eclipse.ui.internal.IPreferenceConstants;
import org.eclipse.ui.internal.WorkbenchPlugin;
import org.jkiss.code.NotNull;
import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.DBeaverPreferences;
......@@ -33,12 +30,13 @@ import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.core.Log;
import org.jkiss.dbeaver.model.DBPContextProvider;
import org.jkiss.dbeaver.model.DBPDataSource;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.model.IDataSourceContainerProvider;
import org.jkiss.dbeaver.model.exec.DBCExecutionContext;
import org.jkiss.dbeaver.model.struct.DBSDataSourceContainer;
import org.jkiss.dbeaver.registry.DataSourceRegistry;
import org.jkiss.dbeaver.utils.TextUtils;
import org.jkiss.dbeaver.ui.editors.ProjectFileEditorInput;
import org.jkiss.dbeaver.utils.TextUtils;
import java.io.ByteArrayInputStream;
import java.util.HashMap;
......@@ -78,7 +76,7 @@ public class SQLEditorInput extends ProjectFileEditorInput implements IPersistab
public String getName()
{
DBSDataSourceContainer dataSourceContainer = getDataSourceContainer();
IPreferenceStore preferenceStore;
DBPPreferenceStore preferenceStore;
if (dataSourceContainer != null) {
preferenceStore = dataSourceContainer.getPreferenceStore();
} else {
......
......@@ -17,7 +17,6 @@
*/
package org.jkiss.dbeaver.ui.editors.sql;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.text.*;
import org.eclipse.jface.text.contentassist.ContentAssistant;
import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
......@@ -37,8 +36,6 @@ import org.eclipse.jface.text.rules.Token;
import org.eclipse.jface.text.source.IAnnotationHover;
import org.eclipse.jface.text.source.ISourceViewer;
import org.eclipse.jface.text.source.SourceViewerConfiguration;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.graphics.Color;
......@@ -48,6 +45,8 @@ import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.core.DBeaverUI;
import org.jkiss.dbeaver.model.DBPDataSource;
import org.jkiss.dbeaver.model.DBPPreferenceListener;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.runtime.sql.SQLConstants;
import org.jkiss.dbeaver.ui.editors.sql.indent.SQLAutoIndentStrategy;
import org.jkiss.dbeaver.ui.editors.sql.indent.SQLCommentAutoIndentStrategy;
......@@ -153,13 +152,13 @@ public class SQLEditorSourceViewerConfiguration extends SourceViewerConfiguratio
@Override
public IContentAssistant getContentAssistant(ISourceViewer sourceViewer)
{
IPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
final DBPDataSource dataSource = editor.getDataSource();
if (dataSource != null) {
store = dataSource.getContainer().getPreferenceStore();
}
final IPreferenceStore configStore = store;
final DBPPreferenceStore configStore = store;
final ContentAssistant assistant = new ContentAssistant();
......@@ -187,9 +186,9 @@ public class SQLEditorSourceViewerConfiguration extends SourceViewerConfiguratio
//Set auto insert mode.
assistant.enableAutoInsert(store.getBoolean(SQLPreferenceConstants.INSERT_SINGLE_PROPOSALS_AUTO));
final IPropertyChangeListener prefListener = new IPropertyChangeListener() {
final DBPPreferenceListener prefListener = new DBPPreferenceListener() {
@Override
public void propertyChange(PropertyChangeEvent event)
public void preferenceChange(PreferenceChangeEvent event)
{
if (event.getProperty().equals(SQLPreferenceConstants.ENABLE_AUTO_ACTIVATION)) {
assistant.enableAutoActivation(configStore.getBoolean(SQLPreferenceConstants.ENABLE_AUTO_ACTIVATION));
......
......@@ -17,10 +17,10 @@
*/
package org.jkiss.dbeaver.ui.editors.sql.indent;
import org.jkiss.dbeaver.core.Log;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.text.*;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.core.Log;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.ui.editors.sql.SQLPreferenceConstants;
import org.jkiss.dbeaver.ui.editors.sql.syntax.SQLPartitionScanner;
import org.jkiss.dbeaver.utils.GeneralUtils;
......@@ -151,7 +151,7 @@ public class SQLAutoIndentStrategy extends DefaultIndentLineAutoEditStrategy {
private void clearCachedValues()
{
autoCompletionMap.clear();
IPreferenceStore preferenceStore = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore preferenceStore = DBeaverCore.getGlobalPreferenceStore();
boolean closeBeginEnd = preferenceStore.getBoolean(SQLPreferenceConstants.SQLEDITOR_CLOSE_BEGIN_END);
if (closeBeginEnd) {
autoCompletionMap.put(SQLIndentSymbols.Tokenbegin, SQLIndentSymbols.beginTrail);
......
......@@ -17,10 +17,9 @@
*/
package org.jkiss.dbeaver.ui.editors.sql.indent;
import org.jkiss.dbeaver.core.Log;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.text.*;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.ui.editors.sql.SQLPreferenceConstants;
import org.jkiss.dbeaver.utils.GeneralUtils;
......@@ -32,8 +31,6 @@ import java.text.BreakIterator;
*/
public class SQLCommentAutoIndentStrategy extends DefaultIndentLineAutoEditStrategy {
static final Log log = Log.getLog(SQLCommentAutoIndentStrategy.class);
private static final int DEFAULT_MARGIN = 5;
private static final int DEFAULT_TAB_WIDTH = 4;
......@@ -542,7 +539,7 @@ public class SQLCommentAutoIndentStrategy extends DefaultIndentLineAutoEditStrat
return paragraphBuffer.toString();
}
private static IPreferenceStore getPreferenceStore()
private static DBPPreferenceStore getPreferenceStore()
{
return DBeaverCore.getGlobalPreferenceStore();
}
......
......@@ -17,7 +17,6 @@
*/
package org.jkiss.dbeaver.ui.editors.sql.syntax;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.text.ITextViewer;
import org.eclipse.jface.text.TextPresentation;
import org.eclipse.jface.text.contentassist.*;
......@@ -582,8 +581,8 @@ public class SQLCompletionProcessor implements IContentAssistProcessor
object);
}
private IPreferenceStore getPreferences() {
IPreferenceStore store = null;
private DBPPreferenceStore getPreferences() {
DBPPreferenceStore store = null;
DBPDataSource dataSource = editor.getDataSource();
if (dataSource != null) {
store = dataSource.getContainer().getPreferenceStore();
......@@ -605,7 +604,7 @@ public class SQLCompletionProcessor implements IContentAssistProcessor
boolean isObject,
@Nullable DBPNamedObject object)
{
IPreferenceStore store = getPreferences();
DBPPreferenceStore store = getPreferences();
DBPDataSource dataSource = editor.getDataSource();
if (dataSource != null) {
if (isObject) {
......
......@@ -26,6 +26,7 @@ import org.jkiss.dbeaver.core.Log;
import org.jkiss.dbeaver.registry.DataSourceProviderDescriptor;
import org.jkiss.dbeaver.registry.DataSourceProviderRegistry;
import org.jkiss.dbeaver.runtime.preferences.SimplePreferenceStore;
import org.jkiss.dbeaver.ui.preferences.PreferenceStoreDelegate;
import org.jkiss.dbeaver.utils.ContentUtils;
import org.jkiss.utils.CommonUtils;
import org.osgi.framework.Bundle;
......@@ -44,9 +45,6 @@ import java.util.ResourceBundle;
* <p>
* Clients may instantiate but not subclass this class.
* </p>
*
* @noextend This class is not intended to be subclassed by clients.
* @since 3.0
*/
public class SQLTemplateStore extends TemplateStore {
......@@ -55,7 +53,7 @@ public class SQLTemplateStore extends TemplateStore {
public SQLTemplateStore(ContextTypeRegistry registry)
{
super(registry, new CustomTemplatesStore(), PREF_STORE_KEY); //$NON-NLS-1$
super(registry, new PreferenceStoreDelegate(new CustomTemplatesStore()), PREF_STORE_KEY); //$NON-NLS-1$
}
/**
......@@ -188,7 +186,7 @@ public class SQLTemplateStore extends TemplateStore {
try {
File configurationFile = getConfigurationFile();
if (configurationFile.exists()) {
putValue(PREF_STORE_KEY, ContentUtils.readFileToString(configurationFile));
setValue(PREF_STORE_KEY, ContentUtils.readFileToString(configurationFile));
}
} catch (IOException e) {
log.error(e);
......
......@@ -42,6 +42,7 @@ import org.jkiss.dbeaver.ui.ProxyPageSite;
import org.jkiss.dbeaver.ui.editors.sql.SQLEditorBase;
import org.jkiss.dbeaver.ui.editors.sql.SQLEditorSourceViewer;
import org.jkiss.dbeaver.ui.editors.sql.SQLEditorSourceViewerConfiguration;
import org.jkiss.dbeaver.ui.preferences.PreferenceStoreDelegate;
/**
......@@ -135,7 +136,7 @@ public class SQLTemplatesPage extends AbstractTemplatesPage {
@Override
protected IPreferenceStore getTemplatePreferenceStore()
{
return DBeaverCore.getGlobalPreferenceStore();
return new PreferenceStoreDelegate(DBeaverCore.getGlobalPreferenceStore());
}
@Override
......
......@@ -49,6 +49,7 @@ import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.core.DBeaverUI;
import org.jkiss.dbeaver.ui.ICommentsSupport;
import org.jkiss.dbeaver.ui.ISingleControlEditor;
import org.jkiss.dbeaver.ui.preferences.PreferenceStoreDelegate;
import org.jkiss.dbeaver.ui.resources.ScriptsHandlerImpl;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import org.jkiss.dbeaver.model.runtime.DBRRunnableWithProgress;
......@@ -117,7 +118,7 @@ public abstract class BaseTextEditor extends StatusTextEditor implements ISingle
@Override
public void createPartControl(Composite parent)
{
setPreferenceStore(DBeaverCore.getGlobalPreferenceStore());
setPreferenceStore(new PreferenceStoreDelegate(DBeaverCore.getGlobalPreferenceStore()));
super.createPartControl(parent);
}
......
......@@ -19,11 +19,7 @@ package org.jkiss.dbeaver.ui.editors.text;
import org.eclipse.core.runtime.Assert;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.text.ITextViewer;
import org.eclipse.jface.text.source.*;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
......@@ -32,6 +28,8 @@ import org.eclipse.ui.texteditor.rulers.IContributedRulerColumn;
import org.eclipse.ui.texteditor.rulers.RulerColumnDescriptor;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.core.DBeaverUI;
import org.jkiss.dbeaver.model.DBPPreferenceListener;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
/**
* The line number ruler contribution. Encapsulates a {@link org.eclipse.jface.text.source.LineNumberChangeRulerColumn} as a
......@@ -205,7 +203,7 @@ public class LineNumberColumn implements IContributedRulerColumn, IVerticalRuler
((IVerticalRulerInfoExtension) fDelegate).removeVerticalRulerListener(listener);
}
private IPreferenceStore getPreferenceStore()
private DBPPreferenceStore getPreferenceStore()
{
return DBeaverCore.getGlobalPreferenceStore();
}
......@@ -220,7 +218,7 @@ public class LineNumberColumn implements IContributedRulerColumn, IVerticalRuler
*/
private void initialize()
{
final IPreferenceStore store = getPreferenceStore();
final DBPPreferenceStore store = getPreferenceStore();
if (store == null)
return;
......@@ -235,9 +233,9 @@ public class LineNumberColumn implements IContributedRulerColumn, IVerticalRuler
// listen to changes
fDispatcher = new PropertyEventDispatcher(store);
fDispatcher.addPropertyChangeListener(LINE_NUMBER_KEY, new IPropertyChangeListener() {
fDispatcher.addPropertyChangeListener(LINE_NUMBER_KEY, new DBPPreferenceListener() {
@Override
public void propertyChange(PropertyChangeEvent event)
public void preferenceChange(PreferenceChangeEvent event)
{
// only handle quick diff on/off information, but not ruler visibility (handled by AbstractDecoratedTextEditor)
updateLineNumbersVisibility(fDelegate);
......@@ -272,7 +270,7 @@ public class LineNumberColumn implements IContributedRulerColumn, IVerticalRuler
*/
public void initializeLineNumberRulerColumn(LineNumberRulerColumn rulerColumn)
{
IPreferenceStore store = getPreferenceStore();
DBPPreferenceStore store = getPreferenceStore();
if (store != null) {
updateLineNumbersVisibility(rulerColumn);
}
......
......@@ -18,23 +18,23 @@
package org.jkiss.dbeaver.ui.editors.text;
import org.eclipse.core.runtime.Assert;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.jkiss.dbeaver.model.DBPPreferenceListener;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import java.util.*;
public final class PropertyEventDispatcher {
private final Map fHandlerMap= new HashMap();
private final Map fReverseMap= new HashMap();
private final IPreferenceStore fStore;
private final IPropertyChangeListener fListener= new IPropertyChangeListener() {
private final DBPPreferenceStore fStore;
private final DBPPreferenceListener fListener= new DBPPreferenceListener() {
@Override
public void propertyChange(PropertyChangeEvent event) {
public void preferenceChange(PreferenceChangeEvent event) {
firePropertyChange(event);
}
};
public PropertyEventDispatcher(IPreferenceStore store) {
public PropertyEventDispatcher(DBPPreferenceStore store) {
Assert.isLegal(store != null);
fStore= store;
}
......@@ -44,15 +44,15 @@ public final class PropertyEventDispatcher {
fReverseMap.clear();
fHandlerMap.clear();
}
private void firePropertyChange(PropertyChangeEvent event) {
private void firePropertyChange(DBPPreferenceListener.PreferenceChangeEvent event) {
Object value= fHandlerMap.get(event.getProperty());
if (value instanceof IPropertyChangeListener)
((IPropertyChangeListener) value).propertyChange(event);
if (value instanceof DBPPreferenceListener)
((DBPPreferenceListener) value).preferenceChange(event);
else if (value instanceof Set)
for (Iterator it= ((Set) value).iterator(); it.hasNext(); )
((IPropertyChangeListener) it.next()).propertyChange(event);
((DBPPreferenceListener) it.next()).preferenceChange(event);
}
public void addPropertyChangeListener(String property, IPropertyChangeListener listener) {
public void addPropertyChangeListener(String property, DBPPreferenceListener listener) {
Assert.isLegal(property != null);
Assert.isLegal(listener != null);
......
......@@ -17,8 +17,6 @@
*/
package org.jkiss.dbeaver.ui.perspective;
import org.jkiss.code.NotNull;
import org.jkiss.dbeaver.core.Log;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IAdaptable;
......@@ -26,9 +24,6 @@ import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.IJobChangeEvent;
import org.eclipse.core.runtime.jobs.JobChangeAdapter;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.SWT;
......@@ -38,15 +33,14 @@ import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.*;
import org.eclipse.ui.*;
import org.eclipse.ui.menus.WorkbenchWindowControlContribution;
import org.jkiss.code.NotNull;
import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.core.DBeaverUI;
import org.jkiss.dbeaver.model.IDataSourceContainerProvider;
import org.jkiss.dbeaver.model.IDataSourceContainerProviderEx;
import org.jkiss.dbeaver.model.DBPContextProvider;
import org.jkiss.dbeaver.core.Log;
import org.jkiss.dbeaver.model.*;
import org.jkiss.dbeaver.model.exec.DBCExecutionContext;
import org.jkiss.dbeaver.model.navigator.DBNDatabaseNode;
......@@ -61,7 +55,6 @@ import org.jkiss.dbeaver.registry.DataSourceProviderRegistry;
import org.jkiss.dbeaver.registry.DataSourceRegistry;
import org.jkiss.dbeaver.runtime.RuntimeUtils;
import org.jkiss.dbeaver.runtime.jobs.DataSourceJob;
import org.jkiss.dbeaver.model.DBIcon;
import org.jkiss.dbeaver.ui.DBeaverIcons;
import org.jkiss.dbeaver.ui.IActionConstants;
import org.jkiss.dbeaver.ui.UIUtils;
......@@ -78,7 +71,7 @@ import java.util.List;
/**
* DataSource Toolbar
*/
public class DataSourceManagementToolbar implements DBPRegistryListener, DBPEventListener, IPropertyChangeListener, IPageListener, IPartListener, ISelectionListener {
public class DataSourceManagementToolbar implements DBPRegistryListener, DBPEventListener, DBPPreferenceListener, IPageListener, IPartListener, ISelectionListener {
static final Log log = Log.getLog(DataSourceManagementToolbar.class);
public static final String EMPTY_SELECTION_TEXT = CoreMessages.toolbar_datasource_selector_empty;
......@@ -428,7 +421,7 @@ public class DataSourceManagementToolbar implements DBPRegistryListener, DBPEven
if (rsSize.length() == 0) {
rsSize = "1"; //$NON-NLS-1$
}
IPreferenceStore store = dsContainer.getPreferenceStore();
DBPPreferenceStore store = dsContainer.getPreferenceStore();
store.setValue(DBeaverPreferences.RESULT_SET_MAX_ROWS, rsSize);
RuntimeUtils.savePreferenceStore(store);
}
......@@ -634,7 +627,7 @@ public class DataSourceManagementToolbar implements DBPRegistryListener, DBPEven
}
@Override
public void propertyChange(PropertyChangeEvent event)
public void preferenceChange(PreferenceChangeEvent event)
{
if (event.getProperty().equals(DBeaverPreferences.RESULT_SET_MAX_ROWS) && !resultSetSize.isDisposed()) {
if (event.getNewValue() != null) {
......
......@@ -18,7 +18,6 @@
*/
package org.jkiss.dbeaver.ui.preferences;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferencePage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
......@@ -32,6 +31,7 @@ import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.core.DBeaverActivator;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.runtime.RuntimeUtils;
import org.jkiss.dbeaver.ui.UIUtils;
import org.jkiss.dbeaver.ui.dialogs.ConfirmationDialog;
......@@ -102,7 +102,7 @@ public class PrefPageConfirmations extends PreferencePage implements IWorkbenchP
@Override
protected void performDefaults()
{
IPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
for (Map.Entry<String, Combo> entry : confirmChecks.entrySet()) {
String id = entry.getKey();
......@@ -122,7 +122,7 @@ public class PrefPageConfirmations extends PreferencePage implements IWorkbenchP
@Override
public boolean performOk()
{
IPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
for (Map.Entry<String, Combo> entry : confirmChecks.entrySet()) {
String id = entry.getKey();
......
......@@ -18,12 +18,12 @@
*/
package org.jkiss.dbeaver.ui.preferences;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.*;
import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.registry.DataSourceDescriptor;
import org.jkiss.dbeaver.runtime.RuntimeUtils;
import org.jkiss.dbeaver.ui.UIUtils;
......@@ -114,7 +114,7 @@ public class PrefPageDataEditor extends TargetPrefPage
}
@Override
protected void loadPreferences(IPreferenceStore store)
protected void loadPreferences(DBPPreferenceStore store)
{
try {
alwaysUseAllColumns.setSelection(store.getBoolean(DBeaverPreferences.RS_EDIT_USE_ALL_COLUMNS));
......@@ -129,7 +129,7 @@ public class PrefPageDataEditor extends TargetPrefPage
}
@Override
protected void savePreferences(IPreferenceStore store)
protected void savePreferences(DBPPreferenceStore store)
{
try {
store.setValue(DBeaverPreferences.RS_EDIT_USE_ALL_COLUMNS, alwaysUseAllColumns.getSelection());
......@@ -145,7 +145,7 @@ public class PrefPageDataEditor extends TargetPrefPage
}
@Override
protected void clearPreferences(IPreferenceStore store)
protected void clearPreferences(DBPPreferenceStore store)
{
store.setToDefault(DBeaverPreferences.RS_EDIT_USE_ALL_COLUMNS);
store.setToDefault(DBeaverPreferences.RS_EDIT_MAX_TEXT_SIZE);
......
......@@ -18,7 +18,6 @@
*/
package org.jkiss.dbeaver.ui.preferences;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
......@@ -28,6 +27,7 @@ import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.*;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.model.data.DBDDataFormatter;
import org.jkiss.dbeaver.model.data.DBDDataFormatterProfile;
import org.jkiss.dbeaver.registry.DataFormatterDescriptor;
......@@ -69,7 +69,7 @@ public class PrefPageDataFormat extends TargetPrefPage
public PrefPageDataFormat()
{
super();
setPreferenceStore(DBeaverCore.getGlobalPreferenceStore());
setPreferenceStore(new PreferenceStoreDelegate(DBeaverCore.getGlobalPreferenceStore()));
}
@Override
......@@ -341,7 +341,7 @@ public class PrefPageDataFormat extends TargetPrefPage
}
@Override
protected void loadPreferences(IPreferenceStore store)
protected void loadPreferences(DBPPreferenceStore store)
{
refreshProfileList();
......@@ -349,7 +349,7 @@ public class PrefPageDataFormat extends TargetPrefPage
}
@Override
protected void savePreferences(IPreferenceStore store)
protected void savePreferences(DBPPreferenceStore store)
{
try {
formatterProfile.setProfileName(profileName);
......@@ -365,7 +365,7 @@ public class PrefPageDataFormat extends TargetPrefPage
}
@Override
protected void clearPreferences(IPreferenceStore store)
protected void clearPreferences(DBPPreferenceStore store)
{
formatterProfile.reset();
}
......
......@@ -19,7 +19,6 @@
package org.jkiss.dbeaver.ui.preferences;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferencePage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
......@@ -31,6 +30,7 @@ import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.runtime.RuntimeUtils;
import org.jkiss.dbeaver.ui.UIUtils;
import org.jkiss.dbeaver.ui.views.navigator.database.NavigatorViewBase;
......@@ -58,7 +58,7 @@ public class PrefPageDatabaseGeneral extends PreferencePage implements IWorkbenc
public PrefPageDatabaseGeneral()
{
super();
setPreferenceStore(DBeaverCore.getGlobalPreferenceStore());
setPreferenceStore(new PreferenceStoreDelegate(DBeaverCore.getGlobalPreferenceStore()));
}
@Override
......@@ -117,7 +117,7 @@ public class PrefPageDatabaseGeneral extends PreferencePage implements IWorkbenc
@Override
protected void performDefaults()
{
IPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
automaticUpdateCheck.setSelection(store.getBoolean(DBeaverPreferences.UI_AUTO_UPDATE_CHECK));
keepEditorsOnRestart.setSelection(store.getBoolean(DBeaverPreferences.UI_KEEP_DATABASE_EDITORS));
......@@ -134,7 +134,7 @@ public class PrefPageDatabaseGeneral extends PreferencePage implements IWorkbenc
@Override
public boolean performOk()
{
IPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
store.setValue(DBeaverPreferences.UI_AUTO_UPDATE_CHECK, automaticUpdateCheck.getSelection());
store.setValue(DBeaverPreferences.UI_KEEP_DATABASE_EDITORS, keepEditorsOnRestart.getSelection());
......
......@@ -18,9 +18,7 @@
*/
package org.jkiss.dbeaver.ui.preferences;
import org.jkiss.dbeaver.core.Log;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferencePage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
......@@ -33,6 +31,8 @@ import org.eclipse.ui.IWorkbenchPropertyPage;
import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.core.Log;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.registry.DriverDescriptor;
import org.jkiss.dbeaver.registry.encode.EncryptionException;
import org.jkiss.dbeaver.registry.encode.SecuredPasswordEncrypter;
......@@ -163,7 +163,7 @@ public class PrefPageDrivers extends PreferencePage implements IWorkbenchPrefere
@Override
protected void performDefaults()
{
IPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
proxyHostText.setText(store.getString(DBeaverPreferences.UI_PROXY_HOST));
proxyPortSpinner.setSelection(store.getInt(DBeaverPreferences.UI_PROXY_PORT));
......@@ -189,7 +189,7 @@ public class PrefPageDrivers extends PreferencePage implements IWorkbenchPrefere
@Override
public boolean performOk()
{
IPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
store.setValue(DBeaverPreferences.UI_PROXY_HOST, proxyHostText.getText());
store.setValue(DBeaverPreferences.UI_PROXY_PORT, proxyPortSpinner.getSelection());
store.setValue(DBeaverPreferences.UI_PROXY_USER, proxyUserText.getText());
......
......@@ -18,7 +18,6 @@
*/
package org.jkiss.dbeaver.ui.preferences;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
......@@ -26,6 +25,7 @@ import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Group;
import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.registry.DataSourceDescriptor;
import org.jkiss.dbeaver.runtime.RuntimeUtils;
import org.jkiss.dbeaver.ui.UIUtils;
......@@ -82,7 +82,7 @@ public class PrefPageMetaData extends TargetPrefPage
}
@Override
protected void loadPreferences(IPreferenceStore store)
protected void loadPreferences(DBPPreferenceStore store)
{
try {
readExpensiveCheck.setSelection(store.getBoolean(DBeaverPreferences.READ_EXPENSIVE_PROPERTIES));
......@@ -94,7 +94,7 @@ public class PrefPageMetaData extends TargetPrefPage
}
@Override
protected void savePreferences(IPreferenceStore store)
protected void savePreferences(DBPPreferenceStore store)
{
try {
store.setValue(DBeaverPreferences.READ_EXPENSIVE_PROPERTIES, readExpensiveCheck.getSelection());
......@@ -107,7 +107,7 @@ public class PrefPageMetaData extends TargetPrefPage
}
@Override
protected void clearPreferences(IPreferenceStore store)
protected void clearPreferences(DBPPreferenceStore store)
{
store.setToDefault(DBeaverPreferences.READ_EXPENSIVE_PROPERTIES);
store.setToDefault(DBeaverPreferences.META_SEPARATE_CONNECTION);
......
......@@ -19,7 +19,6 @@
package org.jkiss.dbeaver.ui.preferences;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferencePage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
......@@ -31,6 +30,7 @@ import org.eclipse.ui.IWorkbenchPreferencePage;
import org.eclipse.ui.IWorkbenchPropertyPage;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.model.exec.DBCExecutionPurpose;
import org.jkiss.dbeaver.runtime.RuntimeUtils;
import org.jkiss.dbeaver.runtime.qm.QMConstants;
......@@ -118,7 +118,7 @@ public class PrefPageQueryManager extends PreferencePage implements IWorkbenchPr
@Override
protected void performDefaults()
{
IPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
Collection<QMObjectType> objectTypes = QMObjectType.fromString(store.getString(QMConstants.PROP_OBJECT_TYPES));
Collection<String> queryTypes = CommonUtils.splitString(store.getString(QMConstants.PROP_QUERY_TYPES), ',');
......@@ -160,7 +160,7 @@ public class PrefPageQueryManager extends PreferencePage implements IWorkbenchPr
Integer historyDays = UIUtils.getTextInteger(textHistoryDays);
Integer entriesPerPage = UIUtils.getTextInteger(textEntriesPerPage);
IPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
store.setValue(QMConstants.PROP_OBJECT_TYPES, QMObjectType.toString(objectTypes));
store.setValue(QMConstants.PROP_QUERY_TYPES, CommonUtils.makeString(queryTypes, ','));
if (historyDays != null) {
......
......@@ -18,9 +18,7 @@
*/
package org.jkiss.dbeaver.ui.preferences;
import org.jkiss.dbeaver.core.Log;
import org.eclipse.core.runtime.content.IContentType;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferencePage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.TableEditor;
......@@ -32,6 +30,8 @@ import org.eclipse.swt.widgets.*;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.core.Log;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.registry.ResourceHandlerDescriptor;
import org.jkiss.dbeaver.runtime.RuntimeUtils;
import org.jkiss.dbeaver.ui.UIUtils;
......@@ -125,7 +125,7 @@ public class PrefPageResources extends PreferencePage implements IWorkbenchPrefe
@Override
public boolean performOk()
{
IPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
DBPPreferenceStore store = DBeaverCore.getGlobalPreferenceStore();
//store.setValue(DBeaverPreferences.UI_AUTO_UPDATE_CHECK, automaticUpdateCheck.getSelection());
RuntimeUtils.savePreferenceStore(store);
......
......@@ -18,13 +18,13 @@
*/
package org.jkiss.dbeaver.ui.preferences;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.*;
import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.model.DBUtils;
import org.jkiss.dbeaver.model.data.DBDBinaryFormatter;
import org.jkiss.dbeaver.model.data.DBDValueController;
......@@ -179,7 +179,7 @@ public class PrefPageResultSet extends TargetPrefPage
}
@Override
protected void loadPreferences(IPreferenceStore store)
protected void loadPreferences(DBPPreferenceStore store)
{
try {
autoFetchNextSegmentCheck.setSelection(store.getBoolean(DBeaverPreferences.RESULT_SET_AUTO_FETCH_NEXT_SEGMENT));
......@@ -218,7 +218,7 @@ public class PrefPageResultSet extends TargetPrefPage
}
@Override
protected void savePreferences(IPreferenceStore store)
protected void savePreferences(DBPPreferenceStore store)
{
try {
store.setValue(DBeaverPreferences.RESULT_SET_AUTO_FETCH_NEXT_SEGMENT, autoFetchNextSegmentCheck.getSelection());
......@@ -254,7 +254,7 @@ public class PrefPageResultSet extends TargetPrefPage
}
@Override
protected void clearPreferences(IPreferenceStore store)
protected void clearPreferences(DBPPreferenceStore store)
{
store.setToDefault(DBeaverPreferences.RESULT_SET_AUTO_FETCH_NEXT_SEGMENT);
store.setToDefault(DBeaverPreferences.RESULT_SET_MAX_ROWS);
......
......@@ -18,7 +18,6 @@
*/
package org.jkiss.dbeaver.ui.preferences;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
......@@ -29,6 +28,7 @@ import org.eclipse.ui.texteditor.rulers.RulerColumnPreferenceAdapter;
import org.eclipse.ui.texteditor.rulers.RulerColumnRegistry;
import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.registry.DataSourceDescriptor;
import org.jkiss.dbeaver.runtime.RuntimeUtils;
import org.jkiss.dbeaver.ui.UIUtils;
......@@ -178,7 +178,7 @@ public class PrefPageSQLEditor extends TargetPrefPage
}
@Override
protected void loadPreferences(IPreferenceStore store)
protected void loadPreferences(DBPPreferenceStore store)
{
try {
editorSeparateConnectionCheck.setSelection(store.getBoolean(DBeaverPreferences.EDITOR_SEPARATE_CONNECTION));
......@@ -193,7 +193,7 @@ public class PrefPageSQLEditor extends TargetPrefPage
acBracketsCheck.setSelection(store.getBoolean(SQLPreferenceConstants.SQLEDITOR_CLOSE_BRACKETS));
final RulerColumnPreferenceAdapter adapter = new RulerColumnPreferenceAdapter(
store,
new PreferenceStoreDelegate(store),
AbstractTextEditor.PREFERENCE_RULER_CONTRIBUTIONS);
for (Map.Entry<RulerColumnDescriptor, Button> entry : rulerChecks.entrySet()) {
entry.getValue().setSelection(adapter.isEnabled(entry.getKey()));
......@@ -207,7 +207,7 @@ public class PrefPageSQLEditor extends TargetPrefPage
}
@Override
protected void savePreferences(IPreferenceStore store)
protected void savePreferences(DBPPreferenceStore store)
{
try {
store.setValue(DBeaverPreferences.EDITOR_SEPARATE_CONNECTION, editorSeparateConnectionCheck.getSelection());
......@@ -223,7 +223,7 @@ public class PrefPageSQLEditor extends TargetPrefPage
store.setValue(SQLPreferenceConstants.SQLEDITOR_CLOSE_BRACKETS, acBracketsCheck.getSelection());
final RulerColumnPreferenceAdapter adapter = new RulerColumnPreferenceAdapter(
store,
new PreferenceStoreDelegate(store),
AbstractTextEditor.PREFERENCE_RULER_CONTRIBUTIONS);
for (Map.Entry<RulerColumnDescriptor, Button> entry : rulerChecks.entrySet()) {
adapter.setEnabled(entry.getKey(), entry.getValue().getSelection());
......@@ -238,7 +238,7 @@ public class PrefPageSQLEditor extends TargetPrefPage
}
@Override
protected void clearPreferences(IPreferenceStore store)
protected void clearPreferences(DBPPreferenceStore store)
{
store.setToDefault(DBeaverPreferences.EDITOR_SEPARATE_CONNECTION);
......
......@@ -18,12 +18,12 @@
*/
package org.jkiss.dbeaver.ui.preferences;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.*;
import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.registry.DataSourceDescriptor;
import org.jkiss.dbeaver.runtime.RuntimeUtils;
import org.jkiss.dbeaver.runtime.sql.SQLScriptCommitType;
......@@ -142,7 +142,7 @@ public class PrefPageSQLExecute extends TargetPrefPage
}
@Override
protected void loadPreferences(IPreferenceStore store)
protected void loadPreferences(DBPPreferenceStore store)
{
try {
invalidateBeforeExecuteCheck.setSelection(store.getBoolean(DBeaverPreferences.STATEMENT_INVALIDATE_BEFORE_EXECUTE));
......@@ -161,7 +161,7 @@ public class PrefPageSQLExecute extends TargetPrefPage
}
@Override
protected void savePreferences(IPreferenceStore store)
protected void savePreferences(DBPPreferenceStore store)
{
try {
store.setValue(DBeaverPreferences.STATEMENT_INVALIDATE_BEFORE_EXECUTE, invalidateBeforeExecuteCheck.getSelection());
......@@ -181,7 +181,7 @@ public class PrefPageSQLExecute extends TargetPrefPage
}
@Override
protected void clearPreferences(IPreferenceStore store)
protected void clearPreferences(DBPPreferenceStore store)
{
store.setToDefault(DBeaverPreferences.STATEMENT_INVALIDATE_BEFORE_EXECUTE);
store.setToDefault(DBeaverPreferences.STATEMENT_TIMEOUT);
......
......@@ -30,7 +30,7 @@ import org.jkiss.dbeaver.ui.editors.sql.templates.SQLTemplatesRegistry;
public class PrefPageSQLTemplates extends TemplatePreferencePage implements IWorkbenchPropertyPage {
public PrefPageSQLTemplates()
{
setPreferenceStore(DBeaverCore.getGlobalPreferenceStore());
setPreferenceStore(new PreferenceStoreDelegate(DBeaverCore.getGlobalPreferenceStore()));
setTemplateStore(SQLTemplatesRegistry.getInstance().getTemplateStore());
setContextTypeRegistry(SQLTemplatesRegistry.getInstance().getTemplateContextRegistry());
}
......
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2015 Serge Rieder (serge@jkiss.org)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License (version 2)
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* 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.ui.preferences;
import org.eclipse.jface.preference.IPersistentPreferenceStore;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferencePage;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
import org.jkiss.dbeaver.model.DBPPreferenceListener;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import java.io.IOException;
/**
* PrefPageEmpty
*/
public class PreferenceStoreDelegate implements IPreferenceStore, IPersistentPreferenceStore
{
private final DBPPreferenceStore delegate;
private static class PropertyChangeListenerDelegate implements IPropertyChangeListener {
private final DBPPreferenceListener delegate;
public PropertyChangeListenerDelegate(DBPPreferenceListener delegate) {
this.delegate = delegate;
}
@Override
public void propertyChange(PropertyChangeEvent event) {
delegate.preferenceChange(
new DBPPreferenceListener.PreferenceChangeEvent(
event.getSource(),
event.getProperty(),
event.getOldValue(),
event.getNewValue()
));
}
}
public PreferenceStoreDelegate(DBPPreferenceStore delegate) {
this.delegate = delegate;
}
@Override
public void save() throws IOException {
delegate.save();
}
@Override
public void addPropertyChangeListener(IPropertyChangeListener listener) {
}
@Override
public void removePropertyChangeListener(IPropertyChangeListener listener) {
}
@Override
public void firePropertyChangeEvent(String name, Object oldValue, Object newValue) {
delegate.firePropertyChangeEvent(name, oldValue, newValue);
}
@Override
public boolean contains(String name) {
return delegate.contains(name);
}
@Override
public boolean getBoolean(String name) {
return delegate.getBoolean(name);
}
@Override
public boolean getDefaultBoolean(String name) {
return delegate.getDefaultBoolean(name);
}
@Override
public double getDefaultDouble(String name) {
return delegate.getDefaultDouble(name);
}
@Override
public float getDefaultFloat(String name) {
return delegate.getDefaultFloat(name);
}
@Override
public int getDefaultInt(String name) {
return delegate.getDefaultInt(name);
}
@Override
public long getDefaultLong(String name) {
return delegate.getDefaultLong(name);
}
@Override
public String getDefaultString(String name) {
return delegate.getDefaultString(name);
}
@Override
public double getDouble(String name) {
return delegate.getDouble(name);
}
@Override
public float getFloat(String name) {
return delegate.getFloat(name);
}
@Override
public int getInt(String name) {
return delegate.getInt(name);
}
@Override
public long getLong(String name) {
return delegate.getLong(name);
}
@Override
public String getString(String name) {
return delegate.getString(name);
}
@Override
public boolean isDefault(String name) {
return delegate.isDefault(name);
}
@Override
public boolean needsSaving() {
return delegate.needsSaving();
}
@Override
public void putValue(String name, String value) {
delegate.setValue(name, value);
}
@Override
public void setDefault(String name, double value) {
delegate.setDefault(name, value);
}
@Override
public void setDefault(String name, float value) {
delegate.setDefault(name, value);
}
@Override
public void setDefault(String name, int value) {
delegate.setDefault(name, value);
}
@Override
public void setDefault(String name, long value) {
delegate.setDefault(name, value);
}
@Override
public void setDefault(String name, String defaultObject) {
delegate.setDefault(name, defaultObject);
}
@Override
public void setDefault(String name, boolean value) {
delegate.setDefault(name, value);
}
@Override
public void setToDefault(String name) {
delegate.setToDefault(name);
}
@Override
public void setValue(String name, double value) {
delegate.setValue(name, value);
}
@Override
public void setValue(String name, float value) {
delegate.setValue(name, value);
}
@Override
public void setValue(String name, int value) {
delegate.setValue(name, value);
}
@Override
public void setValue(String name, long value) {
delegate.setValue(name, value);
}
@Override
public void setValue(String name, String value) {
delegate.setValue(name, value);
}
@Override
public void setValue(String name, boolean value) {
delegate.setValue(name, value);
}
}
......@@ -39,6 +39,7 @@ import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.core.Log;
import org.jkiss.dbeaver.model.DBPContextProvider;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.model.exec.DBCExecutionContext;
import org.jkiss.dbeaver.model.navigator.DBNDataSource;
import org.jkiss.dbeaver.model.navigator.DBNNode;
......@@ -81,9 +82,9 @@ public abstract class TargetPrefPage extends PreferencePage implements IWorkbenc
protected abstract Control createPreferenceContent(Composite composite);
protected abstract void loadPreferences(IPreferenceStore store);
protected abstract void savePreferences(IPreferenceStore store);
protected abstract void clearPreferences(IPreferenceStore store);
protected abstract void loadPreferences(DBPPreferenceStore store);
protected abstract void savePreferences(DBPPreferenceStore store);
protected abstract void clearPreferences(DBPPreferenceStore store);
protected abstract String getPropertyPageID();
......@@ -187,7 +188,7 @@ public abstract class TargetPrefPage extends PreferencePage implements IWorkbenc
}
{
IPreferenceStore store = useDataSourceSettings() ?
DBPPreferenceStore store = useDataSourceSettings() ?
getDataSourceContainer().getPreferenceStore() :
DBeaverCore.getGlobalPreferenceStore();
loadPreferences(store);
......@@ -308,7 +309,7 @@ public abstract class TargetPrefPage extends PreferencePage implements IWorkbenc
@Override
public final boolean performOk()
{
IPreferenceStore store = isDataSourcePreferencePage() ?
DBPPreferenceStore store = isDataSourcePreferencePage() ?
getDataSourceContainer().getPreferenceStore() :
DBeaverCore.getGlobalPreferenceStore();
if (isDataSourcePreferencePage() && !useDataSourceSettings()) {
......
......@@ -22,6 +22,7 @@ import org.eclipse.jface.viewers.IFilter;
import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.model.DBPDataSource;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.model.struct.DBSDataSourceContainer;
/**
......@@ -42,7 +43,7 @@ public class DataSourcePropertyFilter implements IFilter {
public DataSourcePropertyFilter(DBSDataSourceContainer container)
{
IPreferenceStore store = container != null ?
DBPPreferenceStore store = container != null ?
container.getPreferenceStore() :
DBeaverCore.getGlobalPreferenceStore();
this.showExpensive = store.getBoolean(DBeaverPreferences.READ_EXPENSIVE_PROPERTIES);
......
......@@ -17,19 +17,16 @@
*/
package org.jkiss.dbeaver.ui.search;
import org.jkiss.dbeaver.core.Log;
import org.eclipse.jface.dialogs.DialogPage;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.viewers.CheckboxTreeViewer;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.core.DBeaverUI;
import org.jkiss.dbeaver.core.Log;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.model.navigator.DBNDataSource;
import org.jkiss.dbeaver.model.navigator.DBNModel;
import org.jkiss.dbeaver.model.navigator.DBNNode;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import org.jkiss.dbeaver.model.runtime.DBRRunnableWithProgress;
import org.jkiss.dbeaver.ui.views.navigator.database.DatabaseNavigatorTree;
import org.jkiss.utils.CommonUtils;
import java.lang.reflect.InvocationTargetException;
......@@ -62,7 +59,7 @@ public abstract class AbstractSearchPage extends DialogPage implements IObjectSe
protected abstract void updateEnablement();
protected static List<DBNNode> loadTreeState(IPreferenceStore store, String propName)
protected static List<DBNNode> loadTreeState(DBPPreferenceStore store, String propName)
{
final List<DBNNode> result = new ArrayList<DBNNode>();
final String sources = store.getString(propName);
......
......@@ -20,6 +20,7 @@ package org.jkiss.dbeaver.ui.search;
import org.eclipse.jface.dialogs.IDialogPage;
import org.eclipse.jface.preference.IPreferenceStore;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
/**
* Search page
......@@ -30,7 +31,7 @@ public interface IObjectSearchPage extends IDialogPage {
IObjectSearchQuery createQuery() throws DBException;
void loadState(IPreferenceStore store);
void loadState(DBPPreferenceStore store);
void saveState(IPreferenceStore store);
void saveState(DBPPreferenceStore store);
}
......@@ -17,17 +17,20 @@
*/
package org.jkiss.dbeaver.ui.search.data;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.viewers.*;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.SashForm;
import org.eclipse.swt.events.*;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.*;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.model.navigator.*;
import org.jkiss.dbeaver.model.struct.*;
import org.jkiss.dbeaver.ui.UIUtils;
......@@ -59,7 +62,7 @@ public class SearchDataPage extends AbstractSearchPage {
private SearchDataParams params = new SearchDataParams();
private Set<String> searchHistory = new LinkedHashSet<String>();
private CheckboxTreeManager checkboxTreeManager;
private IPreferenceStore store;
private DBPPreferenceStore store;
public SearchDataPage() {
super("Database objects search");
......@@ -248,7 +251,7 @@ public class SearchDataPage extends AbstractSearchPage {
}
@Override
public void loadState(IPreferenceStore store)
public void loadState(DBPPreferenceStore store)
{
params.searchString = store.getString(PROP_MASK);
params.caseSensitive = store.getBoolean(PROP_CASE_SENSITIVE);
......@@ -267,7 +270,7 @@ public class SearchDataPage extends AbstractSearchPage {
}
@Override
public void saveState(IPreferenceStore store)
public void saveState(DBPPreferenceStore store)
{
store.setValue(PROP_MASK, params.searchString);
store.setValue(PROP_CASE_SENSITIVE, params.caseSensitive);
......@@ -290,7 +293,7 @@ public class SearchDataPage extends AbstractSearchPage {
}
}
protected static void saveTreeState(IPreferenceStore store, String propName, DatabaseNavigatorTree tree)
protected static void saveTreeState(DBPPreferenceStore store, String propName, DatabaseNavigatorTree tree)
{
// Object sources
StringBuilder sourcesString = new StringBuilder();
......
......@@ -18,7 +18,6 @@
package org.jkiss.dbeaver.ui.search.metadata;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.viewers.*;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.SashForm;
......@@ -30,6 +29,7 @@ import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.model.DBPDataSource;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.model.DBUtils;
import org.jkiss.dbeaver.model.navigator.*;
import org.jkiss.dbeaver.model.runtime.DBRProcessListener;
......@@ -387,7 +387,7 @@ public class SearchMetadataPage extends AbstractSearchPage {
}
@Override
public void loadState(IPreferenceStore store)
public void loadState(DBPPreferenceStore store)
{
nameMask = store.getString(PROP_MASK);
caseSensitive = store.getBoolean(PROP_CASE_SENSITIVE);
......@@ -414,7 +414,7 @@ public class SearchMetadataPage extends AbstractSearchPage {
}
@Override
public void saveState(IPreferenceStore store)
public void saveState(DBPPreferenceStore store)
{
store.setValue(PROP_MASK, nameMask);
store.setValue(PROP_CASE_SENSITIVE, caseSensitive);
......@@ -459,7 +459,7 @@ public class SearchMetadataPage extends AbstractSearchPage {
container.setSearchEnabled(enabled);
}
protected static void saveTreeState(IPreferenceStore store, String propName, DatabaseNavigatorTree tree)
protected static void saveTreeState(DBPPreferenceStore store, String propName, DatabaseNavigatorTree tree)
{
// Object sources
StringBuilder sourcesString = new StringBuilder();
......
......@@ -18,10 +18,10 @@
package org.jkiss.dbeaver.utils;
import org.eclipse.jface.preference.IPreferenceStore;
import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.model.DBPDataSource;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.utils.CommonUtils;
import java.io.IOException;
......@@ -91,7 +91,7 @@ public class GeneralUtils {
public static String getDefaultBinaryFileEncoding(DBPDataSource dataSource)
{
IPreferenceStore preferenceStore;
DBPPreferenceStore preferenceStore;
if (dataSource == null) {
preferenceStore = DBeaverCore.getGlobalPreferenceStore();
} else {
......
......@@ -17,10 +17,10 @@
*/
package org.jkiss.dbeaver.ext.erd;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.jkiss.dbeaver.runtime.RuntimeUtils;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.runtime.preferences.BundlePreferenceStore;
import org.osgi.framework.BundleContext;
import java.util.MissingResourceException;
......@@ -39,20 +39,19 @@ public class Activator extends AbstractUIPlugin {
private static ResourceBundle resourceBundle;
/**
* The constructor
*/
private DBPPreferenceStore preferences;
/**
* The constructor
*/
public Activator() {
}
/*
* (non-Javadoc)
* @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
*/
@Override
public void start(BundleContext context) throws Exception {
super.start(context);
plugin = this;
preferences = new BundlePreferenceStore(getBundle());
try {
resourceBundle = ResourceBundle.getBundle(ERDMessages.BUNDLE_NAME);
......@@ -65,10 +64,6 @@ public class Activator extends AbstractUIPlugin {
System.setProperty("sun.java2d.d3d", Boolean.FALSE.toString()); //$NON-NLS-1$
}
/*
* (non-Javadoc)
* @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
*/
@Override
public void stop(BundleContext context) throws Exception {
plugin = null;
......@@ -104,17 +99,7 @@ public class Activator extends AbstractUIPlugin {
return resourceBundle;
}
/**
* Returns the string from the plugin's resource bundle, or 'key' if not
* found.
*/
public static String getResourceString(String key)
{
ResourceBundle bundle = getResourceBundle();
try {
return bundle.getString(key);
} catch (MissingResourceException e) {
return key;
}
public DBPPreferenceStore getPreferences() {
return preferences;
}
}
package org.jkiss.dbeaver.ext.erd;
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
import org.eclipse.jface.preference.IPreferenceStore;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.runtime.RuntimeUtils;
import org.jkiss.dbeaver.runtime.preferences.BundlePreferenceStore;
public class ERDPreferencesInitializer extends AbstractPreferenceInitializer {
......@@ -12,7 +13,7 @@ public class ERDPreferencesInitializer extends AbstractPreferenceInitializer {
@Override
public void initializeDefaultPreferences() {
// Init default preferences
IPreferenceStore store = Activator.getDefault().getPreferenceStore();
DBPPreferenceStore store = new BundlePreferenceStore(Activator.getDefault().getBundle());
RuntimeUtils.setDefaultPreferenceValue(store, ERDConstants.PREF_PRINT_PAGE_MODE, ERDConstants.PRINT_MODE_DEFAULT);
RuntimeUtils.setDefaultPreferenceValue(store, ERDConstants.PREF_PRINT_MARGIN_TOP, ERDConstants.PRINT_MARGIN_DEFAULT);
RuntimeUtils.setDefaultPreferenceValue(store, ERDConstants.PREF_PRINT_MARGIN_BOTTOM, ERDConstants.PRINT_MARGIN_DEFAULT);
......
......@@ -21,9 +21,9 @@
package org.jkiss.dbeaver.ext.erd.action;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.preference.IPreferenceStore;
import org.jkiss.dbeaver.ext.erd.Activator;
import org.jkiss.dbeaver.ext.erd.ERDConstants;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.runtime.RuntimeUtils;
/**
......@@ -41,7 +41,7 @@ public class DiagramToggleGridAction extends Action
@Override
public void run()
{
final IPreferenceStore store = Activator.getDefault().getPreferenceStore();
final DBPPreferenceStore store = Activator.getDefault().getPreferences();
final boolean gridEnabled = store.getBoolean(ERDConstants.PREF_GRID_ENABLED);
store.setValue(ERDConstants.PREF_GRID_ENABLED, !gridEnabled);
RuntimeUtils.savePreferenceStore(store);
......
......@@ -17,9 +17,10 @@
*/
package org.jkiss.dbeaver.ext.erd.editor;
import org.jkiss.dbeaver.core.Log;
import org.eclipse.jface.preference.IPreferenceStore;
import org.jkiss.dbeaver.core.Log;
import org.jkiss.dbeaver.ext.erd.ERDConstants;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.utils.CommonUtils;
/**
......@@ -60,7 +61,7 @@ public enum ERDAttributeVisibility
return PRIMARY;
}
public static void setDefaultVisibility(IPreferenceStore store, ERDAttributeVisibility visibility)
public static void setDefaultVisibility(DBPPreferenceStore store, ERDAttributeVisibility visibility)
{
store.setValue(
ERDConstants.PREF_ATTR_VISIBILITY,
......
......@@ -31,6 +31,7 @@ import org.eclipse.ui.IWorkbenchPropertyPage;
import org.jkiss.dbeaver.ext.erd.Activator;
import org.jkiss.dbeaver.ext.erd.ERDConstants;
import org.jkiss.dbeaver.ext.erd.ERDMessages;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.runtime.RuntimeUtils;
import org.jkiss.dbeaver.ui.UIUtils;
......@@ -136,7 +137,7 @@ public class ERDPreferencePage extends PreferencePage implements IWorkbenchPrefe
@Override
public boolean performOk()
{
IPreferenceStore store = Activator.getDefault().getPreferenceStore();
DBPPreferenceStore store = Activator.getDefault().getPreferences();
store.setValue(ERDConstants.PREF_GRID_ENABLED, gridCheck.getSelection());
store.setValue(ERDConstants.PREF_GRID_SNAP_ENABLED, snapCheck.getSelection());
......
......@@ -68,7 +68,7 @@ public class EntityDiagram extends ERDObject<DBSObject>
public void setAttributeVisibility(ERDAttributeVisibility attributeVisibility)
{
this.attributeVisibility = attributeVisibility;
ERDAttributeVisibility.setDefaultVisibility(Activator.getDefault().getPreferenceStore(), attributeVisibility);
ERDAttributeVisibility.setDefaultVisibility(Activator.getDefault().getPreferences(), attributeVisibility);
}
public synchronized void addTable(ERDEntity entity, boolean reflect)
......
......@@ -18,15 +18,16 @@
*/
package org.jkiss.dbeaver.ext.oracle.views;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.*;
import org.jkiss.dbeaver.core.DBeaverCore;
import org.jkiss.dbeaver.ext.oracle.model.OracleConstants;
import org.jkiss.dbeaver.model.DBPPreferenceStore;
import org.jkiss.dbeaver.registry.DataSourceDescriptor;
import org.jkiss.dbeaver.runtime.RuntimeUtils;
import org.jkiss.dbeaver.ui.UIUtils;
import org.jkiss.dbeaver.ui.preferences.PreferenceStoreDelegate;
import org.jkiss.dbeaver.ui.preferences.TargetPrefPage;
import org.jkiss.dbeaver.runtime.preferences.SimplePreferenceStore;
......@@ -44,7 +45,7 @@ public class PrefPageOracle extends TargetPrefPage
public PrefPageOracle()
{
super();
setPreferenceStore(DBeaverCore.getGlobalPreferenceStore());
setPreferenceStore(new PreferenceStoreDelegate(DBeaverCore.getGlobalPreferenceStore()));
}
@Override
......@@ -91,7 +92,7 @@ public class PrefPageOracle extends TargetPrefPage
}
@Override
protected void loadPreferences(IPreferenceStore store)
protected void loadPreferences(DBPPreferenceStore store)
{
explainTableText.setText(store.getString(OracleConstants.PREF_EXPLAIN_TABLE_NAME));
rowidSupportCheck.setSelection(store.getBoolean(OracleConstants.PREF_SUPPORT_ROWID));
......@@ -99,7 +100,7 @@ public class PrefPageOracle extends TargetPrefPage
}
@Override
protected void savePreferences(IPreferenceStore store)
protected void savePreferences(DBPPreferenceStore store)
{
store.setValue(OracleConstants.PREF_EXPLAIN_TABLE_NAME, explainTableText.getText());
store.setValue(OracleConstants.PREF_SUPPORT_ROWID, rowidSupportCheck.getSelection());
......@@ -108,7 +109,7 @@ public class PrefPageOracle extends TargetPrefPage
}
@Override
protected void clearPreferences(IPreferenceStore store)
protected void clearPreferences(DBPPreferenceStore store)
{
store.setToDefault(OracleConstants.PREF_EXPLAIN_TABLE_NAME);
store.setToDefault(OracleConstants.PREF_SUPPORT_ROWID);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册