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 153573 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/mylar/internal/tasks/ui/workingset/TaskWorkingSetUpdater.java (-2 / +20 lines)
Lines 9-16 Link Here
9
package org.eclipse.mylar.internal.tasks.ui.workingset;
9
package org.eclipse.mylar.internal.tasks.ui.workingset;
10
10
11
import java.util.ArrayList;
11
import java.util.ArrayList;
12
import java.util.Arrays;
12
import java.util.List;
13
import java.util.List;
13
14
15
import org.eclipse.core.runtime.IAdaptable;
14
import org.eclipse.mylar.tasks.core.AbstractTaskContainer;
16
import org.eclipse.mylar.tasks.core.AbstractTaskContainer;
15
import org.eclipse.mylar.tasks.core.ITask;
17
import org.eclipse.mylar.tasks.core.ITask;
16
import org.eclipse.mylar.tasks.core.ITaskListChangeListener;
18
import org.eclipse.mylar.tasks.core.ITaskListChangeListener;
Lines 62-72 Link Here
62
	}
64
	}
63
65
64
	public void containerDeleted(AbstractTaskContainer container) {
66
	public void containerDeleted(AbstractTaskContainer container) {
65
		// XXX remove container from working set
67
		synchronized (workingSets) {
68
			for (IWorkingSet workingSet : workingSets) {
69
				// TODO could filter by working set id
70
				ArrayList<IAdaptable> remove = new ArrayList<IAdaptable>(); 
71
				for (IAdaptable adaptable : workingSet.getElements()) {
72
					if (adaptable instanceof AbstractTaskContainer
73
							&& ((AbstractTaskContainer) adaptable).getHandleIdentifier().equals(
74
									container.getHandleIdentifier())) {
75
						remove.add(adaptable);
76
					}
77
				}
78
				if(!remove.isEmpty()) {
79
					ArrayList<IAdaptable> elements = new ArrayList<IAdaptable>(Arrays.asList(workingSet.getElements()));
80
					elements.removeAll(remove);
81
					workingSet.setElements(elements.toArray(new IAdaptable[elements.size()]));
82
				}
83
			}
84
		}
66
	}
85
	}
67
86
68
	public void containerInfoChanged(AbstractTaskContainer container) {
87
	public void containerInfoChanged(AbstractTaskContainer container) {
69
		// XXX need to do anything?
70
	}
88
	}
71
89
72
	public void localInfoChanged(ITask task) {
90
	public void localInfoChanged(ITask task) {

Return to bug 153573