1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-18 13:45:45 +02:00

Fix bug 142446. Ensure that no profile (including the Team and default private profiles) are not placed in the active profiles list more than once.

This commit is contained in:
David Dykstal 2006-05-19 01:21:10 +00:00
parent 0adf8745e1
commit 94ee293c61

View file

@ -15,9 +15,11 @@
********************************************************************************/ ********************************************************************************/
package org.eclipse.rse.core; package org.eclipse.rse.core;
import java.util.Arrays;
import java.util.Hashtable; import java.util.Hashtable;
import java.util.SortedSet;
import java.util.TreeSet;
import java.util.Vector; import java.util.Vector;
import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.rse.model.IHost; import org.eclipse.rse.model.IHost;
import org.eclipse.rse.model.ISystemRegistry; import org.eclipse.rse.model.ISystemRegistry;
@ -112,15 +114,15 @@ public class SystemPreferencesManager
RemoteSystemsPreferencePage.setActiveProfiles(names); RemoteSystemsPreferencePage.setActiveProfiles(names);
} }
/** /**
* Add a name to the active profile list * 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.
*/ */
public void addActiveProfile(String newName) public void addActiveProfile(String newName)
{ {
String[] names = getActiveProfileNames(); SortedSet names = new TreeSet(Arrays.asList(getActiveProfileNames()));
String[] newNames = new String[names.length+1]; names.add(newName);
for (int idx=0; idx<names.length; idx++) String[] newNames = new String[names.size()];
newNames[idx] = names[idx]; names.toArray(newNames);
newNames[names.length] = newName;
RemoteSystemsPreferencePage.setActiveProfiles(newNames); RemoteSystemsPreferencePage.setActiveProfiles(newNames);
} }