1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-04 15:45:25 +02:00

[168870][refactor] stage 4, created RSEPreferencesManager and moved SystemPreferencesManager from core to ui package.

This commit is contained in:
David Dykstal 2007-02-18 19:26:35 +00:00
parent 81d2c5fae0
commit 0afcc3b31a
36 changed files with 997 additions and 685 deletions

View file

@ -27,5 +27,11 @@
id="org.eclipse.rse.persistence.PropertyFileProvider"
name="Property File Persistence Provider"/>
</extension>
<extension
point="org.eclipse.core.runtime.preferences">
<initializer
class="org.eclipse.rse.core.internal.RSEPreferenceInitializer">
</initializer>
</extension>
</plugin>

View file

@ -1,11 +1,12 @@
/********************************************************************************
* Copyright (c) 2006 IBM Corporation. All rights reserved.
* Copyright (c) 2006, 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Kushal Munir (IBM) - Initial API and implementation.
* David Dykstal (IBM) - updated with comments, removed keys that are not to be used globally
********************************************************************************/
package org.eclipse.rse.core;
@ -13,22 +14,25 @@ package org.eclipse.rse.core;
* These constants define the set of preference names that the RSE core uses.
*/
public interface IRSEPreferenceNames {
/*
* core preference keys
/**
* The key for the value that specifies that queries should be "deferred", that is, run
* when needed and in the background, as nodes are asked for their children.
*/
public static final String ST_ENABLED = "systemType.enabled"; //$NON-NLS-1$
public static final String ST_DEFAULT_USERID = "systemType.defaultUserId"; //$NON-NLS-1$
public static final String SYSTEMTYPE = "systemtype"; //$NON-NLS-1$
public static final String USERIDPERKEY = "useridperkey"; //$NON-NLS-1$
public static final String USERIDKEYS = "userid.keys"; //$NON-NLS-1$
public static final String ACTIVEUSERPROFILES = "activeuserprofiles"; //$NON-NLS-1$
public static final String USE_DEFERRED_QUERIES = "useDeferredQueries"; //$NON-NLS-1$
/*
* core preference default values
/**
* The key for the default system type. Used when a system type is needed but not declared
* when creating new connections (hosts) and for password determination.
*/
public static final String DEFAULT_SYSTEMTYPE = ""; //$NON-NLS-1$
public static final String DEFAULT_USERID = ""; //$NON-NLS-1$
public static final boolean DEFAULT_USE_DEFERRED_QUERIES = true;
public static final String DEFAULT_TEAMPROFILE = "Team"; //$NON-NLS-1$
public static final String DEFAULT_ACTIVEUSERPROFILES = "Team"; //$NON-NLS-1$
public static final String SYSTEMTYPE = "systemtype"; //$NON-NLS-1$
/**
* The key for an hash table, encoded as a string, that contains user ids as values
* keyed by some key - usually a system type, a connection name, or a combination of
* a connection name and subsystem.
*/
public static final String USERIDPERKEY = "useridperkey"; //$NON-NLS-1$
/**
* The key for the string containing the list of active user profiles in alphabetical order.
* As profiles are activated, deactivated, or renamed this string must be modified.
*/
public static final String ACTIVEUSERPROFILES = "activeuserprofiles"; //$NON-NLS-1$
}

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2002, 2006 IBM Corporation. All rights reserved.
* Copyright (c) 2002, 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
@ -11,7 +11,8 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - moved from core package in the UI plugin
* - updated to use new RSEPreferencesManager
********************************************************************************/
package org.eclipse.rse.core;
@ -27,7 +28,6 @@ import java.util.Map;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Preferences;
import org.eclipse.rse.core.model.SystemSignonInformation;
@ -410,8 +410,8 @@ public class PasswordPersistenceManager {
// uid matches, check if hosts are the same
if (khostname.startsWith(phostname) || phostname.startsWith(khostname))
{
String qkhost = RSEHostUtil.getQualifiedHostName(khostname);
String qphost = RSEHostUtil.getQualifiedHostName(phostname);
String qkhost = RSECorePlugin.getQualifiedHostName(khostname);
String qphost = RSECorePlugin.getQualifiedHostName(phostname);
if (qkhost.equals(qphost))
{
password = (String)passwords.get(key);
@ -460,8 +460,8 @@ public class PasswordPersistenceManager {
// uid matches, check if hosts are the same
if (khostname.startsWith(phostname) || phostname.startsWith(khostname))
{
String qkhost = RSEHostUtil.getQualifiedHostName(khostname);
String qphost = RSEHostUtil.getQualifiedHostName(phostname);
String qkhost = RSECorePlugin.getQualifiedHostName(khostname);
String qphost = RSECorePlugin.getQualifiedHostName(phostname);
if (qkhost.equals(qphost))
{
password = (String)passwords.get(key);
@ -545,8 +545,7 @@ public class PasswordPersistenceManager {
{
if (DEFAULT_SYSTEM_TYPE.equals(systemType))
{
Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
systemType = store.getString(IRSEPreferenceNames.SYSTEMTYPE);
systemType = RSEPreferencesManager.getSystemType();
}
// First find the correct provider

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2006 IBM Corporation. All rights reserved.
* Copyright (c) 2006, 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
@ -11,7 +11,7 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - added utility method for finding qualifiedHostNames
********************************************************************************/
package org.eclipse.rse.core;
@ -55,7 +55,7 @@ public class RSECorePlugin extends Plugin {
public static IRSEPersistenceManager getThePersistenceManager() {
return getDefault().getPersistenceManager();
}
/**
* @return the IP host name of this machine
*/
@ -82,6 +82,18 @@ public class RSECorePlugin extends Plugin {
return machineAddress;
}
/**
* Returns a qualified hostname given a potentially unqualified hostname
*/
public static String getQualifiedHostName(String hostName) {
try {
InetAddress address = InetAddress.getByName(hostName);
return address.getCanonicalHostName();
} catch (UnknownHostException exc) {
return hostName;
}
}
/**
* The constructor. This may be called only by plugin activation.
*/
@ -151,7 +163,7 @@ public class RSECorePlugin extends Plugin {
public IRSECoreRegistry getRegistry() {
return RSECoreRegistry.getDefault();
}
/**
* Returns an instance of the logger being used by the core. All core services, or extensions to
* core services, should use this logger to log any messages. The RSE logger provides run-time

View file

@ -1,24 +0,0 @@
package org.eclipse.rse.core;
import java.net.InetAddress;
import java.net.UnknownHostException;
/**
* This class is a collection of utility methods that can be used to
* deal with IP addresses and hosts.
*
* This class should not be subclassed.
*/
public class RSEHostUtil {
/**
* Returns a qualified hostname given a potentially unqualified hostname
*/
public static String getQualifiedHostName(String hostName) {
try {
InetAddress address = InetAddress.getByName(hostName);
return address.getCanonicalHostName();
} catch (UnknownHostException exc) {
return hostName;
}
}
}

View file

@ -0,0 +1,491 @@
/********************************************************************************
* Copyright (c) 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* David Dykstal (IBM) - initial API and implementation
********************************************************************************/
package org.eclipse.rse.core;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.SortedSet;
import java.util.StringTokenizer;
import java.util.TreeSet;
import org.eclipse.core.runtime.Preferences;
public class RSEPreferencesManager {
/**
* Used as a suffix when combined with the system type name to produce the key for the enabled value.
*/
private static final String ST_ENABLED = "systemType.enabled"; //$NON-NLS-1$
/**
* Used as a suffix when combined with the system type name to produce the key for the default user id value.
*/
private static final String ST_DEFAULT_USERID = "systemType.defaultUserId"; //$NON-NLS-1$
/**
* The default value for using deferred queries. Value is <code>true</code>.
*/
private static final boolean DEFAULT_USE_DEFERRED_QUERIES = true;
/**
* The default value for the name of the team profile. Value is "Team".
*/
private static final String DEFAULT_TEAMPROFILE = "Team"; //$NON-NLS-1$
/**
* The default value for the list of active user profiles. Value is "Team".
*/
private static final String DEFAULT_ACTIVEUSERPROFILES = "Team"; //$NON-NLS-1$
/**
* The default value for the default system type. Value is "".
*/
private static final String DEFAULT_SYSTEMTYPE = ""; //$NON-NLS-1$
/**
* @return the Hashtable where the key is a string identifying a particular object, and
* the value is the user ID for that object.
* @see #setUserId(String, String)
*/
private static Hashtable getUserIds() {
Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
Hashtable userIds = null;
String value = store.getString(IRSEPreferenceNames.USERIDPERKEY);
if (value != null) {
userIds = parseString(value);
} else {
userIds = new Hashtable();
}
return userIds;
}
/**
* Store the user ids that are saved keyed by some key.
* @param userIds A Hashtable of userids.
* @see #setUserId(String, String)
*/
private static void setUserIds(Hashtable userIds) {
Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
String userIdsString = makeString(userIds);
store.setValue(IRSEPreferenceNames.USERIDPERKEY, userIdsString);
savePreferences();
}
/**
* Retrieves a user id given a key.
* @param key the key from which to get the particular user id.
* @return user ID for the given key or null if the key was not found.
* @see #setUserId(String, String)
*/
public static String getUserId(String key) {
String uid = null;
Hashtable userIds = getUserIds();
uid = (String) userIds.get(key);
return uid;
}
/**
* Clears the user ID for the given key.
* @param key the key for the user id.
* @see #setUserId(String, String)
*/
public static void clearUserId(String key) {
Hashtable userIds = getUserIds();
if (userIds.containsKey(key)) {
userIds.remove(key);
setUserIds(userIds);
}
}
/**
* Sets the user Id for this key.
* The key typically designates a scope for this userid so that a hierarchy
* of user ids can be maintained for inheritance.
* For example, hosts have greater scope than subsystems.
* A key would typically be <profile-name>.<host-name>,
* or <profile-name>.<host-type>,
* or <profile-name>.<host-name>.<subsystem-name>.
* @param key the key used to find the userId
* @param userId the userId to retrieve by this key.
*/
public static void setUserId(String key, String userId) {
if ((key != null) && (userId != null)) {
Hashtable userIds = getUserIds();
String storedUserId = (String) userIds.get(key);
if (storedUserId == null || !storedUserId.equals(userId)) { // don't bother updating if its already there
userIds.put(key, userId);
setUserIds(userIds);
}
}
}
/**
* Gets the default user id for a given system type.
* @param systemType the systemtype for which to retrieve the default user id
* @return The default user id
*/
public static String getDefaultUserId(IRSESystemType systemType) {
Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
String key = getSystemTypePreferencesKey(systemType, RSEPreferencesManager.ST_DEFAULT_USERID);
if (!store.contains(key)) {
store.setDefault(key, System.getProperty("user.name")); //$NON-NLS-1$
}
String result = store.getString(key);
return result;
}
/**
* Sets the default userId for the given system type.
* @param systemTypeName the name of the system type
* @param userId the default user id for this system type.
* This may be null to "unset" the default.
*/
public static void setDefaultUserId(String systemTypeName, String userId) {
IRSESystemType systemType = RSECorePlugin.getDefault().getRegistry().getSystemType(systemTypeName);
if (systemType != null) {
setDefaultUserId(systemType, userId);
}
}
/**
* Sets the default userId for the given system type.
* @param systemType the system type for which to set the default
* @param userId the default user id for this system type.
* This may be null to "unset" the default.
*/
public static void setDefaultUserId(IRSESystemType systemType, String userId) {
Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
String key = getSystemTypePreferencesKey(systemType, RSEPreferencesManager.ST_DEFAULT_USERID);
store.setValue(key, userId);
savePreferences();
}
/**
* Gets the system type values table for editing. This is a synthesized preference
* that is handled as a single value. Rows are separated by semi-colons.
* Each row is of the format <systemTypeName>=<enabled>+<defaultUserId>;
* @return the table of system types formatted as a single string
*/
public static String getSystemTypeValues() {
IRSESystemType[] systemTypes = RSECorePlugin.getDefault().getRegistry().getSystemTypes();
StringBuffer buffer = new StringBuffer(100);
for (int i = 0; i < systemTypes.length; i++) {
IRSESystemType systemType = systemTypes[i];
buffer.append(systemType.getName());
buffer.append('=');
buffer.append(getIsSystemTypeEnabled(systemType));
buffer.append('+');
buffer.append(getDefaultUserId(systemType));
buffer.append(';');
}
String result = buffer.toString();
return result;
}
/**
* Sets the default user id and enabled state for all system types.
* @param systemTypeValues a tabled encoded as a string that contains
* entries for each system type. See {@link #getSystemTypeValues()} for the
* table format.
*/
public static void setSystemTypeValues(String systemTypeValues) {
IRSECoreRegistry registry = RSECorePlugin.getDefault().getRegistry();
Hashtable table = parseString(systemTypeValues);
Enumeration e = table.keys();
while (e.hasMoreElements()) {
String key = (String) e.nextElement();
String compoundValue = (String) table.get(key);
String[] values = compoundValue.split("\\+"); //$NON-NLS-1$
String isEnabled = values[0];
String defaultUserId = values[1];
IRSESystemType systemType = registry.getSystemType(key);
setIsSystemTypeEnabled(systemType, isEnabled.equals("true")); //$NON-NLS-1$
setDefaultUserId(systemType, defaultUserId);
}
}
/**
* @return the system type to default when no explicit system type is available.
*/
public static String getSystemType() {
Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
String result = store.getString(IRSEPreferenceNames.SYSTEMTYPE);
return result;
}
/**
* Sets the system type to default when no explicit system type is available.
* @param systemType the string giving the system type name.
*/
public static void setSystemType(String systemType) {
Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
store.setValue(IRSEPreferenceNames.SYSTEMTYPE, systemType);
savePreferences();
}
/**
* Sets if a system type is enabled.
* @param systemType the system type to be enabled on this machine.
* @param isEnabled the enabled state
*/
public static void setIsSystemTypeEnabled(IRSESystemType systemType, boolean isEnabled) {
Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
String key = getSystemTypePreferencesKey(systemType, RSEPreferencesManager.ST_ENABLED);
if (!store.contains(key)) {
store.setDefault(key, true);
}
store.setValue(key, isEnabled);
savePreferences();
}
/**
* Gets the enabled state for a particular system type.
* @param systemType the system type
* @return the enabled state of that type
*/
public static boolean getIsSystemTypeEnabled(IRSESystemType systemType) {
Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
String key = getSystemTypePreferencesKey(systemType, RSEPreferencesManager.ST_ENABLED);
if (!store.contains(key)) {
store.setDefault(key, true);
}
boolean result = store.getBoolean(key);
return result;
}
private static String getSystemTypePreferencesKey(IRSESystemType systemType, String preference) {
String key = systemType.getName() + "." + preference; //$NON-NLS-1$
return key;
}
/**
* @return the names of the profiles the user has elected to make active.
*/
public static String[] getActiveProfiles() {
Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
String value = store.getString(IRSEPreferenceNames.ACTIVEUSERPROFILES);
String[] result = parseStrings(value);
return result;
}
/**
* Sets the names of the profiles the user has elected to make "active".
* The caller must also save the preferences when completing.
* @see SystemPreferencesManager#savePreferences()
* @param newProfileNames an array of profile names considered to be active.
*/
private static void setActiveProfiles(String[] newProfileNames) {
Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
store.setValue(IRSEPreferenceNames.ACTIVEUSERPROFILES, makeString(newProfileNames));
savePreferences();
}
/**
* Add a name to the active profile list.
* A name already in the list is not added again.
* The list remains sorted in the natural order.
* @param newName a new active profile name
*/
public static void addActiveProfile(String newName) {
SortedSet names = new TreeSet(Arrays.asList(getActiveProfiles()));
names.add(newName);
String[] newNames = new String[names.size()];
names.toArray(newNames);
RSEPreferencesManager.setActiveProfiles(newNames);
savePreferences();
}
/**
* Delete one of the active profile names in the list of names stored in the registry.
* @param oldName the name of the profile to remove from the active profiles list.
*/
public static void deleteActiveProfile(String oldName) {
String[] names = getActiveProfiles();
int matchPos = -1;
for (int idx = 0; (matchPos == -1) && (idx < names.length); idx++) {
if (names[idx].equalsIgnoreCase(oldName)) {
matchPos = idx;
names[idx] = null;
}
}
if (matchPos >= 0) {
RSEPreferencesManager.setActiveProfiles(names);
savePreferences();
}
}
/**
* @param profileName the name of the profile to search for in the list of active profiles.
* @return the zero-based position of a give profile name in the active list
*/
public static int getActiveProfilePosition(String profileName) {
String[] names = getActiveProfiles();
int matchPos = -1;
for (int idx = 0; (matchPos == -1) && (idx < names.length); idx++) {
if (names[idx].equalsIgnoreCase(profileName)) matchPos = idx;
}
return matchPos;
}
/**
* Renames one of the active profile names in the list of names stored in the registry.
* This is usually employed after renaming a profile to ensure that the active names
* list stays in synch with the actual profile names. The active state of the profiles
* cannot be kept in the profiles themselves since that can vary from workspace to workspace
* for profiles that are shared in a team.
* @param oldName the old name of the profile
* @param newName the new name of the profile
*/
public static void renameActiveProfile(String oldName, String newName) {
// update active profile name list
String[] names = getActiveProfiles();
int matchPos = -1;
for (int idx = 0; (matchPos == -1) && (idx < names.length); idx++) {
if (names[idx].equalsIgnoreCase(oldName)) {
matchPos = idx;
names[idx] = newName;
}
}
if (matchPos >= 0) {
RSEPreferencesManager.setActiveProfiles(names);
savePreferences();
}
}
public static void initDefaults() {
String defaultProfileNames = RSEPreferencesManager.DEFAULT_ACTIVEUSERPROFILES;
String userProfileName = getDefaultPrivateSystemProfileName();
defaultProfileNames += ";" + userProfileName; //$NON-NLS-1$
Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
store.setDefault(IRSEPreferenceNames.SYSTEMTYPE, RSEPreferencesManager.DEFAULT_SYSTEMTYPE);
store.setDefault(IRSEPreferenceNames.ACTIVEUSERPROFILES, defaultProfileNames);
store.setDefault(IRSEPreferenceNames.USE_DEFERRED_QUERIES, RSEPreferencesManager.DEFAULT_USE_DEFERRED_QUERIES);
savePreferences();
}
/**
* Save the preference store.
*/
private static void savePreferences() {
RSECorePlugin.getDefault().savePluginPreferences();
}
/**
* @return The name of the default private system profile. This
* is typically the short name of the host machine or the name of the
* user account.
*/
public static String getDefaultPrivateSystemProfileName() {
String name = RSECorePlugin.getLocalMachineName();
if (name != null) {
int i = name.indexOf('.');
if (i > 0) {
name = name.substring(0, i);
}
}
if (name == null) {
name = System.getProperty("user.name"); //$NON-NLS-1$
}
return name;
}
/**
* @return the name of the default team system profile.
*/
public static String getDefaultTeamProfileName() {
String name = RSEPreferencesManager.DEFAULT_TEAMPROFILE;
return name;
}
/**
* Convert table of key-value pairs into a single string. Each (name, value) pair is
* encoded as "name=value;" thus no keys or values in the string may
* contain semi-colons or equal signs.
* @param table a Hashtable to convert
* @return the string containing the converted table
*/
private static String makeString(Hashtable table) {
Enumeration keys = table.keys();
StringBuffer sb = new StringBuffer(20 * table.size());
while (keys.hasMoreElements()) {
String key = (String) keys.nextElement();
String value = (String) table.get(key);
if ((value != null) && (value.length() > 0)) {
sb.append(key);
sb.append('=');
sb.append(value);
sb.append(';');
}
}
return sb.toString();
}
/**
* Make a single string out of an array of strings. A semi-colon is
* used as a delimiter between the separate values. No value in the
* array can contain a semi-colon.
* @param values the array of strings to condense into a single one
* @return the condensed string
*/
private static String makeString(String[] values) {
StringBuffer allValues = new StringBuffer(20 * values.length);
for (int idx = 0; idx < values.length; idx++) {
if (values[idx] != null) {
if (idx > 0) {
allValues = allValues.append(';');
}
allValues.append(values[idx]);
}
}
return allValues.toString();
}
/**
* Parse out list of multiple values into a string array per value.
* This is the inverse of the {@link #makeString(String[])} operation.
* @param allvalues the string holding the condensed value
* @return the reconstituted array of strings.
*/
private static String[] parseStrings(String allvalues) {
if (allvalues == null) return new String[0];
String[] tokens = allvalues.split(";"); //$NON-NLS-1$
return tokens;
}
/**
* Parse out list of key-value pairs into a hashtable. This is the inverse of the
* {@link SystemPreferencesManager#makeString(Hashtable)} operation.
* @param allValues the string containing the key-value pairs. If empty or null returns
* and empty Hashtable.
* @return the reconstituted Hashtable
*/
private static Hashtable parseString(String allValues) {
Hashtable keyValues = new Hashtable(10);
if (allValues != null) {
StringTokenizer tokens = new StringTokenizer(allValues, "=;"); //$NON-NLS-1$
int count = 0;
String token1 = null;
String token2 = null;
while (tokens.hasMoreTokens()) {
count++;
if ((count % 2) == 0) // even number
{
token2 = tokens.nextToken();
keyValues.put(token1, token2);
} else
token1 = tokens.nextToken();
}
}
return keyValues;
}
/*
* Having this method private disables instance creation.
*/
private RSEPreferencesManager() {
}
}

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2002, 2006 IBM Corporation. All rights reserved.
* Copyright (c) 2002, 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
@ -11,7 +11,7 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - removed RESOURCE_TEAMPROFILE_NAME
********************************************************************************/
package org.eclipse.rse.core;
@ -30,6 +30,4 @@ public interface SystemResourceConstants
public static final String RESOURCE_TYPE_FILTERS_FOLDER_NAME = "TypeFilters"; //$NON-NLS-1$
public static final String RESOURCE_USERACTIONS_FOLDER_NAME = "UserActions"; //$NON-NLS-1$
public static final String RESOURCE_COMPILECOMMANDS_FOLDER_NAME = "CompileCommands"; //$NON-NLS-1$
public static final String RESOURCE_TEAMPROFILE_NAME = IRSEPreferenceNames.DEFAULT_TEAMPROFILE;
}

View file

@ -0,0 +1,21 @@
/********************************************************************************
* Copyright (c) 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* David Dykstal (IBM) - initial API and implementation
********************************************************************************/
package org.eclipse.rse.core.internal;
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
import org.eclipse.rse.core.RSEPreferencesManager;
public class RSEPreferenceInitializer extends AbstractPreferenceInitializer {
public void initializeDefaultPreferences() {
RSEPreferencesManager.initDefaults();
}
}

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2000, 2006 IBM Corporation. All rights reserved.
* Copyright (c) 2000, 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
@ -11,14 +11,13 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - moved SystemPreferencesManager to a new package
********************************************************************************/
package org.eclipse.rse.files.ui.widgets;
import java.util.Hashtable;
import java.util.ResourceBundle;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.core.model.IHost;
import org.eclipse.rse.core.model.ISystemProfile;
import org.eclipse.rse.core.model.ISystemRegistry;
@ -32,6 +31,7 @@ import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem;
import org.eclipse.rse.ui.ISystemMessages;
import org.eclipse.rse.ui.ISystemPreferencesConstants;
import org.eclipse.rse.ui.RSEUIPlugin;
import org.eclipse.rse.ui.SystemPreferencesManager;
import org.eclipse.rse.ui.SystemWidgetHelpers;
import org.eclipse.rse.ui.widgets.ISystemCombo;
import org.eclipse.rse.ui.widgets.SystemHistoryCombo;

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2000, 2006 IBM Corporation. All rights reserved.
* Copyright (c) 2000, 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
@ -20,7 +20,6 @@ import java.util.ResourceBundle;
import java.util.Vector;
import org.eclipse.rse.core.SystemBasePlugin;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.core.model.IHost;
import org.eclipse.rse.files.ui.actions.SystemSelectRemoteFolderAction;
import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
@ -28,6 +27,7 @@ import org.eclipse.rse.subsystems.files.core.SystemFileResources;
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem;
import org.eclipse.rse.ui.ISystemPreferencesConstants;
import org.eclipse.rse.ui.SystemPreferencesManager;
import org.eclipse.rse.ui.SystemWidgetHelpers;
import org.eclipse.rse.ui.widgets.ISystemCombo;
import org.eclipse.rse.ui.widgets.SystemHistoryCombo;

View file

@ -0,0 +1,194 @@
/********************************************************************************
* Copyright (c) 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* David Dykstal (IBM) - initial API and implementation
********************************************************************************/
package org.eclipse.rse.internal.ui;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.eclipse.core.runtime.Preferences;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
public class PreferencesMapper implements IPreferenceStore {
private Preferences preferences = null;
private boolean listening = true;
private Map listeners = new HashMap();
private class MyPropertyChangeListener implements org.eclipse.core.runtime.Preferences.IPropertyChangeListener {
private IPropertyChangeListener containedListener = null;
public MyPropertyChangeListener(IPropertyChangeListener containedListener) {
this.containedListener = containedListener;
}
public void propertyChange(org.eclipse.core.runtime.Preferences.PropertyChangeEvent event) {
if (listening) {
String property = event.getProperty();
Object oldValue = event.getOldValue();
Object newValue = event.getNewValue();
PropertyChangeEvent newEvent = new PropertyChangeEvent(this, property, oldValue, newValue);
containedListener.propertyChange(newEvent);
}
}
}
public PreferencesMapper(Preferences preferences) {
this.preferences = preferences;
}
public void addPropertyChangeListener(IPropertyChangeListener listener) {
if (!listeners.containsKey(listener)) {
MyPropertyChangeListener l = new MyPropertyChangeListener(listener);
listeners.put(listener, l);
preferences.addPropertyChangeListener(l);
}
}
public boolean contains(String name) {
return preferences.contains(name);
}
public void firePropertyChangeEvent(String name, Object oldValue, Object newValue) {
for (Iterator z = listeners.keySet().iterator(); z.hasNext();) {
IPropertyChangeListener listener = (IPropertyChangeListener) z.next();
PropertyChangeEvent e = new PropertyChangeEvent(this, name, oldValue, newValue);
listener.propertyChange(e);
}
}
public boolean getBoolean(String name) {
return preferences.getBoolean(name);
}
public boolean getDefaultBoolean(String name) {
return preferences.getDefaultBoolean(name);
}
public double getDefaultDouble(String name) {
return preferences.getDefaultDouble(name);
}
public float getDefaultFloat(String name) {
return preferences.getDefaultFloat(name);
}
public int getDefaultInt(String name) {
return preferences.getDefaultInt(name);
}
public long getDefaultLong(String name) {
return preferences.getDefaultLong(name);
}
public String getDefaultString(String name) {
return preferences.getDefaultString(name);
}
public double getDouble(String name) {
return preferences.getDouble(name);
}
public float getFloat(String name) {
return preferences.getFloat(name);
}
public int getInt(String name) {
return preferences.getInt(name);
}
public long getLong(String name) {
return preferences.getLong(name);
}
public String getString(String name) {
return null;
}
public boolean isDefault(String name) {
return preferences.isDefault(name);
}
public boolean needsSaving() {
return preferences.needsSaving();
}
public void putValue(String name, String value) {
listening = false;
preferences.setValue(name, value);
listening = true;
}
public void removePropertyChangeListener(IPropertyChangeListener listener) {
Object candidate = listeners.get(listener);
if (candidate instanceof MyPropertyChangeListener) {
MyPropertyChangeListener l = (MyPropertyChangeListener) candidate;
preferences.removePropertyChangeListener(l);
}
listeners.remove(listener);
}
public void setDefault(String name, double value) {
preferences.setDefault(name, value);
}
public void setDefault(String name, float value) {
preferences.setDefault(name, value);
}
public void setDefault(String name, int value) {
preferences.setDefault(name, value);
}
public void setDefault(String name, long value) {
preferences.setDefault(name, value);
}
public void setDefault(String name, String defaultObject) {
preferences.setDefault(name, defaultObject);
}
public void setDefault(String name, boolean value) {
preferences.setDefault(name, value);
}
public void setToDefault(String name) {
preferences.setToDefault(name);
}
public void setValue(String name, double value) {
preferences.setValue(name, value);
}
public void setValue(String name, float value) {
preferences.setValue(name, value);
}
public void setValue(String name, int value) {
preferences.setValue(name, value);
}
public void setValue(String name, long value) {
preferences.setValue(name, value);
}
public void setValue(String name, String value) {
preferences.setValue(name, value);
}
public void setValue(String name, boolean value) {
preferences.setValue(name, value);
}
}

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2004, 2006 IBM Corporation. All rights reserved.
* Copyright (c) 2004, 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
@ -11,14 +11,14 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - moved SystemPreferencesManager to a new package
********************************************************************************/
package org.eclipse.rse.internal.ui.view;
import java.util.HashMap;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.ui.SystemPreferencesManager;
import org.eclipse.rse.ui.view.ISystemViewElementAdapter;
import org.eclipse.ui.views.properties.IPropertyDescriptor;

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2002, 2006 IBM Corporation. All rights reserved.
* Copyright (c) 2002, 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
@ -12,6 +12,7 @@
*
* Contributors:
* Michael Berger (IBM) - 146339 Added refresh action graphic.
* David Dykstal (IBM) - moved SystemsPreferencesManager to a new package
********************************************************************************/
package org.eclipse.rse.internal.ui.view;
@ -42,7 +43,6 @@ import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.window.Window;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.core.filters.ISystemFilterReference;
import org.eclipse.rse.core.model.IHost;
import org.eclipse.rse.core.model.ISystemContainer;
@ -60,6 +60,7 @@ import org.eclipse.rse.model.SystemResourceChangeEvent;
import org.eclipse.rse.services.clientserver.messages.SystemMessage;
import org.eclipse.rse.ui.ISystemIconConstants;
import org.eclipse.rse.ui.RSEUIPlugin;
import org.eclipse.rse.ui.SystemPreferencesManager;
import org.eclipse.rse.ui.SystemPropertyResources;
import org.eclipse.rse.ui.SystemResources;
import org.eclipse.rse.ui.SystemWidgetHelpers;

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2002, 2006 IBM Corporation. All rights reserved.
* Copyright (c) 2002, 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
@ -11,7 +11,8 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - moved SystemPreferencesManager to a new package
* - created and used RSEPreferencesManager
********************************************************************************/
package org.eclipse.rse.internal.ui.view;
@ -25,7 +26,7 @@ import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.rse.core.IRSESystemType;
import org.eclipse.rse.core.IRSEUserIdConstants;
import org.eclipse.rse.core.RSECorePlugin;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.core.RSEPreferencesManager;
import org.eclipse.rse.core.model.IHost;
import org.eclipse.rse.core.model.ISystemRegistry;
import org.eclipse.rse.core.subsystems.ISubSystem;
@ -409,7 +410,7 @@ public class SystemViewConnectionAdapter
{
String localUserId = conn.getLocalDefaultUserId();
data.setLocalValue(localUserId);
String parentUserId = SystemPreferencesManager.getUserId(conn.getSystemType());
String parentUserId = RSEPreferencesManager.getUserId(conn.getSystemType());
data.setInheritedValue(parentUserId);
data.setIsLocal((localUserId!=null)&&(localUserId.length()>0));
//data.printDetails();

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2002, 2006 IBM Corporation. All rights reserved.
* Copyright (c) 2002, 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
@ -11,7 +11,7 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - moved SystemsPreferencesManager to a new package
********************************************************************************/
package org.eclipse.rse.internal.ui.view;
@ -27,7 +27,6 @@ import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.rse.core.SystemBasePlugin;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.core.filters.ISystemFilter;
import org.eclipse.rse.core.filters.ISystemFilterContainerReference;
import org.eclipse.rse.core.filters.ISystemFilterPool;
@ -53,6 +52,7 @@ import org.eclipse.rse.ui.ISystemIconConstants;
import org.eclipse.rse.ui.ISystemMessages;
import org.eclipse.rse.ui.RSEUIPlugin;
import org.eclipse.rse.ui.SystemMenuManager;
import org.eclipse.rse.ui.SystemPreferencesManager;
import org.eclipse.rse.ui.validators.ISystemValidator;
import org.eclipse.rse.ui.validators.ValidatorFilterName;
import org.eclipse.rse.ui.view.AbstractSystemViewAdapter;

View file

@ -11,7 +11,7 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - moved SystemPreferencesManager to a new package
********************************************************************************/
package org.eclipse.rse.internal.ui.view;
@ -44,7 +44,6 @@ import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.rse.core.SystemBasePlugin;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.core.filters.ISystemFilterPoolReference;
import org.eclipse.rse.core.filters.ISystemFilterReference;
import org.eclipse.rse.core.filters.ISystemFilterStringReference;
@ -63,6 +62,7 @@ import org.eclipse.rse.services.clientserver.messages.SystemMessage;
import org.eclipse.rse.ui.ISystemIconConstants;
import org.eclipse.rse.ui.ISystemPreferencesConstants;
import org.eclipse.rse.ui.RSEUIPlugin;
import org.eclipse.rse.ui.SystemPreferencesManager;
import org.eclipse.rse.ui.SystemResources;
import org.eclipse.rse.ui.SystemWidgetHelpers;
import org.eclipse.rse.ui.actions.SystemCascadingPreferencesAction;

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2002, 2006 IBM Corporation. All rights reserved.
* Copyright (c) 2002, 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
@ -11,7 +11,7 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - moved SystemsPreferencesManager to a new package
********************************************************************************/
package org.eclipse.rse.internal.ui.view;
@ -20,10 +20,10 @@ import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.core.model.ISystemRegistry;
import org.eclipse.rse.internal.model.SystemNewConnectionPromptObject;
import org.eclipse.rse.ui.SystemMenuManager;
import org.eclipse.rse.ui.SystemPreferencesManager;
import org.eclipse.rse.ui.SystemResources;
import org.eclipse.rse.ui.validators.ISystemValidator;
import org.eclipse.rse.ui.view.AbstractSystemViewAdapter;

View file

@ -11,7 +11,8 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - moved SystemPreferencesManager to a new package
* - created and used RSEPreferencesManager
********************************************************************************/
package org.eclipse.rse.ui;
@ -24,7 +25,7 @@ import org.eclipse.core.runtime.Path;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.rse.core.IRSESystemType;
import org.eclipse.rse.core.IRSESystemTypeConstants;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.core.RSEPreferencesManager;
import org.osgi.framework.Bundle;
/**
@ -180,7 +181,7 @@ public class RSESystemTypeAdapter extends RSEAdapter implements IRSESystemTypeCo
boolean result = false;
IRSESystemType systemType = getSystemType(object);
if ( systemType != null) {
result = SystemPreferencesManager.getIsSystemTypeEnabled(systemType);
result = RSEPreferencesManager.getIsSystemTypeEnabled(systemType);
}
return result;
}
@ -193,7 +194,7 @@ public class RSESystemTypeAdapter extends RSEAdapter implements IRSESystemTypeCo
public void setIsEnabled(Object object, boolean isEnabled) {
IRSESystemType systemType = getSystemType(object);
if ( systemType != null) {
SystemPreferencesManager.setIsSystemTypeEnabled(systemType, isEnabled);
RSEPreferencesManager.setIsSystemTypeEnabled(systemType, isEnabled);
}
}
@ -207,7 +208,7 @@ public class RSESystemTypeAdapter extends RSEAdapter implements IRSESystemTypeCo
String result = null;
IRSESystemType systemType = getSystemType(object);
if ( systemType != null) {
result = SystemPreferencesManager.getDefaultUserId(systemType);
result = RSEPreferencesManager.getDefaultUserId(systemType);
}
return result;
}
@ -220,7 +221,7 @@ public class RSESystemTypeAdapter extends RSEAdapter implements IRSESystemTypeCo
public void setDefaultUserId(Object object, String defaultUserId) {
IRSESystemType systemType = getSystemType(object);
if ( systemType != null) {
SystemPreferencesManager.setDefaultUserId(systemType, defaultUserId);
RSEPreferencesManager.setDefaultUserId(systemType, defaultUserId);
}
}

View file

@ -11,7 +11,7 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - moved methods to SystemPreferencesManager
********************************************************************************/
package org.eclipse.rse.ui;
@ -29,7 +29,6 @@ import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.rse.core.IRSESystemType;
import org.eclipse.rse.core.RSECorePlugin;
import org.eclipse.rse.core.SystemBasePlugin;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.core.SystemResourceManager;
import org.eclipse.rse.core.comm.ISystemKeystoreProvider;
import org.eclipse.rse.core.comm.SystemCommunicationsDaemon;

View file

@ -11,7 +11,8 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - moved SystemPreferencesManager to a new package
* - created and used RSEPreferencesManager
********************************************************************************/
package org.eclipse.rse.ui;
@ -29,8 +30,8 @@ import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.rse.core.IRSESystemType;
import org.eclipse.rse.core.IRSEUserIdConstants;
import org.eclipse.rse.core.RSECorePlugin;
import org.eclipse.rse.core.RSEPreferencesManager;
import org.eclipse.rse.core.SystemBasePlugin;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.core.model.IHost;
import org.eclipse.rse.core.model.ISystemProfile;
import org.eclipse.rse.core.model.ISystemRegistry;
@ -698,7 +699,7 @@ public class SystemConnectionForm
if (!updateMode && (defaultSystemType==null))
{
defaultSystemType = SystemPreferencesManager.getSystemType();
defaultSystemType = RSEPreferencesManager.getSystemType();
if ((defaultSystemType == null) || (defaultSystemType.length() == 0))
defaultSystemType = lastSystemType;
if ((defaultSystemType == null) || (defaultSystemType.length() == 0))
@ -990,7 +991,7 @@ public class SystemConnectionForm
{
if (defaultSystemType == null)
{
defaultSystemType = SystemPreferencesManager.getSystemType();
defaultSystemType = RSEPreferencesManager.getSystemType();
if ((defaultSystemType == null) || (defaultSystemType.length()==0))
defaultSystemType = lastSystemType;
}
@ -1059,7 +1060,7 @@ public class SystemConnectionForm
// ---------------
// default user id
// ---------------
String parentUserId = SystemPreferencesManager.getUserId(systemType);
String parentUserId = RSEPreferencesManager.getUserId(systemType);
if (textUserId!=null)
{
textUserId.setInheritedText(parentUserId);

View file

@ -11,24 +11,18 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - moved SystemPreferencesManager to a this package, was in
* the org.eclipse.rse.core package of the UI plugin.
********************************************************************************/
package org.eclipse.rse.core;
package org.eclipse.rse.ui;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.SortedSet;
import java.util.StringTokenizer;
import java.util.TreeSet;
import java.util.Vector;
import org.eclipse.core.runtime.Preferences;
import org.eclipse.rse.core.IRSEPreferenceNames;
import org.eclipse.rse.core.RSECorePlugin;
import org.eclipse.rse.core.model.IHost;
import org.eclipse.rse.core.model.ISystemRegistry;
import org.eclipse.rse.internal.model.SystemProfileManager;
import org.eclipse.rse.ui.ISystemPreferencesConstants;
import org.eclipse.rse.ui.RSEUIPlugin;
/**
* A utility class that encapsulates all global preferences for the remote system framework
@ -51,15 +45,14 @@ public class SystemPreferencesManager {
* system properties.
*/
private static boolean showLocalConnection;
private static boolean showProfilePage;
private static boolean showNewConnectionPrompt;
private static boolean showProfilePage; // This is not a persistent preference
private static boolean showNewConnectionPrompt; // This is not a persistent preference
private static void migrateCorePreferences() {
String[] keys = {
IRSEPreferenceNames.ACTIVEUSERPROFILES,
IRSEPreferenceNames.SYSTEMTYPE,
IRSEPreferenceNames.USE_DEFERRED_QUERIES,
IRSEPreferenceNames.USERIDKEYS,
IRSEPreferenceNames.USERIDPERKEY
};
for (int i = 0; i < keys.length; i++) {
@ -70,119 +63,21 @@ public class SystemPreferencesManager {
private static void migrateCorePreference(String preferenceName) {
String name = ISystemPreferencesConstants.ROOT + preferenceName;
Preferences store = RSEUIPlugin.getDefault().getPluginPreferences();
if (store.contains(name)) {
if (store.contains(name) && !store.isDefault(name)) {
String value = store.getString(name);
String defaultValue = store.getDefaultString(name);
store.setToDefault(name);
store.setDefault(name, "*migrated*"); //$NON-NLS-1$
store = RSECorePlugin.getDefault().getPluginPreferences();
store.setDefault(preferenceName, defaultValue);
store.setValue(preferenceName, value);
}
}
/**
* Determines if a string (the needle) is present in an array of strings (the haystack)
* @param haystack an array of strings to search
* @param needle the string for which to search
* @return true if the needle was found
*/
private static boolean find(String[] haystack, String needle) {
for (int idx = 0; idx < haystack.length; idx++) {
if (haystack[idx].equals(needle)) return true;
}
return false;
}
/**
* Convert table of key-value pairs into a single string. Each (name, value) pair is
* encoded as "name=value;" thus no keys or values in the string may
* contain semi-colons or equal signs.
* @param table a Hashtable to convert
* @return the string containing the converted table
*/
private static String makeString(Hashtable table) {
Enumeration keys = table.keys();
StringBuffer sb = new StringBuffer(20 * table.size());
while (keys.hasMoreElements()) {
String key = (String) keys.nextElement();
String value = (String) table.get(key);
if ((value != null) && (value.length() > 0)) {
sb.append(key);
sb.append('=');
sb.append(value);
sb.append(';');
}
}
return sb.toString();
}
/**
* Parse out list of key-value pairs into a hashtable. This is the inverse of the
* {@link #makeString(Hashtable)} operation.
* @param allValues the string containing the key-value pairs. If empty or null returns
* and empty Hashtable.
* @return the reconstituted Hashtable
*/
private static Hashtable parseString(String allValues) {
Hashtable keyValues = new Hashtable(10);
if (allValues != null) {
StringTokenizer tokens = new StringTokenizer(allValues, "=;"); //$NON-NLS-1$
int count = 0;
String token1 = null;
String token2 = null;
while (tokens.hasMoreTokens()) {
count++;
if ((count % 2) == 0) // even number
{
token2 = tokens.nextToken();
keyValues.put(token1, token2);
} else
token1 = tokens.nextToken();
}
}
return keyValues;
}
/**
* Make a single string out of an array of strings. A semi-colon is
* used as a delimiter between the separate values. No value in the
* array can contain a semi-colon.
* @param values the array of strings to condense into a single one
* @return the condensed string
*/
private static String makeString(String[] values) {
StringBuffer allValues = new StringBuffer(20 * values.length);
for (int idx = 0; idx < values.length; idx++) {
if (values[idx] != null) {
if (idx > 0) {
allValues = allValues.append(';');
}
allValues.append(values[idx]);
}
}
return allValues.toString();
}
/**
* Parse out list of multiple values into a string array per value.
* This is the inverse of the {@link #makeString(String[])} operation.
* @param allvalues the string holding the condensed value
* @return the reconstituted array of strings.
*/
private static String[] parseStrings(String allvalues) {
if (allvalues == null) return new String[0];
String[] tokens = allvalues.split(";"); //$NON-NLS-1$
return tokens;
}
/**
* Initialize our preference store with our defaults.
* This is called once at plugin startup.
*/
public static void initDefaults() {
migrateCorePreferences();
initDefaultsCore();
initDefaultsUI();
initDefaultsComm();
savePreferences();
@ -211,17 +106,6 @@ public class SystemPreferencesManager {
return value;
}
private static void initDefaultsCore() {
String defaultProfileNames = IRSEPreferenceNames.DEFAULT_ACTIVEUSERPROFILES;
String userProfileName = SystemProfileManager.getDefaultPrivateSystemProfileName();
defaultProfileNames += ";" + userProfileName; //$NON-NLS-1$
Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
store.setDefault(IRSEPreferenceNames.SYSTEMTYPE, IRSEPreferenceNames.DEFAULT_SYSTEMTYPE);
store.setDefault(IRSEPreferenceNames.ACTIVEUSERPROFILES, defaultProfileNames);
store.setDefault(IRSEPreferenceNames.USE_DEFERRED_QUERIES, IRSEPreferenceNames.DEFAULT_USE_DEFERRED_QUERIES);
savePreferences();
}
/**
* Set default communications preferences
*/
@ -241,316 +125,6 @@ public class SystemPreferencesManager {
return showProfilePage;
}
/**
* @return the Hashtable where the key is a string identifying a particular object, and
* the value is the user ID for that object.
* @see #setUserId(String, String)
*/
private static Hashtable getUserIds() {
Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
Hashtable userIds = null;
String value = store.getString(IRSEPreferenceNames.USERIDPERKEY);
if (value != null) {
userIds = parseString(value);
} else {
userIds = new Hashtable();
}
return userIds;
}
/**
* Store the user ids that are saved keyed by some key.
* @param userIds A Hashtable of userids.
* @see #setUserId(String, String)
*/
private static void setUserIds(Hashtable userIds) {
Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
String userIdsString = makeString(userIds);
store.setValue(IRSEPreferenceNames.USERIDPERKEY, userIdsString);
savePreferences();
}
/**
* Retrieves a user id given a key.
* @param key the key from which to get the particular user id.
* @return user ID for the given key or null if the key was not found.
* @see #setUserId(String, String)
*/
public static String getUserId(String key) {
String uid = null;
Hashtable userIds = getUserIds();
uid = (String) userIds.get(key);
return uid;
}
/**
* Clears the user ID for the given key.
* @param key the key for the user id.
* @see #setUserId(String, String)
*/
public static void clearUserId(String key) {
Hashtable userIds = getUserIds();
if (userIds.containsKey(key)) {
userIds.remove(key);
setUserIds(userIds);
}
}
/**
* Sets the user Id for this key.
* The key typically designates a scope for this userid so that a hierarchy
* of user ids can be maintained for inheritance.
* For example, hosts have greater scope than subsystems.
* A key would typically be <profile-name>.<host-name>,
* or <profile-name>.<host-type>,
* or <profile-name>.<host-name>.<subsystem-name>.
* @param key the key used to find the userId
* @param userId the userId to retrieve by this key.
*/
public static void setUserId(String key, String userId) {
if ((key != null) && (userId != null)) {
Hashtable userIds = getUserIds();
String storedUserId = (String) userIds.get(key);
if (storedUserId == null || !storedUserId.equals(userId)) { // don't bother updating if its already there
userIds.put(key, userId);
setUserIds(userIds);
}
}
}
/**
* Gets the default user id for a given system type.
* @param systemType the systemtype for which to retrieve the default user id
* @return The default user id
*/
public static String getDefaultUserId(IRSESystemType systemType) {
Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
String key = getSystemTypePreferencesKey(systemType, IRSEPreferenceNames.ST_DEFAULT_USERID);
if (!store.contains(key)) {
store.setDefault(key, System.getProperty("user.name")); //$NON-NLS-1$
}
String result = store.getString(key);
return result;
}
/**
* Sets the default userId for the given system type.
* @param systemTypeName the name of the system type
* @param userId the default user id for this system type.
* This may be null to "unset" the default.
*/
public static void setDefaultUserId(String systemTypeName, String userId) {
IRSESystemType systemType = RSECorePlugin.getDefault().getRegistry().getSystemType(systemTypeName);
if (systemType != null) {
setDefaultUserId(systemType, userId);
}
}
/**
* Sets the default userId for the given system type.
* @param systemType the system type for which to set the default
* @param userId the default user id for this system type.
* This may be null to "unset" the default.
*/
public static void setDefaultUserId(IRSESystemType systemType, String userId) {
Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
String key = getSystemTypePreferencesKey(systemType, IRSEPreferenceNames.ST_DEFAULT_USERID);
store.setValue(key, userId);
savePreferences();
}
/**
* Gets the system type values table for editing. This is a synthesized preference
* that is handled as a single value. Rows are separated by semi-colons.
* Each row is of the format <systemTypeName>=<enabled>+<defaultUserId>;
* @return the table of system types formatted as a single string
*/
public static String getSystemTypeValues() {
IRSESystemType[] systemTypes = RSECorePlugin.getDefault().getRegistry().getSystemTypes();
StringBuffer buffer = new StringBuffer(100);
for (int i = 0; i < systemTypes.length; i++) {
IRSESystemType systemType = systemTypes[i];
buffer.append(systemType.getName());
buffer.append('=');
buffer.append(getIsSystemTypeEnabled(systemType));
buffer.append('+');
buffer.append(getDefaultUserId(systemType));
buffer.append(';');
}
String result = buffer.toString();
return result;
}
/**
* @return the system type to default when no explicit system type is available.
*/
public static String getSystemType() {
Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
String result = store.getString(IRSEPreferenceNames.SYSTEMTYPE);
return result;
}
/**
* Sets the system type to default when no explicit system type is available.
* @param systemType the string giving the system type name.
*/
public static void setSystemType(String systemType) {
Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
store.setValue(IRSEPreferenceNames.SYSTEMTYPE, systemType);
savePreferences();
}
/**
* Sets the default user id and enabled state for all system types.
* @param systemTypeValues a tabled encoded as a string that contains
* entries for each system type. See {@link #getSystemTypeValues()} for the
* table format.
*/
public static void setSystemTypeValues(String systemTypeValues) {
IRSECoreRegistry registry = RSECorePlugin.getDefault().getRegistry();
Hashtable table = parseString(systemTypeValues);
Enumeration e = table.keys();
while (e.hasMoreElements()) {
String key = (String) e.nextElement();
String compoundValue = (String) table.get(key);
String[] values = compoundValue.split("\\+"); //$NON-NLS-1$
String isEnabled = values[0];
String defaultUserId = values[1];
IRSESystemType systemType = registry.getSystemType(key);
setIsSystemTypeEnabled(systemType, isEnabled.equals("true")); //$NON-NLS-1$
setDefaultUserId(systemType, defaultUserId);
}
}
/**
* Sets if a system type is enabled.
* @param systemType the system type to be enabled on this machine.
* @param isEnabled the enabled state
*/
public static void setIsSystemTypeEnabled(IRSESystemType systemType, boolean isEnabled) {
Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
String key = getSystemTypePreferencesKey(systemType, IRSEPreferenceNames.ST_ENABLED);
if (!store.contains(key)) {
store.setDefault(key, true);
}
store.setValue(key, isEnabled);
savePreferences();
}
/**
* Gets the enabled state for a particular system type.
* @param systemType the system type
* @return the enabled state of that type
*/
public static boolean getIsSystemTypeEnabled(IRSESystemType systemType) {
Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
String key = getSystemTypePreferencesKey(systemType, IRSEPreferenceNames.ST_ENABLED);
if (!store.contains(key)) {
store.setDefault(key, true);
}
boolean result = store.getBoolean(key);
return result;
}
private static String getSystemTypePreferencesKey(IRSESystemType systemType, String preference) {
String key = systemType.getName() + "." + preference; //$NON-NLS-1$
return key;
}
/**
* @return the names of the profiles the user has elected to make active.
*/
public static String[] getActiveProfiles() {
Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
String value = store.getString(IRSEPreferenceNames.ACTIVEUSERPROFILES);
String[] result = parseStrings(value);
return result;
}
/**
* Sets the names of the profiles the user has elected to make "active".
* The caller must also save the preferences when completing.
* @see #savePreferences()
* @param newProfileNames an array of profile names considered to be active.
*/
private static void setActiveProfiles(String[] newProfileNames) {
Preferences store = RSECorePlugin.getDefault().getPluginPreferences();
store.setValue(IRSEPreferenceNames.ACTIVEUSERPROFILES, makeString(newProfileNames));
savePreferences();
}
/**
* Add a name to the active profile list.
* A name already in the list is not added again.
* The list remains sorted in the natural order.
* @param newName a new active profile name
*/
public static void addActiveProfile(String newName) {
SortedSet names = new TreeSet(Arrays.asList(getActiveProfiles()));
names.add(newName);
String[] newNames = new String[names.size()];
names.toArray(newNames);
SystemPreferencesManager.setActiveProfiles(newNames);
savePreferences();
}
/**
* Delete one of the active profile names in the list of names stored in the registry.
* @param oldName the name of the profile to remove from the active profiles list.
*/
public static void deleteActiveProfile(String oldName) {
String[] names = getActiveProfiles();
int matchPos = -1;
for (int idx = 0; (matchPos == -1) && (idx < names.length); idx++) {
if (names[idx].equalsIgnoreCase(oldName)) {
matchPos = idx;
names[idx] = null;
}
}
if (matchPos >= 0) {
SystemPreferencesManager.setActiveProfiles(names);
savePreferences();
}
}
/**
* @param profileName the name of the profile to search for in the list of active profiles.
* @return the zero-based position of a give profile name in the active list
*/
public static int getActiveProfilePosition(String profileName) {
String[] names = getActiveProfiles();
int matchPos = -1;
for (int idx = 0; (matchPos == -1) && (idx < names.length); idx++) {
if (names[idx].equalsIgnoreCase(profileName)) matchPos = idx;
}
return matchPos;
}
/**
* Renames one of the active profile names in the list of names stored in the registry.
* This is usually employed after renaming a profile to ensure that the active names
* list stays in synch with the actual profile names. The active state of the profiles
* cannot be kept in the profiles themselves since that can vary from workspace to workspace
* for profiles that are shared in a team.
* @param oldName the old name of the profile
* @param newName the new name of the profile
*/
public static void renameActiveProfile(String oldName, String newName) {
// update active profile name list
String[] names = getActiveProfiles();
int matchPos = -1;
for (int idx = 0; (matchPos == -1) && (idx < names.length); idx++) {
if (names[idx].equalsIgnoreCase(oldName)) {
matchPos = idx;
names[idx] = newName;
}
}
if (matchPos >= 0) {
SystemPreferencesManager.setActiveProfiles(names);
savePreferences();
}
}
/**
* @return true if the user has elected to show user defined actions cascaded by profile
*/
@ -645,6 +219,19 @@ public class SystemPreferencesManager {
savePreferences();
}
/**
* Determines if a string (the needle) is present in an array of strings (the haystack)
* @param haystack an array of strings to search
* @param needle the string for which to search
* @return true if the needle was found
*/
private static boolean find(String[] haystack, String needle) {
for (int idx = 0; idx < haystack.length; idx++) {
if (haystack[idx].equals(needle)) return true;
}
return false;
}
/**
* Resolves differences between two ordered name lists.
* Used when there are differences between the actual list of names and
@ -654,11 +241,11 @@ public class SystemPreferencesManager {
Vector finalList = new Vector();
// step 1: include all names from preferences list which do exist in reality...
for (int idx = 0; idx < ordered.length; idx++) {
if (find(reality, ordered[idx])) finalList.addElement(ordered[idx]);
if (SystemPreferencesManager.find(reality, ordered[idx])) finalList.addElement(ordered[idx]);
}
// step 2: add all names in reality which do not exist in preferences list...
for (int idx = 0; idx < reality.length; idx++) {
if (!find(ordered, reality[idx])) finalList.addElement(reality[idx]);
if (!SystemPreferencesManager.find(ordered, reality[idx])) finalList.addElement(reality[idx]);
}
String[] resolved = new String[finalList.size()];
finalList.toArray(resolved);
@ -816,6 +403,38 @@ public class SystemPreferencesManager {
store.setValue(key, makeString(newHistory));
}
/**
* Make a single string out of an array of strings. A semi-colon is
* used as a delimiter between the separate values. No value in the
* array can contain a semi-colon.
* @param values the array of strings to condense into a single one
* @return the condensed string
*/
private static String makeString(String[] values) {
StringBuffer allValues = new StringBuffer(20 * values.length);
for (int idx = 0; idx < values.length; idx++) {
if (values[idx] != null) {
if (idx > 0) {
allValues = allValues.append(';');
}
allValues.append(values[idx]);
}
}
return allValues.toString();
}
/**
* Parse out list of multiple values into a string array per value.
* This is the inverse of the {@link #makeString(String[])} operation.
* @param allvalues the string holding the condensed value
* @return the reconstituted array of strings.
*/
private static String[] parseStrings(String allvalues) {
if (allvalues == null) return new String[0];
String[] tokens = allvalues.split(";"); //$NON-NLS-1$
return tokens;
}
/**
* Save the preference stores.
*/

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2002, 2006 IBM Corporation. All rights reserved.
* Copyright (c) 2002, 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
@ -11,14 +11,14 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - moved SystemPreferencesManager to a new package
********************************************************************************/
package org.eclipse.rse.ui.actions;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.core.model.ISystemPreferenceChangeEvents;
import org.eclipse.rse.internal.model.SystemPreferenceChangeEvent;
import org.eclipse.rse.ui.RSEUIPlugin;
import org.eclipse.rse.ui.SystemPreferencesManager;
import org.eclipse.rse.ui.SystemResources;
import org.eclipse.swt.widgets.Shell;

View file

@ -11,14 +11,14 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - moved SystemPreferencesManager to a new package
********************************************************************************/
package org.eclipse.rse.ui.actions;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.core.model.ISystemPreferenceChangeEvents;
import org.eclipse.rse.internal.model.SystemPreferenceChangeEvent;
import org.eclipse.rse.ui.RSEUIPlugin;
import org.eclipse.rse.ui.SystemPreferencesManager;
import org.eclipse.rse.ui.SystemResources;
import org.eclipse.swt.widgets.Shell;

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2002, 2006 IBM Corporation. All rights reserved.
* Copyright (c) 2002, 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
@ -11,12 +11,12 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - moved SystemPreferencesManager to a new package
********************************************************************************/
package org.eclipse.rse.ui.dialogs;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.core.RSEPreferencesManager;
import org.eclipse.rse.core.subsystems.IConnectorService;
import org.eclipse.rse.services.clientserver.messages.SystemMessage;
import org.eclipse.rse.ui.ISystemMessages;
@ -253,7 +253,7 @@ public final class SystemPasswordPromptDialog extends SystemPromptDialog impleme
originalUserId = connectorService.getUserId();
userId = originalUserId;
if (connectorService.supportsUserId() && (userId == null || userId.length() == 0)) {
userId = SystemPreferencesManager.getUserId(connectorService.getHostType());
userId = RSEPreferencesManager.getUserId(connectorService.getHostType());
}
if (textUserId != null && userId != null) {
textUserId.setText(userId);

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2006 IBM Corporation. All rights reserved.
* Copyright (c) 2006, 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
@ -11,22 +11,25 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - moved SystemPreferencesManager to a new package
* - created and used PreferencesMapper
********************************************************************************/
package org.eclipse.rse.ui.propertypages;
import org.eclipse.jface.preference.FieldEditorPreferencePage;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.rse.core.IRSEPreferenceNames;
import org.eclipse.rse.core.RSECorePlugin;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.core.model.ISystemPreferenceChangeEvents;
import org.eclipse.rse.internal.model.SystemPreferenceChangeEvent;
import org.eclipse.rse.internal.ui.PreferencesMapper;
import org.eclipse.rse.ui.ISystemPreferencesConstants;
import org.eclipse.rse.ui.Mnemonics;
import org.eclipse.rse.ui.RSEUIPlugin;
import org.eclipse.rse.ui.SystemPreferencesManager;
import org.eclipse.rse.ui.SystemResources;
import org.eclipse.rse.ui.SystemWidgetHelpers;
import org.eclipse.swt.SWT;
@ -86,7 +89,9 @@ public class RemoteSystemsPreferencePage
*/
protected void createFieldEditors()
{
// DEFAULT SYSTEM TYPE
IPreferenceStore coreStore = new PreferencesMapper(RSECorePlugin.getDefault().getPluginPreferences());
// DEFAULT SYSTEM TYPE
SystemComboBoxFieldEditor systemTypeEditor = new SystemComboBoxFieldEditor(
IRSEPreferenceNames.SYSTEMTYPE,
SystemResources.RESID_PREF_SYSTEMTYPE_PREFIX_LABEL,
@ -94,6 +99,7 @@ public class RemoteSystemsPreferencePage
true, // readonly
getFieldEditorParent()
);
systemTypeEditor.setPreferenceStore(coreStore);
systemTypeEditor.setToolTipText(SystemResources.RESID_PREF_SYSTEMTYPE_PREFIX_TOOLTIP);
addField(systemTypeEditor);
@ -166,8 +172,8 @@ public class RemoteSystemsPreferencePage
useDeferredQueryEditor = new SystemBooleanFieldEditor(
IRSEPreferenceNames.USE_DEFERRED_QUERIES,
SystemResources.RESID_PREF_USEDEFERREDQUERIES_PREFIX_LABEL,
getFieldEditorParent())
;
getFieldEditorParent());
useDeferredQueryEditor.setPreferenceStore(coreStore);
useDeferredQueryEditor.setEnabled(false); // disable this because we want it always to be true
addField(useDeferredQueryEditor);
useDeferredQueryEditor.setToolTipText(SystemResources.RESID_PREF_USEDEFERREDQUERIES_PREFIX_TOOLTIP);

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2006 IBM Corporation. All rights reserved.
* Copyright (c) 2006, 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
@ -11,7 +11,8 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - moved SystemPreferencesManager to a new package
* - created and used RSEPreferencesManager
********************************************************************************/
@ -37,7 +38,7 @@ import org.eclipse.jface.viewers.TextCellEditor;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.rse.core.IRSESystemType;
import org.eclipse.rse.core.RSECorePlugin;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.core.RSEPreferencesManager;
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
import org.eclipse.rse.ui.RSESystemTypeAdapter;
import org.eclipse.rse.ui.RSEUIPlugin;
@ -151,7 +152,7 @@ public class SystemTypeFieldEditor extends FieldEditor
if (systemTypes == null)
systemTypes = getSystemTypes(false);
String value = SystemPreferencesManager.getSystemTypeValues();
String value = RSEPreferencesManager.getSystemTypeValues();
keyValues = null;
if ((value == null) || (value.length() == 0))
@ -185,7 +186,7 @@ public class SystemTypeFieldEditor extends FieldEditor
String s = createString(keyValues);
if (s != null) {
SystemPreferencesManager.setSystemTypeValues(s);
RSEPreferencesManager.setSystemTypeValues(s);
}
}
}

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2000, 2006 IBM Corporation. All rights reserved.
* Copyright (c) 2000, 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
@ -11,11 +11,11 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - moved SystemPreferencesManager to a new package
********************************************************************************/
package org.eclipse.rse.ui.widgets;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.ui.SystemPreferencesManager;
import org.eclipse.rse.ui.SystemResources;
import org.eclipse.rse.ui.dialogs.SystemWorkWithHistoryDialog;
import org.eclipse.swt.SWT;
@ -521,7 +521,7 @@ public class SystemHistoryCombo extends Composite implements ISystemCombo, Trave
// -----------------------
/**
* Prepares this composite control and sets the default layout data.
* @param Number of columns the new group will contain.
* @param numColumns Number of columns the new group will contain.
*/
protected Composite prepareComposite(int numColumns)
{

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2000, 2006 IBM Corporation. All rights reserved.
* Copyright (c) 2000, 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
@ -11,7 +11,7 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - moved SystemPreferencesManager to a new package
********************************************************************************/
package org.eclipse.rse.ui.widgets;
@ -21,13 +21,13 @@ import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.core.model.IHost;
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
import org.eclipse.rse.core.subsystems.ISubSystemConfigurationProxy;
import org.eclipse.rse.model.ISystemResourceChangeEvent;
import org.eclipse.rse.model.ISystemResourceChangeEvents;
import org.eclipse.rse.ui.RSEUIPlugin;
import org.eclipse.rse.ui.SystemPreferencesManager;
import org.eclipse.rse.ui.SystemResources;
import org.eclipse.rse.ui.SystemWidgetHelpers;
import org.eclipse.rse.ui.actions.SystemNewConnectionAction;
@ -585,7 +585,7 @@ public class SystemHostCombo extends Composite implements ISelectionProvider, IS
// -----------------------
/**
* Prepares this composite control and sets the default layout data.
* @param Number of columns the new group will contain.
* @param numColumns Number of columns the new group will contain.
*/
protected Composite prepareComposite(int numColumns)
{
@ -658,7 +658,7 @@ public class SystemHostCombo extends Composite implements ISelectionProvider, IS
* <p>
* This fills the combination with the names of all the active connections of the given
* system type.
* @param connectionCombo composite to populate
* @param combo composite to populate
* @param systemType the system type to restrict the connection list to. Pass null or * for all system types
* @param defaultConnection the default system connection to preselect.
* @param preSelectIfNoMatch true if we should preselect the first item if the given connection is not found
@ -676,7 +676,7 @@ public class SystemHostCombo extends Composite implements ISelectionProvider, IS
* <p>
* This fills the combination with the names of all the active connections of the given
* system type.
* @param connectionCombo composite to populate
* @param combo composite to populate
* @param systemType the system type to restrict the connection list to. Pass null or * for all system types
* @param defaultConnection the default system connection to preselect.
* @param preSelectIfNoMatch true if we should preselect the first item if the given connection is not found
@ -744,7 +744,7 @@ public class SystemHostCombo extends Composite implements ISelectionProvider, IS
/**
* Populates a readonly connection combobox instance with system connections for the given
* array of system types.
* @param connectionCombo composite to populate
* @param combo composite to populate
* @param systemTypes the system types to restrict the connection list to. Pass null or * for all system types
* @param defaultConnection the default system connection to preselect.
*/
@ -766,8 +766,8 @@ public class SystemHostCombo extends Composite implements ISelectionProvider, IS
* Populates a readonly connection combobox instance with system connections which have subsystems
* owned by the given subsystem factory.
* <p>
* @param connectionCombo composite to populate
* @param subsystemFactory the subsystem factory to restrict the connection list to.
* @param combo composite to populate
* @param ssFactory the subsystem factory to restrict the connection list to.
* @param defaultConnection the default system connection to preselect.
* @return true if given default connection was found and selected
*/
@ -780,9 +780,9 @@ public class SystemHostCombo extends Composite implements ISelectionProvider, IS
* Populates a readonly connection combobox instance with system connections which have subsystems
* owned by a subsystem factory of the given subsystem factory id.
* <p>
* @param connectionCombo composite to populate
* @param combo composite to populate
* @param defaultConnection the default system connection to preselect.
* @param subsystemFactoryId the subsystem factory id to restrict the connection list by.
* @param ssFactoryId the subsystem factory id to restrict the connection list by.
* @return true if given default connection was found and selected
*/
protected boolean populateConnectionCombo(Combo combo, String ssFactoryId, IHost defaultConnection)
@ -795,9 +795,9 @@ public class SystemHostCombo extends Composite implements ISelectionProvider, IS
* Populates a readonly connection combobox instance with system connections which have subsystems
* owned by a subsystem factory of the given subsystem factory category.
* <p>
* @param connectionCombo composite to populate
* @param combo composite to populate
* @param defaultConnection the default system connection to preselect.
* @param subsystemFactoryCategory the subsystem factory category to restrict the connection list by.
* @param ssFactoryCategory the subsystem factory category to restrict the connection list by.
* @return true if given default connection was found and selected
*/
protected boolean populateConnectionCombo(Combo combo, IHost defaultConnection, String ssFactoryCategory)
@ -837,9 +837,9 @@ public class SystemHostCombo extends Composite implements ISelectionProvider, IS
/**
* Do string variable substitution. Using you are replacing %1 (say) with a string
* @param message containing substitution variable. Eg "Connect failed with return code &1"
* @param substitution variable. Eg "%1"
* @param substitution data. Eg "001"
* @param msg message containing substitution variable. Eg "Connect failed with return code &1"
* @param subOld substitution variable. Eg "%1"
* @param subNew substitution data. Eg "001"
* @return message with all occurrences of variable substituted with data.
*/
protected static String sub(String msg, String subOld, String subNew)

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2000, 2006 IBM Corporation. All rights reserved.
* Copyright (c) 2000, 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
@ -11,7 +11,8 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - moved SystemPreferencesManager to a new package
* - created and used RSEPreferencesManager
********************************************************************************/
package org.eclipse.rse.ui.wizards;
@ -20,8 +21,8 @@ import java.util.Hashtable;
import java.util.Vector;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.rse.core.IRSEPreferenceNames;
import org.eclipse.rse.core.IRSESystemType;
import org.eclipse.rse.core.RSEPreferencesManager;
import org.eclipse.rse.core.SystemBasePlugin;
import org.eclipse.rse.core.model.IHost;
import org.eclipse.rse.core.model.ISystemNewConnectionWizardPage;
@ -177,7 +178,7 @@ public class RSEDefaultNewConnectionWizardDelegate extends RSENewConnectionWizar
{
if ((lastProfile == null) && (activeProfileNames!=null))
{
String defaultTeamName = IRSEPreferenceNames.DEFAULT_TEAMPROFILE;
String defaultTeamName = RSEPreferencesManager.getDefaultTeamProfileName();
for (int idx=0; (lastProfile==null)&&(idx<activeProfileNames.length); idx++)
{
if (!activeProfileNames[idx].equals(defaultTeamName))

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2006 IBM Corporation. All rights reserved.
* Copyright (c) 2006, 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
@ -11,7 +11,8 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - using new API from RSECorePlugin, RSEPreferencesManager
* - moved SystemsPreferencesManager to a new plugin
********************************************************************************/
package org.eclipse.rse.internal.model;
@ -20,7 +21,7 @@ import java.util.Locale;
import org.eclipse.core.runtime.Platform;
import org.eclipse.rse.core.IRSESystemType;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.core.RSEPreferencesManager;
import org.eclipse.rse.core.model.IHost;
import org.eclipse.rse.core.model.ISystemHostPool;
import org.eclipse.rse.core.model.ISystemProfile;
@ -209,7 +210,7 @@ public class Host extends RSEModelObject implements IHost
// value (the actual user id) the old keyed entry held.
if (oldUserId != null)
{
SystemPreferencesManager.clearUserId(previousUserIdKey);
RSEPreferencesManager.clearUserId(previousUserIdKey);
}
}
/**
@ -229,8 +230,8 @@ public class Host extends RSEModelObject implements IHost
String newKey = getPreferencesKey(newName, getAliasName());
if ((userIdValue != null) && (userIdValue.length()>0))
{
SystemPreferencesManager.clearUserId(previousUserIdKey);
SystemPreferencesManager.setUserId(newKey, userIdValue); // store old value with new preference key
RSEPreferencesManager.clearUserId(previousUserIdKey);
RSEPreferencesManager.setUserId(newKey, userIdValue); // store old value with new preference key
}
previousUserIdKey = newKey;
}
@ -276,8 +277,8 @@ public class Host extends RSEModelObject implements IHost
String newKey = getPreferencesKey(getSystemProfileName(), newName);
if ((userIdValue != null) && (userIdValue.length()>0))
{
SystemPreferencesManager.clearUserId(previousUserIdKey);
SystemPreferencesManager.setUserId(newKey, userIdValue); // store old value with new preference key
RSEPreferencesManager.clearUserId(previousUserIdKey);
RSEPreferencesManager.setUserId(newKey, userIdValue); // store old value with new preference key
}
previousUserIdKey = newKey;
}
@ -335,7 +336,7 @@ public class Host extends RSEModelObject implements IHost
String key = getPreferencesKey();
if (key != null)
{
SystemPreferencesManager.setUserId(key, newId);
RSEPreferencesManager.setUserId(key, newId);
}
}
}
@ -359,7 +360,7 @@ public class Host extends RSEModelObject implements IHost
String uid = getLocalDefaultUserId();
if ((uid == null) || (uid.length()==0))
{
uid = SystemPreferencesManager.getUserId(getSystemType()); // resolve from preferences
uid = RSEPreferencesManager.getUserId(getSystemType()); // resolve from preferences
if ((uid != null) && ucId)
uid = uid.toUpperCase();
}
@ -374,7 +375,7 @@ public class Host extends RSEModelObject implements IHost
String uid = null;
if ((key!=null) && (key.length()>0))
{
uid = SystemPreferencesManager.getUserId(key); // resolve from preferences
uid = RSEPreferencesManager.getUserId(key); // resolve from preferences
}
return uid;
}
@ -397,7 +398,7 @@ public class Host extends RSEModelObject implements IHost
public void clearLocalDefaultUserId()
{
if (previousUserIdKey!=null)
SystemPreferencesManager.clearUserId(previousUserIdKey);
RSEPreferencesManager.clearUserId(previousUserIdKey);
}
/**

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2002, 2006 IBM Corporation. All rights reserved.
* Copyright (c) 2002, 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
@ -11,7 +11,8 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - created and used RSEPReferencesManager
* - moved SystemsPreferencesManager to a new plugin
********************************************************************************/
package org.eclipse.rse.internal.model;
@ -21,7 +22,7 @@ import java.util.Iterator;
import java.util.List;
import org.eclipse.rse.core.IRSEUserIdConstants;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.core.RSEPreferencesManager;
import org.eclipse.rse.core.model.IHost;
import org.eclipse.rse.core.model.ISystemHostPool;
import org.eclipse.rse.core.model.ISystemProfile;
@ -262,7 +263,7 @@ public class SystemHostPool extends RSEModelObject implements ISystemHostPool
defaultUserId = defaultUserId.toUpperCase();
if (defaultUserIdLocation == IRSEUserIdConstants.USERID_LOCATION_DEFAULT_SYSTEMTYPE)
{
SystemPreferencesManager.setDefaultUserId(systemType, defaultUserId);
RSEPreferencesManager.setDefaultUserId(systemType, defaultUserId);
}
//else if (defaultUserIdLocation == IRSEUserIdConstants.USERID_LOCATION_DEFAULT_OVERALL)
//{
@ -439,7 +440,7 @@ public class SystemHostPool extends RSEModelObject implements ISystemHostPool
* </ul>
* <b>TODO PROBLEM: CAN'T RE-ORDER FOLDERS SO CAN WE SUPPORT THIS ACTION?</b>
* @param conns Array of SystemConnections to move.
* @param newPosition new zero-based position for the connection
* @param delta the amount by which to move the connections
*/
public void moveHosts(IHost conns[], int delta)
{

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2006 IBM Corporation. All rights reserved.
* Copyright (c) 2006, 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
@ -11,7 +11,8 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - created and used RSEPreferencesManager
* - moved SystemPreferencesManager to a new plugin
********************************************************************************/
package org.eclipse.rse.internal.model;
@ -20,10 +21,9 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Vector;
import org.eclipse.rse.core.IRSEPreferenceNames;
import org.eclipse.rse.core.RSECorePlugin;
import org.eclipse.rse.core.RSEPreferencesManager;
import org.eclipse.rse.core.SystemBasePlugin;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.core.model.ISystemProfile;
import org.eclipse.rse.core.model.ISystemProfileManager;
import org.eclipse.rse.model.SystemStartHere;
@ -60,23 +60,6 @@ public class SystemProfileManager implements ISystemProfileManager {
return singleton;
}
/**
* @return the name of the default private system profile.
*/
public static String getDefaultPrivateSystemProfileName() {
String name = RSECorePlugin.getLocalMachineName();
if (name != null) {
int i = name.indexOf('.');
if (i > 0) {
name = name.substring(0, i);
}
}
if (name == null) {
name = System.getProperty("user.name"); //$NON-NLS-1$
}
return name;
}
/**
* Clear the default after a team sychronization say
*/
@ -104,7 +87,7 @@ public class SystemProfileManager implements ISystemProfileManager {
ISystemProfile newProfile = internalCreateSystemProfileAndFolder(name);
if (makeActive) {
SystemPreferencesManager.addActiveProfile(name);
RSEPreferencesManager.addActiveProfile(name);
((SystemProfile) newProfile).setActive(makeActive);
}
RSEUIPlugin.getThePersistenceManager().commit(this);
@ -117,8 +100,8 @@ public class SystemProfileManager implements ISystemProfileManager {
public void makeSystemProfileActive(ISystemProfile profile, boolean makeActive) {
boolean wasActive = isSystemProfileActive(profile.getName());
if (wasActive && !makeActive)
SystemPreferencesManager.deleteActiveProfile(profile.getName());
else if (makeActive && !wasActive) SystemPreferencesManager.addActiveProfile(profile.getName());
RSEPreferencesManager.deleteActiveProfile(profile.getName());
else if (makeActive && !wasActive) RSEPreferencesManager.addActiveProfile(profile.getName());
((SystemProfile) profile).setActive(makeActive);
}
@ -128,7 +111,7 @@ public class SystemProfileManager implements ISystemProfileManager {
private ISystemProfile internalCreateSystemProfile(String name) {
ISystemProfile profile = new SystemProfile();
initialize(profile, name);
profile.setDefaultPrivate(name.equalsIgnoreCase(getDefaultPrivateSystemProfileName()));
profile.setDefaultPrivate(name.equalsIgnoreCase(RSEPreferencesManager.getDefaultPrivateSystemProfileName()));
return profile;
}
@ -172,7 +155,7 @@ public class SystemProfileManager implements ISystemProfileManager {
// when creating connections.
for (int idx = 0; (!defaultProfileExist) && (idx < profiles.size()); idx++) {
ISystemProfile profile = (ISystemProfile) profiles.get(idx);
String initProfileName = getDefaultPrivateSystemProfileName();
String initProfileName = RSEPreferencesManager.getDefaultPrivateSystemProfileName();
if (profile.getName().equalsIgnoreCase(initProfileName)) {
profile.setDefaultPrivate(true);
defaultProfileExist = true;
@ -183,7 +166,7 @@ public class SystemProfileManager implements ISystemProfileManager {
if (!defaultProfileExist) {
for (int idx = 0; (!defaultProfileExist) && (idx < profiles.size()); idx++) {
ISystemProfile profile = (ISystemProfile) profiles.get(idx);
if (!profile.getName().equalsIgnoreCase(IRSEPreferenceNames.DEFAULT_TEAMPROFILE)) {
if (!profile.getName().equalsIgnoreCase(RSEPreferencesManager.getDefaultTeamProfileName())) {
profile.setDefaultPrivate(true);
RSEUIPlugin.getThePersistenceManager().commit(SystemStartHere.getSystemProfileManager());
@ -259,7 +242,7 @@ public class SystemProfileManager implements ISystemProfileManager {
boolean isActive = isSystemProfileActive(profile.getName());
String oldName = profile.getName();
profile.setName(newName);
if (isActive) SystemPreferencesManager.renameActiveProfile(oldName, newName);
if (isActive) RSEPreferencesManager.renameActiveProfile(oldName, newName);
invalidateCache();
// FIXME RSEUIPlugin.getThePersistenceManager().save(this);
}
@ -278,7 +261,7 @@ public class SystemProfileManager implements ISystemProfileManager {
* if (res != null)
* res.getContents().remove(profile);
*/
if (isActive) SystemPreferencesManager.deleteActiveProfile(oldName);
if (isActive) RSEPreferencesManager.deleteActiveProfile(oldName);
invalidateCache();
if (persist) {
RSEUIPlugin.getThePersistenceManager().deleteProfile(oldName);
@ -322,7 +305,7 @@ public class SystemProfileManager implements ISystemProfileManager {
* @see org.eclipse.rse.core.model.ISystemProfileManager#getActiveSystemProfileNames()
*/
public String[] getActiveSystemProfileNames() {
String[] activeProfileNames = SystemPreferencesManager.getActiveProfiles();
String[] activeProfileNames = RSEPreferencesManager.getActiveProfiles();
// dy: defect 48355, need to sync this with the actual profile list. If the user
// imports old preference settings or does a team sync and a profile is deleted then
// it is possible an active profile no longer exists.
@ -332,14 +315,14 @@ public class SystemProfileManager implements ISystemProfileManager {
boolean found_team = false;
boolean found_private = false;
boolean changed = false;
String defaultProfileName = getDefaultPrivateSystemProfileName();
String defaultProfileName = RSEPreferencesManager.getDefaultPrivateSystemProfileName();
for (int activeIdx = 0; activeIdx < activeProfileNames.length; activeIdx++) {
// skip Team and Private profiles
String activeProfileName = activeProfileNames[activeIdx];
if (activeProfileName.equals(defaultProfileName)) {
found_private = true;
} else if (activeProfileName.equals(IRSEPreferenceNames.DEFAULT_TEAMPROFILE)) {
} else if (activeProfileName.equals(RSEPreferencesManager.getDefaultTeamProfileName())) {
found_team = true;
} else {
found = false;
@ -351,7 +334,7 @@ public class SystemProfileManager implements ISystemProfileManager {
if (!found) {
// The active profile no longer exists so remove it from the active list
SystemPreferencesManager.deleteActiveProfile(activeProfileNames[activeIdx]);
RSEPreferencesManager.deleteActiveProfile(activeProfileNames[activeIdx]);
changed = true;
}
}
@ -370,9 +353,9 @@ public class SystemProfileManager implements ISystemProfileManager {
}
if (!matchesBoth && found_private) {
if (systemProfiles[systemIdx].isActive() || systemProfiles[systemIdx].isDefaultPrivate()) {
SystemPreferencesManager.addActiveProfile(name);
SystemPreferencesManager.deleteActiveProfile(RSECorePlugin.getLocalMachineName());
activeProfileNames = SystemPreferencesManager.getActiveProfiles();
RSEPreferencesManager.addActiveProfile(name);
RSEPreferencesManager.deleteActiveProfile(RSECorePlugin.getLocalMachineName());
activeProfileNames = RSEPreferencesManager.getActiveProfiles();
}
}
}
@ -384,24 +367,24 @@ public class SystemProfileManager implements ISystemProfileManager {
// First time user, make sure default is in the active list, the only time it wouldn't
// be is if the pref_store.ini was modified (because the user imported old preferences)
if (!found_team) {
SystemPreferencesManager.addActiveProfile(IRSEPreferenceNames.DEFAULT_TEAMPROFILE);
RSEPreferencesManager.addActiveProfile(RSEPreferencesManager.getDefaultTeamProfileName());
changed = true;
}
if (!found_private) {
SystemPreferencesManager.addActiveProfile(RSECorePlugin.getLocalMachineName());
RSEPreferencesManager.addActiveProfile(RSECorePlugin.getLocalMachineName());
changed = true;
}
} else {
ISystemProfile defaultProfile = getDefaultPrivateSystemProfile();
if (defaultProfile != null && !found_private) {
SystemPreferencesManager.addActiveProfile(defaultProfile.getName());
RSEPreferencesManager.addActiveProfile(defaultProfile.getName());
changed = true;
}
}
if (changed) {
activeProfileNames = SystemPreferencesManager.getActiveProfiles();
activeProfileNames = RSEPreferencesManager.getActiveProfiles();
}
}
@ -412,7 +395,7 @@ public class SystemProfileManager implements ISystemProfileManager {
* @return the profile names currently selected by the user as "active" profiles
*/
public Vector getActiveSystemProfileNamesVector() {
String[] profileNames = SystemPreferencesManager.getActiveProfiles();
String[] profileNames = RSEPreferencesManager.getActiveProfiles();
Vector v = new Vector(profileNames.length);
for (int idx = 0; idx < profileNames.length; idx++)
v.addElement(profileNames[idx]);
@ -435,14 +418,14 @@ public class SystemProfileManager implements ISystemProfileManager {
* @see org.eclipse.rse.core.model.ISystemProfileManager#getDefaultPrivateSystemProfile()
*/
public ISystemProfile getDefaultPrivateSystemProfile() {
return getSystemProfile(getDefaultPrivateSystemProfileName());
return getSystemProfile(RSEPreferencesManager.getDefaultPrivateSystemProfileName());
}
/* (non-Javadoc)
* @see org.eclipse.rse.core.model.ISystemProfileManager#getDefaultTeamSystemProfile()
*/
public ISystemProfile getDefaultTeamSystemProfile() {
return getSystemProfile(IRSEPreferenceNames.DEFAULT_TEAMPROFILE);
return getSystemProfile(RSEPreferencesManager.getDefaultTeamProfileName());
}
/**
@ -531,7 +514,7 @@ public class SystemProfileManager implements ISystemProfileManager {
public List getProfiles() {
if (_profiles == null) {
ISystemProfile profile = new SystemProfile();
String initProfileName = getDefaultPrivateSystemProfileName();
String initProfileName = RSEPreferencesManager.getDefaultPrivateSystemProfileName();
profile.setName(initProfileName);
profile.setDefaultPrivate(true);
_profiles = new ArrayList();

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2006 IBM Corporation and Wind River Systems, Inc. All rights reserved.
* Copyright (c) 2006, 2007 IBM Corporation and Wind River Systems, Inc. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
@ -12,6 +12,7 @@
*
* Contributors:
* Michael Scharf (Wind River) - patch for an NPE in getSubSystemConfigurations()
* David Dykstal (IBM) - moved SystemsPreferencesManager to a new package
********************************************************************************/
package org.eclipse.rse.model;
@ -33,7 +34,6 @@ import org.eclipse.rse.core.IRSEUserIdConstants;
import org.eclipse.rse.core.RSECorePlugin;
import org.eclipse.rse.core.SystemAdapterHelpers;
import org.eclipse.rse.core.SystemBasePlugin;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.core.filters.ISystemFilter;
import org.eclipse.rse.core.filters.ISystemFilterPool;
import org.eclipse.rse.core.filters.ISystemFilterPoolReferenceManager;
@ -82,6 +82,7 @@ import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
import org.eclipse.rse.ui.ISystemMessages;
import org.eclipse.rse.ui.RSESystemTypeAdapter;
import org.eclipse.rse.ui.RSEUIPlugin;
import org.eclipse.rse.ui.SystemPreferencesManager;
import org.eclipse.rse.ui.messages.SystemMessageDialog;
import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter;
import org.eclipse.rse.ui.view.ISystemViewInputProvider;

View file

@ -12,7 +12,8 @@
*
* Contributors:
* Martin Oberhuber (Wind River) - 141803: Fix cpu usage 100% while connecting
*
* David Dykstal (IBM) - 168870: moved SystemPreferencesManager to a new package
* David Dykstal (IBM) - 168870: created and used RSEPreferencesManager
********************************************************************************/
package org.eclipse.rse.core.subsystems;
@ -31,8 +32,8 @@ import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
import org.eclipse.jface.operation.IRunnableContext;
import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.rse.core.RSEPreferencesManager;
import org.eclipse.rse.core.SystemBasePlugin;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.core.filters.ISystemFilter;
import org.eclipse.rse.core.filters.ISystemFilterPool;
import org.eclipse.rse.core.filters.ISystemFilterPoolManager;
@ -255,8 +256,8 @@ public abstract class SubSystem extends RSEModelObject implements IAdaptable, IS
String newKey = getPreferencesKey(newName, getHostAliasName());
if ((userIdValue != null) && (userIdValue.length()>0))
{
SystemPreferencesManager.clearUserId(previousUserIdKey);
SystemPreferencesManager.setUserId(newKey, userIdValue); // store old value with new preference key
RSEPreferencesManager.clearUserId(previousUserIdKey);
RSEPreferencesManager.setUserId(newKey, userIdValue); // store old value with new preference key
}
previousUserIdKey = newKey;
@ -303,8 +304,8 @@ public abstract class SubSystem extends RSEModelObject implements IAdaptable, IS
String newKey = getPreferencesKey(getSystemProfileName(), newName);
if ((userIdValue != null) && (userIdValue.length()>0))
{
SystemPreferencesManager.clearUserId(previousUserIdKey);
SystemPreferencesManager.setUserId(newKey, userIdValue); // store old value with new preference key
RSEPreferencesManager.clearUserId(previousUserIdKey);
RSEPreferencesManager.setUserId(newKey, userIdValue); // store old value with new preference key
}
previousUserIdKey = newKey;
@ -339,7 +340,7 @@ public abstract class SubSystem extends RSEModelObject implements IAdaptable, IS
// value (the actual user id) the old keyed entry held.
if (oldUserId != null)
{
SystemPreferencesManager.clearUserId(previousUserIdKey);
RSEPreferencesManager.clearUserId(previousUserIdKey);
}
// delete the connection-private filter pool, if it exists:
ISystemFilterPool privatePool = getConnectionPrivateFilterPool(false); // false => don't create if not found
@ -408,7 +409,7 @@ public abstract class SubSystem extends RSEModelObject implements IAdaptable, IS
String uid = null;
if ((key!=null) && (key.length()>0))
{
uid = SystemPreferencesManager.getUserId(key); // resolve from preferences
uid = RSEPreferencesManager.getUserId(key); // resolve from preferences
}
return uid;
}
@ -444,7 +445,7 @@ public abstract class SubSystem extends RSEModelObject implements IAdaptable, IS
public void clearLocalUserId()
{
if (previousUserIdKey != null)
SystemPreferencesManager.clearUserId(previousUserIdKey);
RSEPreferencesManager.clearUserId(previousUserIdKey);
IConnectorService system = getConnectorService();
if (system != null)
system.clearUserIdCache();

View file

@ -1,5 +1,5 @@
/********************************************************************************
* Copyright (c) 2002, 2006 IBM Corporation. All rights reserved.
* Copyright (c) 2002, 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
@ -11,7 +11,7 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* David Dykstal (IBM) - 168870: moved SystemPreferencesManager to a new package
********************************************************************************/
package org.eclipse.rse.core.subsystems;
@ -31,7 +31,6 @@ import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.rse.core.IRSESystemType;
import org.eclipse.rse.core.SystemBasePlugin;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.core.filters.ISystemFilter;
import org.eclipse.rse.core.filters.ISystemFilterContainer;
import org.eclipse.rse.core.filters.ISystemFilterContainerReference;
@ -60,7 +59,7 @@ import org.eclipse.rse.model.SystemStartHere;
import org.eclipse.rse.services.clientserver.messages.SystemMessage;
import org.eclipse.rse.ui.ISystemMessages;
import org.eclipse.rse.ui.RSEUIPlugin;
import org.eclipse.rse.ui.SystemMenuManager;
import org.eclipse.rse.ui.SystemPreferencesManager;
import org.eclipse.rse.ui.SystemPropertyResources;
import org.eclipse.rse.ui.SystemResources;
import org.eclipse.rse.ui.filters.actions.SystemNewFilterAction;
@ -311,8 +310,6 @@ public abstract class SubSystemConfiguration implements ISubSystemConfiguration
* <p>RETURNS false BY DEFAULT
*
* @see #supportsUserDefinedActions(ISelection)
* @see #getActionSubSystem(ISubSystem)
* @see #createActionSubSystem()
*/
public boolean supportsUserDefinedActions()
{
@ -325,9 +322,6 @@ public abstract class SubSystemConfiguration implements ISubSystemConfiguration
* calls supportsUserDefinedActions() by default. It is called when decided whether or not to show
* the User Actions menu for the current selection, if supportsUserDefinedActions() returns true.
*
* @see #getActionSubSystem(ISubSystem)
* @see #createActionSubSystem()
* @see #addCommonRemoteActions(SystemMenuManager, IStructuredSelection, Shell, String, ISubSystem)
*/
public boolean supportsUserDefinedActions(ISelection selection)
{
@ -384,8 +378,6 @@ public abstract class SubSystemConfiguration implements ISubSystemConfiguration
* By returning true, user sees a "Work with->Compile Commands..." action item in the popup menu for this
* subsystem. The action is supplied by the framework, but is populated using overridable methods in this subsystem.
* <p>RETURNS false BY DEFAULT
* @see #getCompileManager()
* @see #createCompileManager()
*/
public boolean supportsCompileActions()
{
@ -1154,8 +1146,7 @@ public abstract class SubSystemConfiguration implements ISubSystemConfiguration
* <li>if {@link #supportsFilters()}, creates a {@link org.eclipse.rse.core.filters.ISystemFilterPoolReferenceManager} for the
* subsystem to manage references to filter pools
* <li>if (@link #supportsServerLaunchProperties()}, calls {@link #createServerLauncher(IConnectorService)}, to create
* the server launcher instance to associate with this subsystem. This can be subsequently
* retrieved via calling subsystem's {@link ISubSystem#getRemoteServerLauncher()}.
* the server launcher instance to associate with this subsystem.}.
* <li>calls {@link #initializeSubSystem(ISubSystem, ISystemNewConnectionWizardPage[])} so subclasses can
* do their thing to initialize the subsystem.
* <li>finally, saves the subsystem to disk.
@ -1519,7 +1510,7 @@ public abstract class SubSystemConfiguration implements ISubSystemConfiguration
}
/**
* Update the port for the given subsystem instance.
* Shortcut to {@link #updateSubSystem(Shell, ISubSystem, boolean, String, boolean, int)}
* Shortcut to {@link #updateSubSystem(ISubSystem, boolean, String, boolean, int)}
*/
public void setSubSystemPort(ISubSystem subsystem, int port)
{
@ -1527,7 +1518,7 @@ public abstract class SubSystemConfiguration implements ISubSystemConfiguration
}
/**
* Update the user ID for the given subsystem instance.
* Shortcut to {@link #updateSubSystem(Shell, ISubSystem, boolean, String, boolean, int)}
* Shortcut to {@link #updateSubSystem(ISubSystem, boolean, String, boolean, int)}
*/
public void setSubSystemUserId(ISubSystem subsystem, String userId)
{

View file

@ -1,5 +1,5 @@
/* ******************************************************************************
* Copyright (c) 2006 IBM Corporation. All rights reserved.
* Copyright (c) 2006, 2007 IBM Corporation. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
@ -8,6 +8,8 @@
* David Dykstal (IBM) - initial API and implementation.
* David McKnight (IBM) - initial API and implementation.
* Kushal Munir (IBM) - initial API and implementation.
* David Dykstal (IBM) - moved SystemPreferencesManager to a new package
* - created and used RSEPreferencesManager
* ******************************************************************************/
package org.eclipse.rse.tests.preferences;
@ -15,8 +17,9 @@ package org.eclipse.rse.tests.preferences;
import org.eclipse.rse.core.IRSECoreRegistry;
import org.eclipse.rse.core.IRSESystemType;
import org.eclipse.rse.core.RSECorePlugin;
import org.eclipse.rse.core.SystemPreferencesManager;
import org.eclipse.rse.core.RSEPreferencesManager;
import org.eclipse.rse.tests.core.RSECoreTestCase;
import org.eclipse.rse.ui.SystemPreferencesManager;
/**
* Tests for {@link SystemPreferencesManager}.
@ -38,39 +41,39 @@ public class PreferencesTest extends RSECoreTestCase {
}
public void testActiveProfiles() {
SystemPreferencesManager.addActiveProfile("bogus01"); //$NON-NLS-1$
SystemPreferencesManager.addActiveProfile("bogus02"); //$NON-NLS-1$
String[] profiles = SystemPreferencesManager.getActiveProfiles();
RSEPreferencesManager.addActiveProfile("bogus01"); //$NON-NLS-1$
RSEPreferencesManager.addActiveProfile("bogus02"); //$NON-NLS-1$
String[] profiles = RSEPreferencesManager.getActiveProfiles();
assertTrue(profiles.length >= 2);
assertEquals("bogus02", profiles[SystemPreferencesManager.getActiveProfilePosition("bogus02")]); //$NON-NLS-1$ //$NON-NLS-2$
assertEquals("bogus01", profiles[SystemPreferencesManager.getActiveProfilePosition("bogus01")]); //$NON-NLS-1$ //$NON-NLS-2$
SystemPreferencesManager.renameActiveProfile("bogus02", "bogus99"); //$NON-NLS-1$ //$NON-NLS-2$
profiles = SystemPreferencesManager.getActiveProfiles();
assertEquals("bogus99", profiles[SystemPreferencesManager.getActiveProfilePosition("bogus99")]); //$NON-NLS-1$ //$NON-NLS-2$
SystemPreferencesManager.deleteActiveProfile("bogus01"); //$NON-NLS-1$
SystemPreferencesManager.deleteActiveProfile("bogus99"); //$NON-NLS-1$
assertEquals(-1, SystemPreferencesManager.getActiveProfilePosition("bogus02")); //$NON-NLS-1$
assertEquals(-1, SystemPreferencesManager.getActiveProfilePosition("bogus01")); //$NON-NLS-1$
assertEquals(-1, SystemPreferencesManager.getActiveProfilePosition("bogus99")); //$NON-NLS-1$
assertEquals("bogus02", profiles[RSEPreferencesManager.getActiveProfilePosition("bogus02")]); //$NON-NLS-1$ //$NON-NLS-2$
assertEquals("bogus01", profiles[RSEPreferencesManager.getActiveProfilePosition("bogus01")]); //$NON-NLS-1$ //$NON-NLS-2$
RSEPreferencesManager.renameActiveProfile("bogus02", "bogus99"); //$NON-NLS-1$ //$NON-NLS-2$
profiles = RSEPreferencesManager.getActiveProfiles();
assertEquals("bogus99", profiles[RSEPreferencesManager.getActiveProfilePosition("bogus99")]); //$NON-NLS-1$ //$NON-NLS-2$
RSEPreferencesManager.deleteActiveProfile("bogus01"); //$NON-NLS-1$
RSEPreferencesManager.deleteActiveProfile("bogus99"); //$NON-NLS-1$
assertEquals(-1, RSEPreferencesManager.getActiveProfilePosition("bogus02")); //$NON-NLS-1$
assertEquals(-1, RSEPreferencesManager.getActiveProfilePosition("bogus01")); //$NON-NLS-1$
assertEquals(-1, RSEPreferencesManager.getActiveProfilePosition("bogus99")); //$NON-NLS-1$
}
public void testUserIds() {
SystemPreferencesManager.setUserId("a.b.c", "bogusUser"); //$NON-NLS-1$ //$NON-NLS-2$
assertEquals("bogusUser", SystemPreferencesManager.getUserId("a.b.c")); //$NON-NLS-1$ //$NON-NLS-2$
SystemPreferencesManager.clearUserId("a.b.c"); //$NON-NLS-1$
assertNull(SystemPreferencesManager.getUserId("a.b.c")); //$NON-NLS-1$
RSEPreferencesManager.setUserId("a.b.c", "bogusUser"); //$NON-NLS-1$ //$NON-NLS-2$
assertEquals("bogusUser", RSEPreferencesManager.getUserId("a.b.c")); //$NON-NLS-1$ //$NON-NLS-2$
RSEPreferencesManager.clearUserId("a.b.c"); //$NON-NLS-1$
assertNull(RSEPreferencesManager.getUserId("a.b.c")); //$NON-NLS-1$
}
public void testDefaultUserIds() {
IRSECoreRegistry registry = RSECorePlugin.getDefault().getRegistry();
IRSESystemType systemType = registry.getSystemType("Local"); //$NON-NLS-1$
String oldValue = SystemPreferencesManager.getDefaultUserId(systemType);
SystemPreferencesManager.setDefaultUserId(systemType, "bogus1"); //$NON-NLS-1$
assertEquals("bogus1", SystemPreferencesManager.getDefaultUserId(systemType)); //$NON-NLS-1$
SystemPreferencesManager.setDefaultUserId("Local", "bogus2"); //$NON-NLS-1$ //$NON-NLS-2$
assertEquals("bogus2", SystemPreferencesManager.getDefaultUserId(systemType)); //$NON-NLS-1$
SystemPreferencesManager.setDefaultUserId(systemType, oldValue);
assertEquals(oldValue, SystemPreferencesManager.getDefaultUserId(systemType));
String oldValue = RSEPreferencesManager.getDefaultUserId(systemType);
RSEPreferencesManager.setDefaultUserId(systemType, "bogus1"); //$NON-NLS-1$
assertEquals("bogus1", RSEPreferencesManager.getDefaultUserId(systemType)); //$NON-NLS-1$
RSEPreferencesManager.setDefaultUserId("Local", "bogus2"); //$NON-NLS-1$ //$NON-NLS-2$
assertEquals("bogus2", RSEPreferencesManager.getDefaultUserId(systemType)); //$NON-NLS-1$
RSEPreferencesManager.setDefaultUserId(systemType, oldValue);
assertEquals(oldValue, RSEPreferencesManager.getDefaultUserId(systemType));
}
public void testShowLocalConnection() {