mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-05 07:15:39 +02:00
[245918] Allow customization of DStore Preferences
This commit is contained in:
parent
135bdf1c79
commit
8d8b8b2a36
1 changed files with 61 additions and 25 deletions
|
@ -7,10 +7,10 @@
|
||||||
*
|
*
|
||||||
* Initial Contributors:
|
* Initial Contributors:
|
||||||
* The following IBM employees contributed to the Remote System Explorer
|
* The following IBM employees contributed to the Remote System Explorer
|
||||||
* component that contains this file: David McKnight, Kushal Munir,
|
* component that contains this file: David McKnight, Kushal Munir,
|
||||||
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
* Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson,
|
||||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin
|
* Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin
|
||||||
* David McKnight (IBM) - [216252] [api][nls] Resource Strings specific to subsystems should be moved from rse.ui into files.ui / shells.ui / processes.ui where possible
|
* David McKnight (IBM) - [216252] [api][nls] Resource Strings specific to subsystems should be moved from rse.ui into files.ui / shells.ui / processes.ui where possible
|
||||||
|
@ -18,15 +18,19 @@
|
||||||
* David McKnight (IBM) - [227406] [dstore] DStoreFileService must listen to buffer size preference changes
|
* David McKnight (IBM) - [227406] [dstore] DStoreFileService must listen to buffer size preference changes
|
||||||
* David McKnight (IBM) - [228334][api][breaking][dstore] Default DataStore connection timeout is too short
|
* David McKnight (IBM) - [228334][api][breaking][dstore] Default DataStore connection timeout is too short
|
||||||
* David McKnight (IBM) - [233160] [dstore] SSL/non-SSL alert are not appropriate
|
* David McKnight (IBM) - [233160] [dstore] SSL/non-SSL alert are not appropriate
|
||||||
|
* Martin Oberhuber (Wind River) - [245918] Allow customization of DStore Preferences
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.connectorservice.dstore;
|
package org.eclipse.rse.internal.connectorservice.dstore;
|
||||||
|
|
||||||
import org.eclipse.jface.preference.IPreferenceStore;
|
import org.eclipse.core.runtime.Platform;
|
||||||
|
import org.eclipse.core.runtime.preferences.DefaultScope;
|
||||||
|
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
|
||||||
import org.eclipse.rse.connectorservice.dstore.IUniversalDStoreConstants;
|
import org.eclipse.rse.connectorservice.dstore.IUniversalDStoreConstants;
|
||||||
import org.eclipse.rse.ui.ISystemPreferencesConstants;
|
import org.eclipse.rse.ui.ISystemPreferencesConstants;
|
||||||
import org.eclipse.rse.ui.RSEUIPlugin;
|
import org.eclipse.rse.ui.RSEUIPlugin;
|
||||||
import org.eclipse.rse.ui.SystemBasePlugin;
|
import org.eclipse.rse.ui.SystemBasePlugin;
|
||||||
|
import org.eclipse.ui.preferences.ScopedPreferenceStore;
|
||||||
import org.osgi.framework.BundleContext;
|
import org.osgi.framework.BundleContext;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -36,9 +40,9 @@ public class Activator extends SystemBasePlugin {
|
||||||
|
|
||||||
//The shared instance.
|
//The shared instance.
|
||||||
private static Activator plugin;
|
private static Activator plugin;
|
||||||
|
|
||||||
public final static String PLUGIN_ID = "org.eclipse.rse.connectorservice.dstore"; //$NON-NLS-1$
|
public final static String PLUGIN_ID = "org.eclipse.rse.connectorservice.dstore"; //$NON-NLS-1$
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The constructor.
|
* The constructor.
|
||||||
*/
|
*/
|
||||||
|
@ -49,38 +53,70 @@ public class Activator extends SystemBasePlugin {
|
||||||
/**
|
/**
|
||||||
* This method is called upon plug-in activation
|
* This method is called upon plug-in activation
|
||||||
*/
|
*/
|
||||||
public void start(BundleContext context) throws Exception
|
public void start(BundleContext context) throws Exception
|
||||||
{
|
{
|
||||||
super.start(context);
|
super.start(context);
|
||||||
|
|
||||||
initializeDefaultPreferences();
|
initializeDefaultPreferences();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A Preference Store that gives direct access to Default Preferences.
|
||||||
|
*/
|
||||||
|
private static class DefaultPreferenceStore extends ScopedPreferenceStore {
|
||||||
|
private IEclipsePreferences[] defaultNodes;
|
||||||
|
public DefaultPreferenceStore(String qualifier) {
|
||||||
|
super(new DefaultScope(), qualifier);
|
||||||
|
defaultNodes = new IEclipsePreferences[] {
|
||||||
|
new DefaultScope().getNode(qualifier) };
|
||||||
|
}
|
||||||
|
public boolean hasDefault(String key) {
|
||||||
|
return Platform.getPreferencesService().get(key, null, defaultNodes) != null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void initializeDefaultPreferences() {
|
public void initializeDefaultPreferences() {
|
||||||
IPreferenceStore store = RSEUIPlugin.getDefault().getPreferenceStore();
|
|
||||||
|
// [245918] Since our Preferences are stored in RSEUIPlugin, we cannot
|
||||||
|
// use the core.runtime.preferences extension in order to do
|
||||||
|
// initialization in the correct order (allow overriding by
|
||||||
|
// plugin_customization.ini). We therefore explicitly check each
|
||||||
|
// Preference slot, and only set a there isn't one set already. Note
|
||||||
|
// that requires explicit access to the DefaultScope().
|
||||||
|
// TODO move Preferences to our own PreferenceStore to simplify this
|
||||||
|
DefaultPreferenceStore store = new DefaultPreferenceStore(RSEUIPlugin.getDefault().getBundle().getSymbolicName());
|
||||||
|
//IPreferenceStore store = RSEUIPlugin.getDefault().getPreferenceStore();
|
||||||
//Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
|
//Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
|
||||||
|
|
||||||
store.setDefault(IUniversalDStoreConstants.RESID_PREF_SOCKET_TIMEOUT, IDStoreDefaultPreferenceConstants.DEFAULT_PREF_SOCKET_TIMEOUT);
|
if (!store.hasDefault(IUniversalDStoreConstants.RESID_PREF_SOCKET_TIMEOUT))
|
||||||
|
store.setDefault(IUniversalDStoreConstants.RESID_PREF_SOCKET_TIMEOUT, IDStoreDefaultPreferenceConstants.DEFAULT_PREF_SOCKET_TIMEOUT);
|
||||||
|
|
||||||
// do keepalive
|
// do keepalive
|
||||||
store.setDefault(IUniversalDStoreConstants.RESID_PREF_DO_KEEPALIVE, IDStoreDefaultPreferenceConstants.DEFAULT_PREF_DO_KEEPALIVE);
|
if (!store.hasDefault(IUniversalDStoreConstants.RESID_PREF_DO_KEEPALIVE))
|
||||||
|
store.setDefault(IUniversalDStoreConstants.RESID_PREF_DO_KEEPALIVE, IDStoreDefaultPreferenceConstants.DEFAULT_PREF_DO_KEEPALIVE);
|
||||||
// socket read timeout
|
|
||||||
store.setDefault(IUniversalDStoreConstants.RESID_PREF_SOCKET_READ_TIMEOUT, IDStoreDefaultPreferenceConstants.DEFAULT_PREF_SOCKET_READ_TIMEOUT);
|
// socket read timeout
|
||||||
|
if (!store.hasDefault(IUniversalDStoreConstants.RESID_PREF_SOCKET_READ_TIMEOUT))
|
||||||
|
store.setDefault(IUniversalDStoreConstants.RESID_PREF_SOCKET_READ_TIMEOUT, IDStoreDefaultPreferenceConstants.DEFAULT_PREF_SOCKET_READ_TIMEOUT);
|
||||||
|
|
||||||
// keepalive response timeout
|
// keepalive response timeout
|
||||||
store.setDefault(IUniversalDStoreConstants.RESID_PREF_KEEPALIVE_RESPONSE_TIMEOUT, IDStoreDefaultPreferenceConstants.DEFAULT_PREF_KEEPALIVE_RESPONSE_TIMEOUT);
|
if (!store.hasDefault(IUniversalDStoreConstants.RESID_PREF_KEEPALIVE_RESPONSE_TIMEOUT))
|
||||||
|
store.setDefault(IUniversalDStoreConstants.RESID_PREF_KEEPALIVE_RESPONSE_TIMEOUT,
|
||||||
|
IDStoreDefaultPreferenceConstants.DEFAULT_PREF_KEEPALIVE_RESPONSE_TIMEOUT);
|
||||||
|
|
||||||
// show mismatched server warning
|
// show mismatched server warning
|
||||||
store.setDefault(IUniversalDStoreConstants.ALERT_MISMATCHED_SERVER, IDStoreDefaultPreferenceConstants.DEFAULT_ALERT_MISMATCHED_SERVER);
|
if (!store.hasDefault(IUniversalDStoreConstants.ALERT_MISMATCHED_SERVER))
|
||||||
|
store.setDefault(IUniversalDStoreConstants.ALERT_MISMATCHED_SERVER, IDStoreDefaultPreferenceConstants.DEFAULT_ALERT_MISMATCHED_SERVER);
|
||||||
|
|
||||||
// cache remote classes
|
// cache remote classes
|
||||||
store.setDefault(IUniversalDStoreConstants.RESID_PREF_CACHE_REMOTE_CLASSES, IDStoreDefaultPreferenceConstants.DEFAULT_PREF_CACHE_REMOTE_CLASSES);
|
if (!store.hasDefault(IUniversalDStoreConstants.RESID_PREF_CACHE_REMOTE_CLASSES))
|
||||||
|
store.setDefault(IUniversalDStoreConstants.RESID_PREF_CACHE_REMOTE_CLASSES, IDStoreDefaultPreferenceConstants.DEFAULT_PREF_CACHE_REMOTE_CLASSES);
|
||||||
|
|
||||||
// alert defaults
|
// alert defaults
|
||||||
store.setDefault(ISystemPreferencesConstants.ALERT_SSL, ISystemPreferencesConstants.DEFAULT_ALERT_SSL);
|
if (!store.hasDefault(ISystemPreferencesConstants.ALERT_SSL))
|
||||||
store.setDefault(ISystemPreferencesConstants.ALERT_NONSSL, ISystemPreferencesConstants.DEFAULT_ALERT_NON_SSL);
|
store.setDefault(ISystemPreferencesConstants.ALERT_SSL, ISystemPreferencesConstants.DEFAULT_ALERT_SSL);
|
||||||
|
if (!store.hasDefault(ISystemPreferencesConstants.ALERT_NONSSL))
|
||||||
|
store.setDefault(ISystemPreferencesConstants.ALERT_NONSSL, ISystemPreferencesConstants.DEFAULT_ALERT_NON_SSL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -103,6 +139,6 @@ public class Activator extends SystemBasePlugin {
|
||||||
protected void initializeImageRegistry()
|
protected void initializeImageRegistry()
|
||||||
{
|
{
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue