Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 272528 | Differences between
and this patch

Collapse All | Expand All

(-)Eclipse UI/org/eclipse/ui/internal/AbstractWorkingSetManager.java (-11 / +7 lines)
Lines 24-29 Link Here
24
import java.util.SortedSet;
24
import java.util.SortedSet;
25
import java.util.TreeSet;
25
import java.util.TreeSet;
26
26
27
import org.eclipse.core.commands.common.EventManager;
27
import org.eclipse.core.runtime.Assert;
28
import org.eclipse.core.runtime.Assert;
28
import org.eclipse.core.runtime.IAdaptable;
29
import org.eclipse.core.runtime.IAdaptable;
29
import org.eclipse.core.runtime.IExtension;
30
import org.eclipse.core.runtime.IExtension;
Lines 38-52 Link Here
38
import org.eclipse.core.runtime.dynamichelpers.IExtensionChangeHandler;
39
import org.eclipse.core.runtime.dynamichelpers.IExtensionChangeHandler;
39
import org.eclipse.core.runtime.dynamichelpers.IExtensionTracker;
40
import org.eclipse.core.runtime.dynamichelpers.IExtensionTracker;
40
import org.eclipse.core.runtime.jobs.Job;
41
import org.eclipse.core.runtime.jobs.Job;
41
42
import org.eclipse.core.commands.common.EventManager;
43
44
import org.eclipse.swt.widgets.Display;
45
import org.eclipse.swt.widgets.Shell;
46
47
import org.eclipse.jface.util.IPropertyChangeListener;
42
import org.eclipse.jface.util.IPropertyChangeListener;
48
import org.eclipse.jface.util.PropertyChangeEvent;
43
import org.eclipse.jface.util.PropertyChangeEvent;
49
44
import org.eclipse.osgi.util.NLS;
45
import org.eclipse.swt.widgets.Display;
46
import org.eclipse.swt.widgets.Shell;
50
import org.eclipse.ui.IElementFactory;
47
import org.eclipse.ui.IElementFactory;
51
import org.eclipse.ui.IMemento;
48
import org.eclipse.ui.IMemento;
52
import org.eclipse.ui.IPersistableElement;
49
import org.eclipse.ui.IPersistableElement;
Lines 69-76 Link Here
69
import org.eclipse.ui.internal.registry.WorkingSetRegistry;
66
import org.eclipse.ui.internal.registry.WorkingSetRegistry;
70
import org.eclipse.ui.progress.WorkbenchJob;
67
import org.eclipse.ui.progress.WorkbenchJob;
71
import org.eclipse.ui.statushandlers.StatusManager;
68
import org.eclipse.ui.statushandlers.StatusManager;
72
73
import org.eclipse.osgi.util.NLS;
74
import org.osgi.framework.Bundle;
69
import org.osgi.framework.Bundle;
75
import org.osgi.framework.BundleContext;
70
import org.osgi.framework.BundleContext;
76
import org.osgi.framework.BundleEvent;
71
import org.osgi.framework.BundleEvent;
Lines 267-273 Link Here
267
     * @see org.eclipse.ui.IWorkingSetManager
262
     * @see org.eclipse.ui.IWorkingSetManager
268
     */
263
     */
269
    public IWorkingSet[] getWorkingSets() {
264
    public IWorkingSet[] getWorkingSets() {
270
    		SortedSet visibleSubset = new TreeSet(WorkingSetComparator.INSTANCE);
265
		SortedSet visibleSubset = new TreeSet(WorkingSetComparator
266
				.getInstance());
271
    		for (Iterator i = workingSets.iterator(); i.hasNext();) {
267
    		for (Iterator i = workingSets.iterator(); i.hasNext();) {
272
				IWorkingSet workingSet = (IWorkingSet) i.next();
268
				IWorkingSet workingSet = (IWorkingSet) i.next();
273
				if (workingSet.isVisible()) {
269
				if (workingSet.isVisible()) {
Lines 280-286 Link Here
280
	public IWorkingSet[] getAllWorkingSets() {
276
	public IWorkingSet[] getAllWorkingSets() {
281
		IWorkingSet[] sets = (IWorkingSet[]) workingSets
277
		IWorkingSet[] sets = (IWorkingSet[]) workingSets
282
					.toArray(new IWorkingSet[workingSets.size()]);
278
					.toArray(new IWorkingSet[workingSets.size()]);
283
		Arrays.sort(sets, WorkingSetComparator.INSTANCE);
279
		Arrays.sort(sets, WorkingSetComparator.getInstance());
284
		return sets;
280
		return sets;
285
	}
281
	}
286
282
(-)Eclipse UI/org/eclipse/ui/internal/WorkingSetComparator.java (-6 / +11 lines)
Lines 10-31 Link Here
10
 *******************************************************************************/
10
 *******************************************************************************/
11
package org.eclipse.ui.internal;
11
package org.eclipse.ui.internal;
12
12
13
import com.ibm.icu.text.Collator;
14
import java.util.Comparator;
13
import java.util.Comparator;
15
14
16
import org.eclipse.ui.IWorkingSet;
15
import org.eclipse.ui.IWorkingSet;
17
16
17
import com.ibm.icu.text.Collator;
18
18
/**
19
/**
19
 * Compares two working sets by name.
20
 * Compares two working sets by name.
20
 */
21
 */
21
public class WorkingSetComparator implements Comparator {
22
public class WorkingSetComparator implements Comparator {
22
	
23
	
23
	/**
24
	private static ThreadLocal INSTANCES = new ThreadLocal() {
24
	 * Static instance of this class.
25
		protected synchronized Object initialValue() {
25
	 * @since 3.2
26
			return new WorkingSetComparator();
26
	 */
27
		}
27
	public static WorkingSetComparator INSTANCE = new WorkingSetComparator();
28
	};
28
	
29
	
30
	public static WorkingSetComparator getInstance() {
31
		return (WorkingSetComparator) INSTANCES.get();
32
	}
33
29
    private Collator fCollator = Collator.getInstance();
34
    private Collator fCollator = Collator.getInstance();
30
35
31
    /**
36
    /**

Return to bug 272528