|
Lines 16-21
Link Here
|
| 16 |
import org.eclipse.mylar.tasks.core.AbstractTaskContainer; |
16 |
import org.eclipse.mylar.tasks.core.AbstractTaskContainer; |
| 17 |
import org.eclipse.mylar.tasks.core.ITask; |
17 |
import org.eclipse.mylar.tasks.core.ITask; |
| 18 |
import org.eclipse.mylar.tasks.core.ITaskListChangeListener; |
18 |
import org.eclipse.mylar.tasks.core.ITaskListChangeListener; |
|
|
19 |
import org.eclipse.mylar.tasks.core.ITaskListElement; |
| 19 |
import org.eclipse.mylar.tasks.ui.TasksUiPlugin; |
20 |
import org.eclipse.mylar.tasks.ui.TasksUiPlugin; |
| 20 |
import org.eclipse.ui.IWorkingSet; |
21 |
import org.eclipse.ui.IWorkingSet; |
| 21 |
import org.eclipse.ui.IWorkingSetUpdater; |
22 |
import org.eclipse.ui.IWorkingSetUpdater; |
|
Lines 35-46
Link Here
|
| 35 |
// IWorkingSetUpdater |
36 |
// IWorkingSetUpdater |
| 36 |
|
37 |
|
| 37 |
public void add(IWorkingSet workingSet) { |
38 |
public void add(IWorkingSet workingSet) { |
| 38 |
// checkElementExistence(workingSet); |
39 |
checkElementExistence(workingSet); |
| 39 |
synchronized (workingSets) { |
40 |
synchronized (workingSets) { |
| 40 |
workingSets.add(workingSet); |
41 |
workingSets.add(workingSet); |
| 41 |
} |
42 |
} |
| 42 |
} |
43 |
} |
| 43 |
|
44 |
|
|
|
45 |
private void checkElementExistence(IWorkingSet workingSet) { |
| 46 |
ArrayList<IAdaptable> list = new ArrayList<IAdaptable>(); |
| 47 |
for (IAdaptable adaptable : workingSet.getElements()) { |
| 48 |
if (adaptable instanceof AbstractTaskContainer) { |
| 49 |
String handle = ((AbstractTaskContainer) adaptable).getHandleIdentifier(); |
| 50 |
for (ITaskListElement element : TasksUiPlugin.getTaskListManager().getTaskList().getRootElements()) { |
| 51 |
if (element instanceof AbstractTaskContainer && element.getHandleIdentifier().equals(handle)) { |
| 52 |
list.add(adaptable); |
| 53 |
} |
| 54 |
} |
| 55 |
} |
| 56 |
} |
| 57 |
workingSet.setElements(list.toArray(new IAdaptable[list.size()])); |
| 58 |
} |
| 59 |
|
| 44 |
public boolean contains(IWorkingSet workingSet) { |
60 |
public boolean contains(IWorkingSet workingSet) { |
| 45 |
synchronized(workingSets) { |
61 |
synchronized(workingSets) { |
| 46 |
return workingSets.contains(workingSet); |
62 |
return workingSets.contains(workingSet); |