|
Lines 10-15
Link Here
|
| 10 |
|
10 |
|
| 11 |
import java.util.List; |
11 |
import java.util.List; |
| 12 |
|
12 |
|
|
|
13 |
import org.eclipse.core.runtime.IProgressMonitor; |
| 14 |
import org.eclipse.core.runtime.IStatus; |
| 15 |
import org.eclipse.core.runtime.Status; |
| 16 |
import org.eclipse.core.runtime.jobs.Job; |
| 13 |
import org.eclipse.jface.action.Action; |
17 |
import org.eclipse.jface.action.Action; |
| 14 |
import org.eclipse.mylyn.tasks.core.AbstractRepositoryQuery; |
18 |
import org.eclipse.mylyn.tasks.core.AbstractRepositoryQuery; |
| 15 |
import org.eclipse.mylyn.tasks.core.AbstractTask; |
19 |
import org.eclipse.mylyn.tasks.core.AbstractTask; |
|
Lines 24-48
Link Here
|
| 24 |
|
28 |
|
| 25 |
@Override |
29 |
@Override |
| 26 |
public void run() { |
30 |
public void run() { |
| 27 |
for (AbstractTaskContainer element : selectedElements) { |
31 |
new Job("Marking tasks") { |
| 28 |
if (element instanceof AbstractTask) { |
32 |
@Override |
| 29 |
AbstractTask repositoryTask = (AbstractTask) element; |
33 |
protected IStatus run(IProgressMonitor monitor) { |
| 30 |
performActionOnTask(repositoryTask); |
34 |
monitor.beginTask("Marking tasks", IProgressMonitor.UNKNOWN); |
| 31 |
} else if (element instanceof AbstractRepositoryQuery) { |
35 |
try { |
| 32 |
AbstractRepositoryQuery repositoryQuery = (AbstractRepositoryQuery) element; |
36 |
for (AbstractTaskContainer element : selectedElements) { |
| 33 |
for (AbstractTask queryHit : repositoryQuery.getChildren()) { |
37 |
if(monitor.isCanceled()) { |
| 34 |
performActionOnTask(queryHit); |
38 |
return Status.CANCEL_STATUS; |
| 35 |
} |
39 |
} |
| 36 |
} else if (element != null) { |
40 |
|
| 37 |
AbstractTaskContainer container = element; |
41 |
if (element instanceof AbstractTask) { |
| 38 |
for (AbstractTask iTask : container.getChildren()) { |
42 |
AbstractTask repositoryTask = (AbstractTask) element; |
| 39 |
if (iTask != null) { |
43 |
performActionOnTask(repositoryTask); |
| 40 |
AbstractTask repositoryTask = iTask; |
44 |
monitor.worked(1); |
| 41 |
performActionOnTask(repositoryTask); |
45 |
} else if (element instanceof AbstractRepositoryQuery) { |
|
|
46 |
AbstractRepositoryQuery repositoryQuery = (AbstractRepositoryQuery) element; |
| 47 |
for (AbstractTask queryHit : repositoryQuery.getChildren()) { |
| 48 |
if(monitor.isCanceled()) { |
| 49 |
return Status.CANCEL_STATUS; |
| 50 |
} |
| 51 |
performActionOnTask(queryHit); |
| 52 |
monitor.worked(1); |
| 53 |
} |
| 54 |
} else if (element != null) { |
| 55 |
AbstractTaskContainer container = element; |
| 56 |
for (AbstractTask task : container.getChildren()) { |
| 57 |
if(monitor.isCanceled()) { |
| 58 |
return Status.CANCEL_STATUS; |
| 59 |
} |
| 60 |
if (task != null) { |
| 61 |
performActionOnTask(task); |
| 62 |
} |
| 63 |
monitor.worked(1); |
| 64 |
} |
| 65 |
} |
| 42 |
} |
66 |
} |
|
|
67 |
return Status.OK_STATUS; |
| 68 |
} finally { |
| 69 |
monitor.done(); |
| 43 |
} |
70 |
} |
| 44 |
} |
71 |
} |
| 45 |
} |
72 |
}.schedule(); |
| 46 |
} |
73 |
} |
| 47 |
|
74 |
|
| 48 |
protected abstract void performActionOnTask(AbstractTask repositoryTask); |
75 |
protected abstract void performActionOnTask(AbstractTask repositoryTask); |