Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorspingel2008-07-16 02:33:18 +0000
committerspingel2008-07-16 02:33:18 +0000
commit540428b7e8cbafc8c654d206cba87fa955ffdf28 (patch)
treec466ce8c9e85c4f192a4e0e646bafd33d4d7302d
parenta63f2df0d31d8b1890348dbf20a33ab871a749ac (diff)
downloadorg.eclipse.mylyn.tasks-540428b7e8cbafc8c654d206cba87fa955ffdf28.tar.gz
org.eclipse.mylyn.tasks-540428b7e8cbafc8c654d206cba87fa955ffdf28.tar.xz
org.eclipse.mylyn.tasks-540428b7e8cbafc8c654d206cba87fa955ffdf28.zip
NEW - bug 238881: Action 'Open Repository Task' failed
https://bugs.eclipse.org/bugs/show_bug.cgi?id=238881
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/AddExistingTaskJob.java100
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/OpenRepositoryTaskJob.java13
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/AddRepositoryTaskAction.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/OpenRepositoryTask.java1
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorActionContributor.java1
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/AddExistingTaskWizard.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/CommonAddExistingTaskWizard.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/ExistingTaskWizardPage.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/AbstractRepositoryConnectorUi.java4
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiUtil.java11
10 files changed, 95 insertions, 43 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/AddExistingTaskJob.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/AddExistingTaskJob.java
index 32587396d..b6153aac9 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/AddExistingTaskJob.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/AddExistingTaskJob.java
@@ -9,22 +9,17 @@ package org.eclipse.mylyn.internal.tasks.ui;
import java.text.MessageFormat;
-import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.mylyn.internal.tasks.core.AbstractTask;
import org.eclipse.mylyn.internal.tasks.core.AbstractTaskCategory;
-import org.eclipse.mylyn.internal.tasks.core.TaskActivityUtil;
import org.eclipse.mylyn.internal.tasks.core.TaskCategory;
import org.eclipse.mylyn.internal.tasks.ui.util.TasksUiInternal;
import org.eclipse.mylyn.internal.tasks.ui.views.TaskListView;
+import org.eclipse.mylyn.tasks.core.ITask;
import org.eclipse.mylyn.tasks.core.TaskRepository;
-import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
/**
@@ -32,6 +27,7 @@ import org.eclipse.ui.PlatformUI;
*
* @author Willian Mitsuda
*/
+// TODO 3.1 merge with OpenRepositoryTaskJob
public class AddExistingTaskJob extends Job {
/**
@@ -63,43 +59,65 @@ public class AddExistingTaskJob extends Job {
@Override
public IStatus run(IProgressMonitor monitor) {
- try {
- final AbstractTask newTask = (AbstractTask) TasksUiInternal.createTask(repository, taskId, monitor);
- if (newTask != null) {
- TasksUiPlugin.getTaskActivityManager().setScheduledFor(newTask, TaskActivityUtil.getCurrentWeek());
-
- TasksUiInternal.refreshAndOpenTaskListElement(newTask);
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
-
- public void run() {
- AbstractTaskCategory category = taskContainer;
- TaskListView taskListView = TaskListView.getFromActivePerspective();
- if (category == null) {
- Object selectedObject = ((IStructuredSelection) taskListView.getViewer().getSelection()).getFirstElement();
- if (selectedObject instanceof TaskCategory) {
- category = (TaskCategory) selectedObject;
- }
- }
- TasksUiInternal.getTaskList().addTask(newTask, category);
- taskListView.getViewer().setSelection(new StructuredSelection(newTask));
- }
- });
- } else {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
- public void run() {
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window != null) {
- MessageDialog.openWarning(window.getShell(), "Add Existing Task Failed",
- MessageFormat.format("Unable to retrieve task \"{0}\" from repository.", taskId));
+ OpenRepositoryTaskJob job = new OpenRepositoryTaskJob(repository.getConnectorKind(),
+ repository.getRepositoryUrl(), taskId, null, null);
+ IStatus result = job.run(monitor);
+ final ITask newTask = job.getTask();
+ if (newTask != null) {
+ PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ public void run() {
+ AbstractTaskCategory category = taskContainer;
+ TaskListView taskListView = TaskListView.getFromActivePerspective();
+ if (category == null) {
+ Object selectedObject = ((IStructuredSelection) taskListView.getViewer().getSelection()).getFirstElement();
+ if (selectedObject instanceof TaskCategory) {
+ category = (TaskCategory) selectedObject;
}
}
- });
- }
- } catch (final CoreException e) {
- TasksUiInternal.asyncDisplayStatus("Unable to open task", e.getStatus());
- } finally {
- monitor.done();
+ TasksUiInternal.getTaskList().addTask(newTask, category);
+ taskListView.getViewer().setSelection(new StructuredSelection(newTask));
+ }
+ });
}
- return Status.OK_STATUS;
+ return result;
+// try {
+// TasksUiUtil.openTask(repository, taskId);
+// final AbstractTask newTask = (AbstractTask) TasksUiInternal.createTask(repository, taskId, monitor);
+// if (newTask != null) {
+// TasksUiPlugin.getTaskActivityManager().setScheduledFor(newTask, TaskActivityUtil.getCurrentWeek());
+//
+// TasksUiInternal.refreshAndOpenTaskListElement(newTask);
+// PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+//
+// public void run() {
+// AbstractTaskCategory category = taskContainer;
+// TaskListView taskListView = TaskListView.getFromActivePerspective();
+// if (category == null) {
+// Object selectedObject = ((IStructuredSelection) taskListView.getViewer().getSelection()).getFirstElement();
+// if (selectedObject instanceof TaskCategory) {
+// category = (TaskCategory) selectedObject;
+// }
+// }
+// TasksUiInternal.getTaskList().addTask(newTask, category);
+// taskListView.getViewer().setSelection(new StructuredSelection(newTask));
+// }
+// });
+// } else {
+// PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+// public void run() {
+// IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+// if (window != null) {
+// MessageDialog.openWarning(window.getShell(), "Add Existing Task Failed",
+// MessageFormat.format("Unable to retrieve task \"{0}\" from repository.", taskId));
+// }
+// }
+// });
+// }
+// } catch (final CoreException e) {
+// TasksUiInternal.asyncDisplayStatus("Unable to open task", e.getStatus());
+// } finally {
+// monitor.done();
+// }
+// return Status.OK_STATUS;
}
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/OpenRepositoryTaskJob.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/OpenRepositoryTaskJob.java
index ab87c0cb4..0a453d05e 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/OpenRepositoryTaskJob.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/OpenRepositoryTaskJob.java
@@ -45,6 +45,8 @@ public class OpenRepositoryTaskJob extends Job {
private final String taskUrl;
+ private ITask task;
+
public OpenRepositoryTaskJob(String repositoryKind, String repositoryUrl, String taskId, String taskUrl,
IWorkbenchPage page) {
super("Opening repository task " + taskId);
@@ -56,6 +58,15 @@ public class OpenRepositoryTaskJob extends Job {
this.page = page;
}
+ /**
+ * Returns the task if it was created when openeing
+ *
+ * @return
+ */
+ public ITask getTask() {
+ return task;
+ }
+
@Override
public IStatus run(IProgressMonitor monitor) {
monitor.beginTask("Opening Remote Task", 10);
@@ -96,7 +107,7 @@ public class OpenRepositoryTaskJob extends Job {
} else {
TaskData taskData = connector.getTaskData(repository, taskId, monitor);
if (taskData != null) {
- final ITask task = TasksUi.getRepositoryModel().createTask(repository, taskData.getTaskId());
+ task = TasksUi.getRepositoryModel().createTask(repository, taskData.getTaskId());
TasksUiPlugin.getTaskDataManager().putUpdatedTaskData(task, taskData, true);
PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
public void run() {
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/AddRepositoryTaskAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/AddRepositoryTaskAction.java
index 163a1060e..ec2841fd9 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/AddRepositoryTaskAction.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/AddRepositoryTaskAction.java
@@ -27,6 +27,8 @@ import org.eclipse.ui.PlatformUI;
* @author Mik Kersten
* @author Eugene Kuleshov
*/
+// TODO 3.1 remove class
+@Deprecated
public class AddRepositoryTaskAction extends Action implements IViewActionDelegate {
private static final String WIZARD_LABEL = "Add an existing repository task/issue";
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/OpenRepositoryTask.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/OpenRepositoryTask.java
index d7b5da312..2e404f468 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/OpenRepositoryTask.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/OpenRepositoryTask.java
@@ -30,6 +30,7 @@ import org.eclipse.ui.progress.IProgressService;
/**
* @author Mik Kersten
*/
+// TODO 3.1 rename to OpenRepositoryTaskAction
public class OpenRepositoryTask extends Action implements IWorkbenchWindowActionDelegate, IViewActionDelegate {
private static final String OPEN_REMOTE_TASK_DIALOG_DIALOG_SETTINGS = "org.eclipse.mylyn.tasks.ui.open.remote";
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorActionContributor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorActionContributor.java
index b149bcb91..03152b367 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorActionContributor.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorActionContributor.java
@@ -71,7 +71,6 @@ import org.eclipse.ui.texteditor.IWorkbenchActionDefinitionIds;
* @author Rob Elves
* @author Steffen Pingel
*/
-@SuppressWarnings("deprecation")
public class TaskEditorActionContributor extends MultiPageEditorActionBarContributor implements
ISelectionChangedListener {
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/AddExistingTaskWizard.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/AddExistingTaskWizard.java
index 6a366bf69..80c114000 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/AddExistingTaskWizard.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/AddExistingTaskWizard.java
@@ -20,6 +20,8 @@ import org.eclipse.mylyn.tasks.ui.AbstractRepositoryConnectorUi;
* @author Eugene Kuleshov
* @author Steffen Pingel
*/
+// TODO 3.1 remove class
+@Deprecated
public class AddExistingTaskWizard extends MultiRepositoryAwareWizard {
public static final String TITLE = "Add Existing Repository Task";
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/CommonAddExistingTaskWizard.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/CommonAddExistingTaskWizard.java
index 0dba8bc8b..d2cfc0a4e 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/CommonAddExistingTaskWizard.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/CommonAddExistingTaskWizard.java
@@ -20,6 +20,8 @@ import org.eclipse.ui.progress.IProgressService;
* @author Brock Janiczak
* @author Mik Kersten
*/
+// TODO 3.1 remove class
+@Deprecated
public class CommonAddExistingTaskWizard extends Wizard {
private final TaskRepository repository;
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/ExistingTaskWizardPage.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/ExistingTaskWizardPage.java
index e7a30924f..2fe8e0dbc 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/ExistingTaskWizardPage.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/ExistingTaskWizardPage.java
@@ -22,6 +22,8 @@ import org.eclipse.swt.widgets.Text;
/**
* @author Mik Kersten
*/
+//TODO 3.1 remove class
+@Deprecated
public class ExistingTaskWizardPage extends WizardPage {
private static final String TITLE = "Enter Task ID";
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/AbstractRepositoryConnectorUi.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/AbstractRepositoryConnectorUi.java
index 3a3fe9612..a55083d7d 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/AbstractRepositoryConnectorUi.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/AbstractRepositoryConnectorUi.java
@@ -146,6 +146,10 @@ public abstract class AbstractRepositoryConnectorUi {
return TasksUiInternal.getPriorityImage(task);
}
+ /**
+ * This method is not used anymore.
+ */
+ @Deprecated
public IWizard getAddExistingTaskWizard(TaskRepository repository) {
return new CommonAddExistingTaskWizard(repository);
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiUtil.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiUtil.java
index a8b09199e..0d9079698 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiUtil.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiUtil.java
@@ -170,6 +170,17 @@ public class TasksUiUtil {
}
public static IEditorPart openEditor(IEditorInput input, String editorId, IWorkbenchPage page) {
+ if (page == null) {
+ IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+ if (window != null) {
+ page = window.getActivePage();
+ }
+ }
+ if (page == null) {
+ StatusHandler.log(new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN, "Unable to open editor for \"" + input
+ + "\": no active workbench window"));
+ return null;
+ }
try {
return page.openEditor(input, editorId);
} catch (PartInitException e) {

Back to the top