Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaAttachmentHandler.java2
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaRepositoryConnector.java19
-rw-r--r--org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaTask.java44
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest.java22
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaTaskListManagerTest.java4
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaTaskTest.java2
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/RepositoryTaskHandleTest.java10
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/TaskListNotificationManagerTest.java2
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/TaskListStandaloneTest.java2
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/TaskReportGeneratorTest.java6
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaTaskEditor.java4
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaTaskEditorInput.java2
-rw-r--r--org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaTaskExternalizer.java12
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/RepositoryTaskHandleUtil.java55
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskDataManager.java76
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/WebTask.java26
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/.AbstractRepositoryTask.java146
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/AbstractQueryHit.java3
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/AbstractRepositoryTask.java146
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/DateRangeActivityDelegate.java14
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/DelegatingTaskExternalizer.java8
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITask.java4
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITaskListElement.java2
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/Task.java22
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskList.java41
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskRepositoryManager.java3
-rw-r--r--org.eclipse.mylyn.tasks.tests/TaskAttachmentActionsTest.testfile11
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/CopyDetailsActionTest.java4
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/RepositoryTaskSynchronizationTest.java4
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataManagerTest.java275
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListDnDTest.java2
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListManagerTest.java57
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskRepositoryManagerTest.java8
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskTest.java10
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockQueryHit.java2
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockRepositoryConnector.java2
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockRepositoryTask.java9
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/RepositoryTaskDecorator.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/CopyTaskDetailsAction.java4
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/OpenTaskAction.java4
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/OpenWithBrowserAction.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskSelectionDialog.java4
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/commands/RemoteTaskSelectionDialog.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java4
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityEditorPart.java4
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskActivityLabelProvider.java3
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskElementLabelProvider.java11
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListTableSorter.java8
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/OpenRepositoryTaskJob.java7
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/RepositorySynchronizationManager.java18
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/SynchronizeQueryJob.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/SynchronizeTaskJob.java3
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TaskListManager.java7
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiUtil.java9
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AbstractRepositoryTaskEditor.java14
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/RepositoryTaskEditorInput.java5
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/TaskEditor.java6
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/TaskEditorInput.java5
-rw-r--r--org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracAttachmentHandler.java2
-rw-r--r--org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracQueryHit.java8
-rw-r--r--org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracRepositoryConnector.java34
-rw-r--r--org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracTask.java8
-rw-r--r--org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracRepositoryConnectorTest.java17
-rw-r--r--org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracRepositoryQueryTest.java5
-rw-r--r--org.eclipse.mylyn.trac.ui/src/org/eclipse/mylyn/internal/trac/ui/TracTaskExternalizer.java11
-rw-r--r--org.eclipse.mylyn.trac.ui/src/org/eclipse/mylyn/internal/trac/ui/editor/TracTaskEditorFactory.java2
67 files changed, 694 insertions, 580 deletions
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaAttachmentHandler.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaAttachmentHandler.java
index 56b9d522f..bb856c781 100644
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaAttachmentHandler.java
+++ b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaAttachmentHandler.java
@@ -86,7 +86,7 @@ public class BugzillaAttachmentHandler implements IAttachmentHandler {
public void uploadAttachment(TaskRepository repository, AbstractRepositoryTask task, String comment,
String description, File file, String contentType, boolean isPatch) throws CoreException {
try {
- String bugId = AbstractRepositoryTask.getTaskId(task.getHandleIdentifier());
+ String bugId = task.getTaskId();
BugzillaClient client = connector.getClientManager().getClient(repository);
client.postAttachment(bugId, comment, description, file, contentType, isPatch);
} catch (IOException e) {
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaRepositoryConnector.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaRepositoryConnector.java
index 363d0a502..79df1967f 100644
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaRepositoryConnector.java
+++ b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaRepositoryConnector.java
@@ -113,14 +113,14 @@ public class BugzillaRepositoryConnector extends AbstractRepositoryConnector {
return null;
}
- String handle = AbstractRepositoryTask.getHandle(repository.getUrl(), bugId);
- ITask task = taskList.getTask(handle);
+// String handle = AbstractRepositoryTask.getHandle();
+ ITask task = taskList.getTask(repository.getUrl(), id);
AbstractRepositoryTask repositoryTask = null;
if (task == null) {
RepositoryTaskData taskData = null;
taskData = taskDataHandler.getTaskData(repository, id);
if (taskData != null) {
- repositoryTask = new BugzillaTask(handle, taskData.getId() + ": " + taskData.getDescription(), true);
+ repositoryTask = new BugzillaTask(repository.getUrl(), ""+bugId, taskData.getId() + ": " + taskData.getDescription(), true);
repositoryTask.setTaskData(taskData);
taskList.addTask(repositoryTask);
}
@@ -156,9 +156,8 @@ public class BugzillaRepositoryConnector extends AbstractRepositoryConnector {
Iterator<AbstractRepositoryTask> itr = tasks.iterator();
while (itr.hasNext()) {
queryCounter++;
- ITask task = itr.next();
- String newurlQueryString = URLEncoder.encode(AbstractRepositoryTask.getTaskId(task
- .getHandleIdentifier())
+ AbstractRepositoryTask task = itr.next();
+ String newurlQueryString = URLEncoder.encode(task.getTaskId()
+ ",", repository.getCharacterEncoding());
if ((urlQueryString.length() + newurlQueryString.length() + IBugzillaConstants.CONTENT_TYPE_RDF
.length()) > MAX_URL_LENGTH) {
@@ -190,8 +189,8 @@ public class BugzillaRepositoryConnector extends AbstractRepositoryConnector {
performQuery(query, repository, new NullProgressMonitor(), collector);
for (AbstractQueryHit hit : collector.getHits()) {
- String handle = AbstractRepositoryTask.getHandle(repository.getUrl(), hit.getId());
- ITask correspondingTask = taskList.getTask(handle);
+// String handle = AbstractRepositoryTask.getHandle(repository.getUrl(), hit.getId());
+ ITask correspondingTask = taskList.getTask(repository.getUrl(), hit.getId());
if (correspondingTask != null && correspondingTask instanceof AbstractRepositoryTask) {
AbstractRepositoryTask repositoryTask = (AbstractRepositoryTask) correspondingTask;
// Hack to avoid re-syncing last task from previous
@@ -204,8 +203,8 @@ public class BugzillaRepositoryConnector extends AbstractRepositoryConnector {
// currently it doesn't return a proper modified date string)
if (repositoryTask.getTaskData() != null
&& repositoryTask.getTaskData().getLastModified().equals(repository.getSyncTimeStamp())) {
- String taskId = AbstractRepositoryTask.getTaskId(repositoryTask.getHandleIdentifier());
- RepositoryTaskData taskData = getTaskDataHandler().getTaskData(repository, taskId);
+// String taskId = RepositoryTaskHandleUtil.getTaskId(repositoryTask.getHandleIdentifier());
+ RepositoryTaskData taskData = getTaskDataHandler().getTaskData(repository, repositoryTask.getTaskId());
if (taskData != null && taskData.getLastModified().equals(repository.getSyncTimeStamp())) {
continue;
}
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaTask.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaTask.java
index 9bf47ba76..c0bc142de 100644
--- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaTask.java
+++ b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaTask.java
@@ -31,28 +31,28 @@ public class BugzillaTask extends AbstractRepositoryTask {
private static SimpleDateFormat comment_creation_ts_format = new SimpleDateFormat(COMMENT_FORMAT);
- public BugzillaTask(String handle, String label, boolean newTask) {
- super(handle, label, newTask);
+ public BugzillaTask(String repositoryUrl, String id, String label, boolean newTask) {
+ super(repositoryUrl, id, label, newTask);
if (newTask) {
setSyncState(RepositoryTaskSyncState.INCOMING);
}
isDirty = false;
- initFromHandle();
+ initTaskUrl(taskId);
}
public BugzillaTask(BugzillaQueryHit hit, boolean newTask) {
- this(hit.getHandleIdentifier(), hit.getSummary(), newTask);
+ this(hit.getRepositoryUrl(), hit.getId(), hit.getSummary(), newTask);
setPriority(hit.getPriority());
- initFromHandle();
+ initTaskUrl(taskId);
}
- private void initFromHandle() {
- String id = AbstractRepositoryTask.getTaskId(getHandleIdentifier());
- String repositoryUrl = getRepositoryUrl();
+ private void initTaskUrl(String taskId) {
+// String id = RepositoryTaskHandleUtil.getTaskId(getHandleIdentifier());
+// String repositoryUrl = getRepositoryUrl();
try {
- String url = BugzillaClient.getBugUrlWithoutLogin(repositoryUrl, Integer.parseInt(id));
+ String url = BugzillaClient.getBugUrlWithoutLogin(repositoryUrl, Integer.parseInt(taskId));
if (url != null) {
- super.setUrl(url);
+ super.setTaskUrl(url);
}
} catch (Exception e) {
MylarStatusHandler.fail(e, "Task initialization failed due to malformed id or URL: "
@@ -89,17 +89,19 @@ public class BugzillaTask extends AbstractRepositoryTask {
return "bugzilla report id: " + getHandleIdentifier();
}
- @Override
- public String getUrl() {
- // fix for bug 103537 - should login automatically, but dont want to
- // show the login info in the query string
- try {
- return BugzillaClient.getBugUrlWithoutLogin(getRepositoryUrl(), Integer
- .parseInt(AbstractRepositoryTask.getTaskId(handleIdentifier)));
- } catch (NumberFormatException nfe) {
- return super.getUrl();
- }
- }
+// @Override
+// public String getUrl() {
+// // fix for bug 103537 - should login automatically, but dont want to
+// // show the login info in the query string
+// try {
+//// return BugzillaClient.getBugUrlWithoutLogin(getRepositoryUrl(), Integer
+//// .parseInt(RepositoryTaskHandleUtil.getTaskId(handleIdentifier)));
+// return BugzillaClient.getBugUrlWithoutLogin(getRepositoryUrl(), Integer
+// .parseInt(RepositoryTaskHandleUtil.));
+// } catch (NumberFormatException nfe) {
+// return super.getUrl();
+// }
+// }
@Override
public boolean isCompleted() {
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest.java
index cf86f12dd..7916d198c 100644
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest.java
+++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest.java
@@ -36,6 +36,7 @@ import org.eclipse.mylar.internal.bugzilla.core.BugzillaRepositoryQuery;
import org.eclipse.mylar.internal.bugzilla.core.BugzillaTask;
import org.eclipse.mylar.internal.bugzilla.core.IBugzillaConstants;
import org.eclipse.mylar.internal.bugzilla.core.RepositoryConfiguration;
+import org.eclipse.mylar.internal.tasks.core.RepositoryTaskHandleUtil;
import org.eclipse.mylar.tasks.core.AbstractQueryHit;
import org.eclipse.mylar.tasks.core.AbstractRepositoryTask;
import org.eclipse.mylar.tasks.core.ITask;
@@ -157,7 +158,7 @@ public class BugzillaRepositoryConnectorTest extends AbstractBugzillaTest {
// BugEditor)
task.getTaskData().setHasLocalChanges(true);
task.setSyncState(RepositoryTaskSyncState.OUTGOING);
- TasksUiPlugin.getDefault().getTaskDataManager().push(task.getTaskData());
+ TasksUiPlugin.getDefault().getTaskDataManager().push(task.getHandleIdentifier(), task.getTaskData());
assertEquals(RepositoryTaskSyncState.OUTGOING, task.getSyncState());
// Submit changes
@@ -178,7 +179,7 @@ public class BugzillaRepositoryConnectorTest extends AbstractBugzillaTest {
RepositoryTaskData bugReport = task.getTaskData();
// repository.setSyncTimeStamp(bugReport.getLastModified());
// task.setTaskData(null);
- TasksUiPlugin.getDefault().getTaskDataManager().remove(bugReport);
+ TasksUiPlugin.getDefault().getTaskDataManager().remove(task.getHandleIdentifier());
TasksUiPlugin.getSynchronizationManager().synchronize(connector, task, false, null);
assertEquals(RepositoryTaskSyncState.SYNCHRONIZED, task.getSyncState());
assertNotNull(task.getTaskData());
@@ -382,8 +383,9 @@ public class BugzillaRepositoryConnectorTest extends AbstractBugzillaTest {
Set<AbstractRepositoryTask> tasks = new HashSet<AbstractRepositoryTask>();
tasks.add(task4);
tasks.add(task5);
-
- // Precondition for test passing is that task5's modification data is AFTER
+
+ // Precondition for test passing is that task5's modification data is
+ // AFTER
// task4's
TasksUiPlugin.getRepositoryManager().setSyncTime(repository, task5.getLastSyncDateStamp(),
@@ -454,13 +456,13 @@ public class BugzillaRepositoryConnectorTest extends AbstractBugzillaTest {
TasksUiPlugin.getRepositoryManager().setSyncTime(repository, task7.getLastSyncDateStamp(),
TasksUiPlugin.getDefault().getRepositoriesFilePath());
- assertNotNull(TasksUiPlugin.getDefault().getTaskDataManager().getRepsitoryTaskData(
- IBugzillaConstants.TEST_BUGZILLA_222_URL, "7"));
- ArrayList<RepositoryTaskData> taskDataList = new ArrayList<RepositoryTaskData>();
- taskDataList.add(task7.getTaskData());
+ assertNotNull(TasksUiPlugin.getDefault().getTaskDataManager().getRepositoryTaskData(
+ RepositoryTaskHandleUtil.getHandle(IBugzillaConstants.TEST_BUGZILLA_222_URL, "7")));
+ ArrayList<String> taskDataList = new ArrayList<String>();
+ taskDataList.add(task7.getHandleIdentifier());
TasksUiPlugin.getDefault().getTaskDataManager().remove(taskDataList);
- assertNull(TasksUiPlugin.getDefault().getTaskDataManager().getRepsitoryTaskData(
- IBugzillaConstants.TEST_BUGZILLA_222_URL, "7"));
+ assertNull(TasksUiPlugin.getDefault().getTaskDataManager().getRepositoryTaskData(
+ RepositoryTaskHandleUtil.getHandle(IBugzillaConstants.TEST_BUGZILLA_222_URL, "7")));
assertEquals(RepositoryTaskSyncState.SYNCHRONIZED, task7.getSyncState());
assertNotNull(task7.getLastSyncDateStamp());
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaTaskListManagerTest.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaTaskListManagerTest.java
index dc6bf4750..9f6b3bd9f 100644
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaTaskListManagerTest.java
+++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaTaskListManagerTest.java
@@ -69,7 +69,7 @@ public class BugzillaTaskListManagerTest extends TestCase {
String bugNumber = "106939";
- BugzillaTask task1 = new BugzillaTask(repositoryUrl + "-" + bugNumber, "label", false);
+ BugzillaTask task1 = new BugzillaTask(repositoryUrl, bugNumber, "label", false);
manager.getTaskList().addTask(task1);
task1.setReminded(true);
@@ -89,7 +89,7 @@ public class BugzillaTaskListManagerTest extends TestCase {
}
public void testRepositoryTaskExternalization() {
- BugzillaTask repositoryTask = new BugzillaTask("bug-1", "label", true);
+ BugzillaTask repositoryTask = new BugzillaTask("repo", "1", "label", true);
repositoryTask.setKind("kind");
manager.getTaskList().moveToRoot(repositoryTask);
manager.saveTaskList();
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaTaskTest.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaTaskTest.java
index 86aedea37..1e1f1901a 100644
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaTaskTest.java
+++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaTaskTest.java
@@ -49,7 +49,7 @@ public class BugzillaTaskTest extends TestCase {
}
public void testCompletionDate() throws Exception {
- BugzillaTask task = new BugzillaTask("bug-1", "description", true);
+ BugzillaTask task = new BugzillaTask("repo", "1", "description", true);
RepositoryTaskData report = new RepositoryTaskData(new BugzillaAttributeFactory(),
BugzillaCorePlugin.REPOSITORY_KIND, IBugzillaConstants.ECLIPSE_BUGZILLA_URL, "1");
task.setTaskData(report);
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/RepositoryTaskHandleTest.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/RepositoryTaskHandleTest.java
index 94b9522f5..2757fc60c 100644
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/RepositoryTaskHandleTest.java
+++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/RepositoryTaskHandleTest.java
@@ -12,7 +12,7 @@ import junit.framework.TestCase;
import org.eclipse.mylar.internal.bugzilla.core.BugzillaTask;
import org.eclipse.mylar.internal.bugzilla.core.IBugzillaConstants;
-import org.eclipse.mylar.tasks.core.AbstractRepositoryTask;
+import org.eclipse.mylar.internal.tasks.core.RepositoryTaskHandleUtil;
import org.eclipse.mylar.tasks.ui.TaskListManager;
import org.eclipse.mylar.tasks.ui.TasksUiPlugin;
@@ -39,10 +39,10 @@ public class RepositoryTaskHandleTest extends TestCase {
public void testInvalidHandle() {
// MockRepositoryTask task = new MockRepositoryTask()
String url = "http://foo";
- assertEquals(url + "-" + "abc", AbstractRepositoryTask.getHandle(url, "abc"));
+ assertEquals(url + "-" + "abc", RepositoryTaskHandleUtil.getHandle(url, "abc"));
Exception caught = null;
try {
- AbstractRepositoryTask.getHandle(url, "a-23");
+ RepositoryTaskHandleUtil.getHandle(url, "a-23");
} catch (Exception e) {
caught = e;
}
@@ -53,8 +53,8 @@ public class RepositoryTaskHandleTest extends TestCase {
String repository = IBugzillaConstants.ECLIPSE_BUGZILLA_URL;
String id = "123";
- String handle = AbstractRepositoryTask.getHandle(repository, id);
- BugzillaTask bugTask = new BugzillaTask(handle, "label 124", true);
+// String handle = AbstractRepositoryTask.getHandle(repository, id);
+ BugzillaTask bugTask = new BugzillaTask(repository, id, "label 124", true);
assertEquals(repository, bugTask.getRepositoryUrl());
manager.getTaskList().moveToRoot(bugTask);
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/TaskListNotificationManagerTest.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/TaskListNotificationManagerTest.java
index ef014ad4d..b7fd0521e 100644
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/TaskListNotificationManagerTest.java
+++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/TaskListNotificationManagerTest.java
@@ -79,7 +79,7 @@ public class TaskListNotificationManagerTest extends TestCase {
TaskRepository repository = new TaskRepository("bugzilla", "https://bugs.eclipse.org/bugs");
TasksUiPlugin.getRepositoryManager().addRepository(repository, TasksUiPlugin.getDefault().getRepositoriesFilePath());
- AbstractRepositoryTask task = new BugzillaTask("https://bugs.eclipse.org/bugs-142891", "label", true);
+ AbstractRepositoryTask task = new BugzillaTask("https://bugs.eclipse.org/bugs", "142891", "label", true);
assertTrue(task.getSyncState() == RepositoryTaskSyncState.INCOMING);
assertTrue(task.isNotified());
task.setNotified(false);
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/TaskListStandaloneTest.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/TaskListStandaloneTest.java
index 3148c69ff..d2af1a72d 100644
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/TaskListStandaloneTest.java
+++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/TaskListStandaloneTest.java
@@ -114,7 +114,7 @@ public class TaskListStandaloneTest extends TestCase {
externalizers.add(new BugzillaTaskExternalizer());
// make some tasks
// save them
- BugzillaTask task = new BugzillaTask("http://bugs-1", "1", true);
+ BugzillaTask task = new BugzillaTask("http://bugs", "1", "1", true);
manager.getTaskList().addTask(task);
manager.saveTaskList();
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/TaskReportGeneratorTest.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/TaskReportGeneratorTest.java
index 6deb9b3e8..8b5ca8ecc 100644
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/TaskReportGeneratorTest.java
+++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/TaskReportGeneratorTest.java
@@ -93,7 +93,7 @@ public class TaskReportGeneratorTest extends TestCase {
}
public void testCompletedBugzillaTasksRetrieved() throws InvocationTargetException, InterruptedException {
- BugzillaTask task1 = new BugzillaTask(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(),
+ BugzillaTask task1 = new BugzillaTask("repo", "1",
"bugzillatask 1", true);
manager.getTaskList().moveToRoot(task1);
@@ -133,7 +133,7 @@ public class TaskReportGeneratorTest extends TestCase {
}
public void testCompletedBugzillaTasksInCategoryRetrieved() throws InvocationTargetException, InterruptedException {
- BugzillaTask task1 = new BugzillaTask(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "task 1",
+ BugzillaTask task1 = new BugzillaTask("repo", "1", "task 1",
true);
manager.getTaskList().moveToRoot(task1);
BugzillaTestUtil.setBugTaskCompleted(task1, true);
@@ -157,7 +157,7 @@ public class TaskReportGeneratorTest extends TestCase {
}
public void testCompletedBugzillaTasksInQueryRetrieved() throws InvocationTargetException, InterruptedException {
- BugzillaTask task1 = new BugzillaTask(TasksUiPlugin.getTaskListManager().genUniqueTaskHandle(), "task 1",
+ BugzillaTask task1 = new BugzillaTask("repo", "1", "task 1",
true);
manager.getTaskList().moveToRoot(task1);
BugzillaTestUtil.setBugTaskCompleted(task1, false);
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaTaskEditor.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaTaskEditor.java
index ec1265c3b..5dbaa5ef2 100644
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaTaskEditor.java
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/editor/BugzillaTaskEditor.java
@@ -26,7 +26,6 @@ import org.eclipse.mylar.internal.bugzilla.core.BugzillaCorePlugin;
import org.eclipse.mylar.internal.bugzilla.core.BugzillaReportElement;
import org.eclipse.mylar.internal.bugzilla.core.IBugzillaConstants;
import org.eclipse.mylar.internal.tasks.ui.TaskListColorsAndFonts;
-import org.eclipse.mylar.tasks.core.AbstractRepositoryTask;
import org.eclipse.mylar.tasks.core.ITask;
import org.eclipse.mylar.tasks.core.RepositoryTaskAttribute;
import org.eclipse.mylar.tasks.core.TaskComment;
@@ -284,8 +283,7 @@ public class BugzillaTaskEditor extends AbstractRepositoryTaskEditor {
for (String bugNumber : values.split(",")) {
final String bugId = bugNumber.trim();
Hyperlink hyperlink = toolkit.createHyperlink(hyperlinksComposite, bugId, SWT.NONE);
- final ITask task = TasksUiPlugin.getTaskListManager().getTaskList().getTask(
- AbstractRepositoryTask.getHandle(repository.getUrl(), bugId));
+ final ITask task = TasksUiPlugin.getTaskListManager().getTaskList().getTask(repository.getUrl(), bugId);
if (task != null) {
hyperlink.setToolTipText(task.getSummary());
}
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaTaskEditorInput.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaTaskEditorInput.java
index 4d18dd231..33d49b9a2 100644
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaTaskEditorInput.java
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaTaskEditorInput.java
@@ -35,7 +35,7 @@ public class BugzillaTaskEditorInput extends RepositoryTaskEditorInput {
private BugzillaTask bugTask;
public BugzillaTaskEditorInput(TaskRepository repository, BugzillaTask bugTask, boolean offline) {
- super(repository, bugTask.getHandleIdentifier(), bugTask.getUrl());
+ super(repository, bugTask.getHandleIdentifier(), bugTask.getTaskUrl());
this.bugTask = bugTask;
updateOptions(getTaskData());
updateOptions(getOldTaskData());
diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaTaskExternalizer.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaTaskExternalizer.java
index 90765b928..b5716745e 100644
--- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaTaskExternalizer.java
+++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/internal/bugzilla/ui/tasklist/BugzillaTaskExternalizer.java
@@ -14,8 +14,8 @@ package org.eclipse.mylar.internal.bugzilla.ui.tasklist;
import org.eclipse.mylar.internal.bugzilla.core.BugzillaQueryHit;
import org.eclipse.mylar.internal.bugzilla.core.BugzillaRepositoryQuery;
import org.eclipse.mylar.internal.bugzilla.core.BugzillaTask;
+import org.eclipse.mylar.internal.tasks.core.RepositoryTaskHandleUtil;
import org.eclipse.mylar.tasks.core.AbstractRepositoryQuery;
-import org.eclipse.mylar.tasks.core.AbstractRepositoryTask;
import org.eclipse.mylar.tasks.core.AbstractTaskContainer;
import org.eclipse.mylar.tasks.core.DelegatingTaskExternalizer;
import org.eclipse.mylar.tasks.core.ITask;
@@ -120,9 +120,13 @@ public class BugzillaTaskExternalizer extends DelegatingTaskExternalizer {
} else {
throw new TaskExternalizationException("Description not stored for bug report");
}
- BugzillaTask task = new BugzillaTask(handle, label, false);
+
+ String repositoryUrl = RepositoryTaskHandleUtil.getRepositoryUrl(handle);
+ String taskId = RepositoryTaskHandleUtil.getTaskId(handle);
+
+ BugzillaTask task = new BugzillaTask(repositoryUrl, taskId, label, false);
super.readTaskInfo(task, taskList, element, parent, category);
-
+
return task;
}
@@ -150,7 +154,7 @@ public class BugzillaTaskExternalizer extends DelegatingTaskExternalizer {
status = STATUS_RESO;
}
}
- BugzillaQueryHit hit = new BugzillaQueryHit(taskList, "", "", query.getRepositoryUrl(), AbstractRepositoryTask
+ BugzillaQueryHit hit = new BugzillaQueryHit(taskList, "", "", query.getRepositoryUrl(), RepositoryTaskHandleUtil
.getTaskId(handle), null, status);
readQueryHitInfo(hit, taskList, query, element);
}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/RepositoryTaskHandleUtil.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/RepositoryTaskHandleUtil.java
new file mode 100644
index 000000000..61cfad9a4
--- /dev/null
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/RepositoryTaskHandleUtil.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylar.internal.tasks.core;
+
+
+
+/**
+ * @author Mik Kersten
+ */
+public class RepositoryTaskHandleUtil {
+
+ public static final String HANDLE_DELIM = "-";
+
+ private static final String MISSING_REPOSITORY = "norepository";
+
+ public static String getHandle(String repositoryUrl, String taskId) {
+ if (repositoryUrl == null) {
+ return MISSING_REPOSITORY + HANDLE_DELIM + taskId;
+ } else if (taskId.contains(HANDLE_DELIM)) {
+ throw new RuntimeException("invalid handle for task, can not contain: " + HANDLE_DELIM + ", was: "
+ + taskId);
+ } else {
+ return repositoryUrl + HANDLE_DELIM + taskId;
+ }
+ }
+
+ public static String getRepositoryUrl(String taskHandle) {
+ int index = taskHandle.lastIndexOf(RepositoryTaskHandleUtil.HANDLE_DELIM);
+ String url = null;
+ if (index != -1) {
+ url = taskHandle.substring(0, index);
+ }
+ return url;
+ }
+
+ // @Deprecated
+ public static String getTaskId(String taskHandle) {
+ int index = taskHandle.lastIndexOf(HANDLE_DELIM);
+ if (index != -1) {
+ String id = taskHandle.substring(index + 1);
+ return id;
+ }
+ return null;
+ }
+
+}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskDataManager.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskDataManager.java
index 40297b59b..cb3885c2f 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskDataManager.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskDataManager.java
@@ -27,7 +27,6 @@ import java.util.Set;
import org.eclipse.mylar.core.MylarStatusHandler;
import org.eclipse.mylar.tasks.core.AbstractAttributeFactory;
import org.eclipse.mylar.tasks.core.AbstractRepositoryConnector;
-import org.eclipse.mylar.tasks.core.AbstractRepositoryTask;
import org.eclipse.mylar.tasks.core.RepositoryTaskAttribute;
import org.eclipse.mylar.tasks.core.RepositoryTaskData;
import org.eclipse.mylar.tasks.core.TaskRepositoryManager;
@@ -100,16 +99,16 @@ public class TaskDataManager {
* Add a RepositoryTaskData to the offline reports file. Previously stored
* taskData is held and can be retrieved via getOldTaskData()
*/
- public void push(RepositoryTaskData newEntry) {
- String handle = AbstractRepositoryTask.getHandle(newEntry.getRepositoryUrl(), newEntry.getId());
- RepositoryTaskData moveToOld = getNewDataMap().get(handle);
+ public void push(String taskHandle, RepositoryTaskData newEntry) {
+// String handle = AbstractRepositoryTask.getHandle(newEntry.getRepositoryUrl(), newEntry.getId());
+ RepositoryTaskData moveToOld = getNewDataMap().get(taskHandle);
synchronized (file) {
if (moveToOld != null) {
- getOldDataMap().put(handle, moveToOld);
+ getOldDataMap().put(taskHandle, moveToOld);
} else {
- getOldDataMap().put(handle, newEntry);
+ getOldDataMap().put(taskHandle, newEntry);
}
- getNewDataMap().put(handle, newEntry);
+ getNewDataMap().put(taskHandle, newEntry);
}
}
@@ -118,8 +117,8 @@ public class TaskDataManager {
*
* @param newData
*/
- public void replace(RepositoryTaskData newData) {
- String handle = AbstractRepositoryTask.getHandle(newData.getRepositoryUrl(), newData.getId());
+ public void replace(String handle, RepositoryTaskData newData) {
+// String handle = AbstractRepositoryTask.getHandle(newData.getRepositoryUrl(), newData.getId());
synchronized (file) {
getNewDataMap().put(handle, newData);
}
@@ -128,8 +127,8 @@ public class TaskDataManager {
/**
* Add an unsubmitted RepositoryTaskData to the offline reports file.
*/
- public void putUnsubmitted(RepositoryTaskData newEntry) {
- String handle = AbstractRepositoryTask.getHandle(newEntry.getRepositoryUrl(), newEntry.getId());
+ public void putUnsubmitted(String handle, RepositoryTaskData newEntry) {
+// String handle = AbstractRepositoryTask.getHandle(newEntry.getRepositoryUrl(), newEntry.getId());
synchronized (file) {
getUnsubmittedTaskData().put(handle, newEntry);
}
@@ -212,13 +211,13 @@ public class TaskDataManager {
}
- /**
- * @return editable copy of task data with any edits applied
- */
- public RepositoryTaskData getEditableCopy(String repositoryUrl, String taskId) {
- String handle = AbstractRepositoryTask.getHandle(repositoryUrl, taskId);
- return getEditableCopy(handle);
- }
+// /**
+// * @return editable copy of task data with any edits applied
+// */
+// public RepositoryTaskData getEditableCopy(String handle) {
+// String handle = AbstractRepositoryTask.getHandle(repositoryUrl, taskId);
+// return getEditableCopy(handle);
+// }
public void saveEdits(String handle, Set<RepositoryTaskAttribute> attributes) {
synchronized (file) {
@@ -263,15 +262,15 @@ public class TaskDataManager {
return data;
}
- /**
- * Returns the most recent copy of the task data.
- *
- * @return offline task data, null if no data found
- */
- public RepositoryTaskData getRepsitoryTaskData(String repositoryUrl, String taskId) {
- String handle = AbstractRepositoryTask.getHandle(repositoryUrl, taskId);
- return getRepositoryTaskData(handle);
- }
+// /**
+// * Returns the most recent copy of the task data.
+// *
+// * @return offline task data, null if no data found
+// */
+// public RepositoryTaskData getRepsitoryTaskData(String repositoryUrl, String taskId) {
+// String handle = AbstractRepositoryTask.getHandle(repositoryUrl, taskId);
+// return getRepositoryTaskData(handle);
+// }
/**
* Returns the old copy if exists, null otherwise.
@@ -280,13 +279,13 @@ public class TaskDataManager {
return getOldDataMap().get(handle);
}
- /**
- * Returns the old copy if exists, null otherwise.
- */
- public RepositoryTaskData getOldRepositoryTaskData(String repositoryUrl, String taskId) {
- String handle = AbstractRepositoryTask.getHandle(repositoryUrl, taskId);
- return getOldRepositoryTaskData(handle);
- }
+// /**
+// * Returns the old copy if exists, null otherwise.
+// */
+// public RepositoryTaskData getOldRepositoryTaskData(String repositoryUrl, String taskId) {
+// String handle = AbstractRepositoryTask.getHandle(repositoryUrl, taskId);
+// return getOldRepositoryTaskData(handle);
+// }
/**
* Remove some bugs from the offline reports list
@@ -294,17 +293,16 @@ public class TaskDataManager {
* @param indicesToRemove
* An array of the indicies of the bugs to be removed
*/
- public void remove(List<RepositoryTaskData> dataToRemove) {
+ public void remove(List<String> handlesToRemove) {
synchronized (file) {
- for (RepositoryTaskData repositoryTaskData : dataToRemove) {
- remove(repositoryTaskData);
+ for (String handle: handlesToRemove) {
+ remove(handle);
}
}
}
- public void remove(RepositoryTaskData taskData) {
+ public void remove(String handle) {
synchronized (file) {
- String handle = AbstractRepositoryTask.getHandle(taskData.getRepositoryUrl(), taskData.getId());
getNewDataMap().remove(handle);
getOldDataMap().remove(handle);
}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/WebTask.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/WebTask.java
index b5657d1af..72906b47d 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/WebTask.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/WebTask.java
@@ -25,26 +25,26 @@ public class WebTask extends AbstractRepositoryTask {
private static final String UNKNOWN_OWNER = "<unknown>";
- private final String id;
+// private final String id;
private final String taskPrefix;
- private final String repositoryUrl;
+// private final String repositoryUrl;
private final String repsitoryType;
public WebTask(String id, String label, String taskPrefix, String repositoryUrl, String repsitoryType) {
- super(taskPrefix + id, label, false);
- this.id = id;
+ super(repositoryUrl, id, label, false);
+// this.id = id;
this.taskPrefix = taskPrefix;
this.repositoryUrl = repositoryUrl;
this.repsitoryType = repsitoryType;
- setUrl(taskPrefix + id);
+ setTaskUrl(taskPrefix + id);
}
- public String getId() {
- return this.id;
- }
+// public String getId() {
+// return this.id;
+// }
public String getTaskPrefix() {
return this.taskPrefix;
@@ -55,13 +55,13 @@ public class WebTask extends AbstractRepositoryTask {
return repsitoryType;
}
- @Override
- public String getRepositoryUrl() {
- return repositoryUrl;
- }
+// @Override
+// public String getRepositoryUrl() {
+// return repositoryUrl;
+// }
@Override
- public String getIdLabel() {
+ public String getIdentifyingLabel() {
return null;
}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/.AbstractRepositoryTask.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/.AbstractRepositoryTask.java
index ede3bdf5b..e13b1598b 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/.AbstractRepositoryTask.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/.AbstractRepositoryTask.java
@@ -11,10 +11,9 @@
package org.eclipse.mylar.tasks.core;
-import java.util.Date;
-
import org.eclipse.core.runtime.IStatus;
import org.eclipse.mylar.core.net.HtmlStreamTokenizer;
+import org.eclipse.mylar.internal.tasks.core.RepositoryTaskHandleUtil;
/**
* Virtual proxy for a repository task.
@@ -24,13 +23,13 @@ import org.eclipse.mylar.core.net.HtmlStreamTokenizer;
*/
public abstract class AbstractRepositoryTask extends Task {
- private static final String CONTEXT_HANDLE_DELIM = "-";
-
- private static final String MISSING_REPOSITORY_HANDLE = "norepository" + CONTEXT_HANDLE_DELIM;
-
/** The last time this task's bug report was in a synchronized (read?) state. */
protected String lastSynchronizedDateStamp;
+ protected String repositoryUrl;
+
+ protected String taskId;
+
protected transient RepositoryTaskData taskData;
protected boolean currentlySynchronizing;
@@ -49,14 +48,21 @@ public abstract class AbstractRepositoryTask extends Task {
protected RepositoryTaskSyncState syncState = RepositoryTaskSyncState.SYNCHRONIZED;
- public static final String HANDLE_DELIM = "-";
-
protected IStatus status = null;
-
- public AbstractRepositoryTask(String handle, String label, boolean newTask) {
- super(handle, label, newTask);
+
+ public AbstractRepositoryTask(String repositoryUrl, String taskId, String label, boolean newTask) {
+// super(getHandle(repositoryUrl, taskId), label, newTask);
+ super(null, label, newTask);
+ this.repositoryUrl = repositoryUrl;
+ this.taskId = taskId;
+ }
+
+ @Override
+ public final String getHandleIdentifier() {
+ return RepositoryTaskHandleUtil.getHandle(repositoryUrl, taskId);
}
+
@Override
public abstract String getRepositoryKind();
@@ -80,22 +86,21 @@ public abstract class AbstractRepositoryTask extends Task {
return syncState;
}
- public String getRepositoryUrl() {
- return AbstractRepositoryTask.getRepositoryUrl(getHandleIdentifier());
- }
-
+ /**
+ * TODO: remove
+ */
@Override
- public boolean isLocal() {
+ public final boolean isLocal() {
return false;
}
- public static long getLastRefreshTimeInMinutes(Date lastRefresh) {
- Date timeNow = new Date();
- if (lastRefresh == null)
- lastRefresh = new Date();
- long timeDifference = (timeNow.getTime() - lastRefresh.getTime()) / 60000;
- return timeDifference;
- }
+// public static long getLastRefreshTimeInMinutes(Date lastRefresh) {
+// Date timeNow = new Date();
+// if (lastRefresh == null)
+// lastRefresh = new Date();
+// long timeDifference = (timeNow.getTime() - lastRefresh.getTime()) / 60000;
+// return timeDifference;
+// }
public boolean isSynchronizing() {
return currentlySynchronizing;
@@ -106,44 +111,12 @@ public abstract class AbstractRepositoryTask extends Task {
}
/**
- * Human readable identifier for this task. Override if different than ID, can return
- * null if no such label exists.
+ * Human readable identifier for this task. Override if different than ID,
+ * can return null if no such label exists.
*/
- public String getIdLabel() {
- return getTaskId(handleIdentifier);
- }
-
- public static String getTaskId(String taskHandle) {
- int index = taskHandle.lastIndexOf(AbstractRepositoryTask.HANDLE_DELIM);
- if (index != -1) {
- String id = taskHandle.substring(index + 1);
- return id;
- }
- return null;
- }
-
- public static String getRepositoryUrl(String taskHandle) {
- int index = taskHandle.lastIndexOf(AbstractRepositoryTask.HANDLE_DELIM);
- String url = null;
- if (index != -1) {
- url = taskHandle.substring(0, index);
- }
- return url;
- }
-
- public static String getHandle(String repositoryUrl, String taskId) {
- if (repositoryUrl == null) {
- return MISSING_REPOSITORY_HANDLE + taskId;
- } else if (taskId.contains(CONTEXT_HANDLE_DELIM)) {
- throw new RuntimeException("invalid handle for task, can not contain: " + CONTEXT_HANDLE_DELIM + ", was: "
- + taskId);
- } else {
- return repositoryUrl + CONTEXT_HANDLE_DELIM + taskId;
- }
- }
-
- public static String getHandle(String repositoryUrl, int taskId) {
- return AbstractRepositoryTask.getHandle(repositoryUrl, "" + taskId);
+ public String getIdentifyingLabel() {
+ return taskId;
+// return RepositoryTaskHandleUtil.getTaskId(handleIdentifier);
}
public boolean isDirty() {
@@ -181,31 +154,46 @@ public abstract class AbstractRepositoryTask extends Task {
return "<unknown>";
}
}
-
+
public IStatus getStatus() {
return status;
}
-
+
public void setStatus(IStatus status) {
this.status = status;
}
+
+// /**
+// * Need to update URL since it is derived from handle identifier.
+// */
+// @Override
+// public void setHandleIdentifier(String newHandleIdentifier) {
+// String oldHandleIdentifier = getHandleIdentifier();
+// String url = getUrl();
+// if (oldHandleIdentifier != null && url != null) {
+// String oldRepositoryUrl = AbstractRepositoryTask.getRepositoryUrl(oldHandleIdentifier);
+// String newRepositoryUrl = AbstractRepositoryTask.getRepositoryUrl(newHandleIdentifier);
+//
+// if (url.startsWith(oldRepositoryUrl)) {
+// setUrl(newRepositoryUrl + url.substring(oldRepositoryUrl.length()));
+// }
+// }
+// super.setHandleIdentifier(newHandleIdentifier);
+// }
+
- /**
- * Need to update URL since it is derived from handle identifier.
- */
- @Override
- public void setHandleIdentifier(String newHandleIdentifier) {
- String oldHandleIdentifier = getHandleIdentifier();
- String url = getUrl();
- if (oldHandleIdentifier != null && url != null) {
- String oldRepositoryUrl = AbstractRepositoryTask.getRepositoryUrl(oldHandleIdentifier);
- String newRepositoryUrl = AbstractRepositoryTask.getRepositoryUrl(newHandleIdentifier);
-
- if (url.startsWith(oldRepositoryUrl)) {
- setUrl(newRepositoryUrl + url.substring(oldRepositoryUrl.length()));
- }
- }
- super.setHandleIdentifier(newHandleIdentifier);
+ public final String getTaskId() {
+ return taskId;
}
-
+
+ public final String getRepositoryUrl() {
+ // return
+ // AbstractRepositoryTask.getRepositoryUrl(getHandleIdentifier());
+ return repositoryUrl;
+ }
+
+ public final void setRepositoryUrl(String repositoryUrl) {
+ this.repositoryUrl = repositoryUrl;
+ }
+
}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/AbstractQueryHit.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/AbstractQueryHit.java
index 63398eb6a..d4c93d5f1 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/AbstractQueryHit.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/AbstractQueryHit.java
@@ -10,6 +10,7 @@
*******************************************************************************/
package org.eclipse.mylar.tasks.core;
+import org.eclipse.mylar.internal.tasks.core.RepositoryTaskHandleUtil;
import org.eclipse.mylar.tasks.core.Task.PriorityLevel;
@@ -112,7 +113,7 @@ public abstract class AbstractQueryHit implements ITaskListElement {
if (task != null) {
return task.getHandleIdentifier();
}
- return AbstractRepositoryTask.getHandle(repositoryUrl, id);
+ return RepositoryTaskHandleUtil.getHandle(repositoryUrl, id);
}
/**
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/AbstractRepositoryTask.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/AbstractRepositoryTask.java
index ede3bdf5b..e13b1598b 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/AbstractRepositoryTask.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/AbstractRepositoryTask.java
@@ -11,10 +11,9 @@
package org.eclipse.mylar.tasks.core;
-import java.util.Date;
-
import org.eclipse.core.runtime.IStatus;
import org.eclipse.mylar.core.net.HtmlStreamTokenizer;
+import org.eclipse.mylar.internal.tasks.core.RepositoryTaskHandleUtil;
/**
* Virtual proxy for a repository task.
@@ -24,13 +23,13 @@ import org.eclipse.mylar.core.net.HtmlStreamTokenizer;
*/
public abstract class AbstractRepositoryTask extends Task {
- private static final String CONTEXT_HANDLE_DELIM = "-";
-
- private static final String MISSING_REPOSITORY_HANDLE = "norepository" + CONTEXT_HANDLE_DELIM;
-
/** The last time this task's bug report was in a synchronized (read?) state. */
protected String lastSynchronizedDateStamp;
+ protected String repositoryUrl;
+
+ protected String taskId;
+
protected transient RepositoryTaskData taskData;
protected boolean currentlySynchronizing;
@@ -49,14 +48,21 @@ public abstract class AbstractRepositoryTask extends Task {
protected RepositoryTaskSyncState syncState = RepositoryTaskSyncState.SYNCHRONIZED;
- public static final String HANDLE_DELIM = "-";
-
protected IStatus status = null;
-
- public AbstractRepositoryTask(String handle, String label, boolean newTask) {
- super(handle, label, newTask);
+
+ public AbstractRepositoryTask(String repositoryUrl, String taskId, String label, boolean newTask) {
+// super(getHandle(repositoryUrl, taskId), label, newTask);
+ super(null, label, newTask);
+ this.repositoryUrl = repositoryUrl;
+ this.taskId = taskId;
+ }
+
+ @Override
+ public final String getHandleIdentifier() {
+ return RepositoryTaskHandleUtil.getHandle(repositoryUrl, taskId);
}
+
@Override
public abstract String getRepositoryKind();
@@ -80,22 +86,21 @@ public abstract class AbstractRepositoryTask extends Task {
return syncState;
}
- public String getRepositoryUrl() {
- return AbstractRepositoryTask.getRepositoryUrl(getHandleIdentifier());
- }
-
+ /**
+ * TODO: remove
+ */
@Override
- public boolean isLocal() {
+ public final boolean isLocal() {
return false;
}
- public static long getLastRefreshTimeInMinutes(Date lastRefresh) {
- Date timeNow = new Date();
- if (lastRefresh == null)
- lastRefresh = new Date();
- long timeDifference = (timeNow.getTime() - lastRefresh.getTime()) / 60000;
- return timeDifference;
- }
+// public static long getLastRefreshTimeInMinutes(Date lastRefresh) {
+// Date timeNow = new Date();
+// if (lastRefresh == null)
+// lastRefresh = new Date();
+// long timeDifference = (timeNow.getTime() - lastRefresh.getTime()) / 60000;
+// return timeDifference;
+// }
public boolean isSynchronizing() {
return currentlySynchronizing;
@@ -106,44 +111,12 @@ public abstract class AbstractRepositoryTask extends Task {
}
/**
- * Human readable identifier for this task. Override if different than ID, can return
- * null if no such label exists.
+ * Human readable identifier for this task. Override if different than ID,
+ * can return null if no such label exists.
*/
- public String getIdLabel() {
- return getTaskId(handleIdentifier);
- }
-
- public static String getTaskId(String taskHandle) {
- int index = taskHandle.lastIndexOf(AbstractRepositoryTask.HANDLE_DELIM);
- if (index != -1) {
- String id = taskHandle.substring(index + 1);
- return id;
- }
- return null;
- }
-
- public static String getRepositoryUrl(String taskHandle) {
- int index = taskHandle.lastIndexOf(AbstractRepositoryTask.HANDLE_DELIM);
- String url = null;
- if (index != -1) {
- url = taskHandle.substring(0, index);
- }
- return url;
- }
-
- public static String getHandle(String repositoryUrl, String taskId) {
- if (repositoryUrl == null) {
- return MISSING_REPOSITORY_HANDLE + taskId;
- } else if (taskId.contains(CONTEXT_HANDLE_DELIM)) {
- throw new RuntimeException("invalid handle for task, can not contain: " + CONTEXT_HANDLE_DELIM + ", was: "
- + taskId);
- } else {
- return repositoryUrl + CONTEXT_HANDLE_DELIM + taskId;
- }
- }
-
- public static String getHandle(String repositoryUrl, int taskId) {
- return AbstractRepositoryTask.getHandle(repositoryUrl, "" + taskId);
+ public String getIdentifyingLabel() {
+ return taskId;
+// return RepositoryTaskHandleUtil.getTaskId(handleIdentifier);
}
public boolean isDirty() {
@@ -181,31 +154,46 @@ public abstract class AbstractRepositoryTask extends Task {
return "<unknown>";
}
}
-
+
public IStatus getStatus() {
return status;
}
-
+
public void setStatus(IStatus status) {
this.status = status;
}
+
+// /**
+// * Need to update URL since it is derived from handle identifier.
+// */
+// @Override
+// public void setHandleIdentifier(String newHandleIdentifier) {
+// String oldHandleIdentifier = getHandleIdentifier();
+// String url = getUrl();
+// if (oldHandleIdentifier != null && url != null) {
+// String oldRepositoryUrl = AbstractRepositoryTask.getRepositoryUrl(oldHandleIdentifier);
+// String newRepositoryUrl = AbstractRepositoryTask.getRepositoryUrl(newHandleIdentifier);
+//
+// if (url.startsWith(oldRepositoryUrl)) {
+// setUrl(newRepositoryUrl + url.substring(oldRepositoryUrl.length()));
+// }
+// }
+// super.setHandleIdentifier(newHandleIdentifier);
+// }
+
- /**
- * Need to update URL since it is derived from handle identifier.
- */
- @Override
- public void setHandleIdentifier(String newHandleIdentifier) {
- String oldHandleIdentifier = getHandleIdentifier();
- String url = getUrl();
- if (oldHandleIdentifier != null && url != null) {
- String oldRepositoryUrl = AbstractRepositoryTask.getRepositoryUrl(oldHandleIdentifier);
- String newRepositoryUrl = AbstractRepositoryTask.getRepositoryUrl(newHandleIdentifier);
-
- if (url.startsWith(oldRepositoryUrl)) {
- setUrl(newRepositoryUrl + url.substring(oldRepositoryUrl.length()));
- }
- }
- super.setHandleIdentifier(newHandleIdentifier);
+ public final String getTaskId() {
+ return taskId;
}
-
+
+ public final String getRepositoryUrl() {
+ // return
+ // AbstractRepositoryTask.getRepositoryUrl(getHandleIdentifier());
+ return repositoryUrl;
+ }
+
+ public final void setRepositoryUrl(String repositoryUrl) {
+ this.repositoryUrl = repositoryUrl;
+ }
+
}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/DateRangeActivityDelegate.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/DateRangeActivityDelegate.java
index 57658336c..6297dac0a 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/DateRangeActivityDelegate.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/DateRangeActivityDelegate.java
@@ -161,8 +161,8 @@ public class DateRangeActivityDelegate implements ITask {
return task.getScheduledForDate();
}
- public String getUrl() {
- return task.getUrl();
+ public String getTaskUrl() {
+ return task.getTaskUrl();
}
public boolean hasBeenReminded() {
@@ -213,9 +213,9 @@ public class DateRangeActivityDelegate implements ITask {
task.setEstimatedTimeHours(estimated);
}
- public void setHandleIdentifier(String id) {
- task.setHandleIdentifier(id);
- }
+// public void setHandleIdentifier(String id) {
+// task.setHandleIdentifier(id);
+// }
public void setKind(String kind) {
task.setKind(kind);
@@ -241,8 +241,8 @@ public class DateRangeActivityDelegate implements ITask {
task.setScheduledForDate(date);
}
- public void setUrl(String url) {
- task.setUrl(url);
+ public void setTaskUrl(String url) {
+ task.setTaskUrl(url);
}
public int compareTo(ITaskListElement taskListElement) {
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/DelegatingTaskExternalizer.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/DelegatingTaskExternalizer.java
index c71a9d8fe..12711a508 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/DelegatingTaskExternalizer.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/DelegatingTaskExternalizer.java
@@ -188,8 +188,8 @@ public class DelegatingTaskExternalizer implements ITaskListExternalizer {
node.setAttribute(KEY_ACTIVE, VAL_FALSE);
}
- if (task.getUrl() != null) {
- node.setAttribute(KEY_ISSUEURL, task.getUrl());
+ if (task.getTaskUrl() != null) {
+ node.setAttribute(KEY_ISSUEURL, task.getTaskUrl());
}
node.setAttribute(KEY_NOTES, task.getNotes());
node.setAttribute(KEY_TIME_ESTIMATED, "" + task.getEstimateTimeHours());
@@ -357,9 +357,9 @@ public class DelegatingTaskExternalizer implements ITaskListExternalizer {
task.setActive(false);
}
if (element.hasAttribute(KEY_ISSUEURL)) {
- task.setUrl(element.getAttribute(KEY_ISSUEURL));
+ task.setTaskUrl(element.getAttribute(KEY_ISSUEURL));
} else {
- task.setUrl("");
+ task.setTaskUrl("");
}
if (element.hasAttribute(KEY_NOTES)) {
task.setNotes(element.getAttribute(KEY_NOTES));
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITask.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITask.java
index 35199623e..b2c9fc776 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITask.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITask.java
@@ -41,9 +41,9 @@ public interface ITask extends ITaskListElement {
public abstract boolean hasValidUrl();
- public abstract void setUrl(String url);
+ public abstract void setTaskUrl(String url);
- public abstract String getUrl();
+ public abstract String getTaskUrl();
public abstract String getNotes();
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITaskListElement.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITaskListElement.java
index 4b19ec2e5..48576efe8 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITaskListElement.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITaskListElement.java
@@ -22,7 +22,7 @@ public interface ITaskListElement extends Comparable<ITaskListElement> {
public abstract String getHandleIdentifier();
- public abstract void setHandleIdentifier(String id);
+// public abstract void setHandleIdentifier(String id);
}
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/Task.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/Task.java
index 78ca2e846..5d3aff81f 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/Task.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/Task.java
@@ -99,10 +99,10 @@ public class Task implements ITask {
}
}
+ private String handleIdentifier = "-1";
+
private boolean active = false;
- protected String handleIdentifier = "-1";
-
private boolean category = false;
private boolean hasReminded = false;
@@ -117,7 +117,7 @@ public class Task implements ITask {
private boolean completed;
- private String url = "";
+ private String taskUrl = "";
private AbstractTaskContainer parentCategory = null;
@@ -155,9 +155,9 @@ public class Task implements ITask {
return handleIdentifier;
}
- public void setHandleIdentifier(String id) {
- this.handleIdentifier = id;
- }
+// public void setHandleIdentifier(String id) {
+// this.handleIdentifier = id;
+// }
public ITask getParent() {
return parent;
@@ -221,12 +221,12 @@ public class Task implements ITask {
this.priority = priority;
}
- public void setUrl(String url) {
- this.url = url;
+ public void setTaskUrl(String url) {
+ this.taskUrl = url;
}
- public String getUrl() {
- return url;
+ public String getTaskUrl() {
+ return taskUrl;
}
public String getNotes() {
@@ -341,7 +341,7 @@ public class Task implements ITask {
}
public boolean hasValidUrl() {
- String taskUrl = getUrl();
+ String taskUrl = getTaskUrl();
if (taskUrl != null && !taskUrl.equals("") && !taskUrl.equals("http://") && !taskUrl.equals("https://")) {
try {
new URL(taskUrl);
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskList.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskList.java
index eb48efe56..5399cc749 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskList.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskList.java
@@ -23,6 +23,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.CopyOnWriteArraySet;
import org.eclipse.mylar.core.MylarStatusHandler;
+import org.eclipse.mylar.internal.tasks.core.RepositoryTaskHandleUtil;
/**
* TODO: some asymetry left between query containers and other task containers
@@ -91,26 +92,33 @@ public class TaskList {
}
}
- public void refactorRepositoryUrl(Object oldUrl, String newUrl) {
+ public void refactorRepositoryUrl(String oldRepositoryUrl, String newRepositoryUrl) {
+ // TODO: update mappings in offline task data, will currently lose them
for (ITask task : tasks.values()) {
if (task instanceof AbstractRepositoryTask) {
AbstractRepositoryTask repositoryTask = (AbstractRepositoryTask) task;
- if (oldUrl.equals(AbstractRepositoryTask.getRepositoryUrl(repositoryTask.getHandleIdentifier()))) {
+ if (oldRepositoryUrl.equals(RepositoryTaskHandleUtil.getRepositoryUrl(repositoryTask.getHandleIdentifier()))) {
tasks.remove(repositoryTask.getHandleIdentifier());
- String id = AbstractRepositoryTask.getTaskId(repositoryTask.getHandleIdentifier());
- String newHandle = AbstractRepositoryTask.getHandle(newUrl, id);
- repositoryTask.setHandleIdentifier(newHandle);
- tasks.put(newHandle, repositoryTask);
+// String id = AbstractRepositoryTask.getTaskId(repositoryTask.getHandleIdentifier());
+// String newHandle = AbstractRepositoryTask.getHandle(newUrl, id);
+// repositoryTask.setHandleIdentifier(newHandle);
+ repositoryTask.setRepositoryUrl(newRepositoryUrl);
+ tasks.put(repositoryTask.getHandleIdentifier(), repositoryTask);
+
+ String taskUrl = repositoryTask.getTaskUrl();
+ if (taskUrl.startsWith(oldRepositoryUrl)) {
+ repositoryTask.setTaskUrl(newRepositoryUrl + taskUrl.substring(oldRepositoryUrl.length()));
+ }
}
}
}
for (AbstractRepositoryQuery query : queries.values()) {
- if (query.getRepositoryUrl().equals(oldUrl)) {
- query.setRepositoryUrl(newUrl);
+ if (query.getRepositoryUrl().equals(oldRepositoryUrl)) {
+ query.setRepositoryUrl(newRepositoryUrl);
for (AbstractQueryHit hit : query.getHits()) {
queryHits.remove(hit.getHandleIdentifier());
- hit.setRepositoryUrl(newUrl);
+ hit.setRepositoryUrl(newRepositoryUrl);
queryHits.put(hit.getHandleIdentifier(), hit);
}
for (ITaskListChangeListener listener : changeListeners) {
@@ -374,6 +382,8 @@ public class TaskList {
}
/**
+ * TODO: consider removing, if everything becomes a repository task
+ *
* @return null if no such task.
*/
public ITask getTask(String handleIdentifier) {
@@ -384,6 +394,19 @@ public class TaskList {
}
}
+ /**
+ * @since 2.0
+ */
+ public AbstractRepositoryTask getTask(String repositoryUrl, String taskId) {
+ String handle = RepositoryTaskHandleUtil.getHandle(repositoryUrl, taskId);
+ ITask task = getTask(handle);
+ if (task instanceof AbstractRepositoryTask) {
+ return (AbstractRepositoryTask)task;
+ } else {
+ return null;
+ }
+ }
+
public AbstractTaskContainer getContainerForHandle(String categoryHandle) {
for (AbstractTaskContainer cat : categories.values()) {
if (cat instanceof AbstractTaskContainer) {
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskRepositoryManager.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskRepositoryManager.java
index 5a5ff151e..033b93c52 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskRepositoryManager.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskRepositoryManager.java
@@ -27,6 +27,7 @@ import java.util.Set;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.Platform;
import org.eclipse.mylar.core.MylarStatusHandler;
+import org.eclipse.mylar.internal.tasks.core.RepositoryTaskHandleUtil;
import org.eclipse.mylar.internal.tasks.core.TaskRepositoriesExternalizer;
/**
@@ -175,7 +176,7 @@ public class TaskRepositoryManager {
if (activeTasks.size() == 1) {
ITask activeTask = activeTasks.get(0);
if (activeTask instanceof AbstractRepositoryTask) {
- String repositoryUrl = AbstractRepositoryTask.getRepositoryUrl(activeTask.getHandleIdentifier());
+ String repositoryUrl = RepositoryTaskHandleUtil.getRepositoryUrl(activeTask.getHandleIdentifier());
for (TaskRepository repository : getRepositories(repositoryKind)) {
if (repository.getUrl().equals(repositoryUrl)) {
return repository;
diff --git a/org.eclipse.mylyn.tasks.tests/TaskAttachmentActionsTest.testfile b/org.eclipse.mylyn.tasks.tests/TaskAttachmentActionsTest.testfile
new file mode 100644
index 000000000..2ced879fe
--- /dev/null
+++ b/org.eclipse.mylyn.tasks.tests/TaskAttachmentActionsTest.testfile
@@ -0,0 +1,11 @@
+public class BugzillaContextLabelProvider extends AbstractContextLabelProvider {
+
+ @Override
+ protected Image getImage(IMylarElement node) {
+ return TaskListImages.getImage(TaskListImages.TASK_REMOTE);
+ }
+
+ @Override
+ protected Image getImage(IMylarRelation edge) {
+ return MylarImages.getImage(MylarBugsPlugin.EDGE_REF_BUGZILLA);
+ } \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/CopyDetailsActionTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/CopyDetailsActionTest.java
index de4dec441..0247580bc 100644
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/CopyDetailsActionTest.java
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/CopyDetailsActionTest.java
@@ -19,9 +19,9 @@ import org.eclipse.mylar.tasks.tests.connector.MockRepositoryTask;
public class CopyDetailsActionTest extends TestCase {
public void testIdLabelIncluded() {
- MockRepositoryTask task = new MockRepositoryTask("repo-123");
+ MockRepositoryTask task = new MockRepositoryTask("123");
String text = CopyTaskDetailsAction.getTextForTask(task);
- assertTrue(text.startsWith(task.getIdLabel()));
+ assertTrue(text.startsWith(task.getIdentifyingLabel()));
}
}
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/RepositoryTaskSynchronizationTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/RepositoryTaskSynchronizationTest.java
index a4189dbdb..bbc0f0a5f 100644
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/RepositoryTaskSynchronizationTest.java
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/RepositoryTaskSynchronizationTest.java
@@ -306,10 +306,10 @@ public class RepositoryTaskSynchronizationTest extends TestCase {
AbstractRepositoryTask task = primeTaskAndRepository(RepositoryTaskSyncState.SYNCHRONIZED,
RepositoryTaskSyncState.SYNCHRONIZED);
RepositoryTaskData taskData1 = new RepositoryTaskData(new MockAttributeFactory(), MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, "1");
- TasksUiPlugin.getDefault().getTaskDataManager().push(taskData1);
+ TasksUiPlugin.getDefault().getTaskDataManager().push(task.getHandleIdentifier(), taskData1);
RepositoryTaskData taskData2 = new RepositoryTaskData(new MockAttributeFactory(), MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, "1");
taskData2.setNewComment("new comment");
- TasksUiPlugin.getDefault().getTaskDataManager().push(taskData2);
+ TasksUiPlugin.getDefault().getTaskDataManager().push(task.getHandleIdentifier(), taskData2);
List<ITaskListElement> tasks = new ArrayList<ITaskListElement>();
tasks.add(task);
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataManagerTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataManagerTest.java
index 4af817d0b..b1c67a86c 100644
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataManagerTest.java
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataManagerTest.java
@@ -16,8 +16,8 @@ import java.util.Set;
import junit.framework.TestCase;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.mylar.internal.tasks.core.RepositoryTaskHandleUtil;
import org.eclipse.mylar.internal.tasks.core.TaskDataManager;
-import org.eclipse.mylar.tasks.core.AbstractRepositoryTask;
import org.eclipse.mylar.tasks.core.RepositoryTaskAttribute;
import org.eclipse.mylar.tasks.core.RepositoryTaskData;
import org.eclipse.mylar.tasks.tests.connector.MockAttributeFactory;
@@ -50,26 +50,36 @@ public class TaskDataManagerTest extends TestCase {
public void testAdd() throws CoreException {
RepositoryTaskData taskData = new RepositoryTaskData(new MockAttributeFactory(),
MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, "1");
- offlineTaskDataManager.push(taskData);
- assertNotNull(offlineTaskDataManager.getRepsitoryTaskData(MockRepositoryConnector.REPOSITORY_URL, "1"));
+ offlineTaskDataManager.push(RepositoryTaskHandleUtil.getHandle(MockRepositoryConnector.REPOSITORY_URL, "1"),
+ taskData);
+ assertNotNull(offlineTaskDataManager.getRepositoryTaskData(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "1")));
}
public void testSave() throws CoreException, IOException, ClassNotFoundException {
RepositoryTaskData taskData = new RepositoryTaskData(new MockAttributeFactory(),
MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, "1");
- offlineTaskDataManager.push(taskData);
+ offlineTaskDataManager.push(RepositoryTaskHandleUtil.getHandle(MockRepositoryConnector.REPOSITORY_URL, "1"),
+ taskData);
taskData = new RepositoryTaskData(new MockAttributeFactory(), MockRepositoryConnector.REPOSITORY_KIND,
MockRepositoryConnector.REPOSITORY_URL, "2");
- offlineTaskDataManager.push(taskData);
- assertNotNull(offlineTaskDataManager.getRepsitoryTaskData(MockRepositoryConnector.REPOSITORY_URL, "1"));
- assertNotNull(offlineTaskDataManager.getRepsitoryTaskData(MockRepositoryConnector.REPOSITORY_URL, "2"));
+ offlineTaskDataManager.push(RepositoryTaskHandleUtil.getHandle(MockRepositoryConnector.REPOSITORY_URL, "2"),
+ taskData);
+ assertNotNull(offlineTaskDataManager.getRepositoryTaskData(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "1")));
+ assertNotNull(offlineTaskDataManager.getRepositoryTaskData(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "2")));
offlineTaskDataManager.save();
offlineTaskDataManager.clear();
- assertNull(offlineTaskDataManager.getRepsitoryTaskData(MockRepositoryConnector.REPOSITORY_URL, "1"));
- assertNull(offlineTaskDataManager.getRepsitoryTaskData(MockRepositoryConnector.REPOSITORY_URL, "2"));
+ assertNull(offlineTaskDataManager.getRepositoryTaskData(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "1")));
+ assertNull(offlineTaskDataManager.getRepositoryTaskData(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "2")));
offlineTaskDataManager.readOfflineData();
- assertNotNull(offlineTaskDataManager.getRepsitoryTaskData(MockRepositoryConnector.REPOSITORY_URL, "1"));
- assertNotNull(offlineTaskDataManager.getRepsitoryTaskData(MockRepositoryConnector.REPOSITORY_URL, "2"));
+ assertNotNull(offlineTaskDataManager.getRepositoryTaskData(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "1")));
+ assertNotNull(offlineTaskDataManager.getRepositoryTaskData(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "2")));
}
public void testGetNextOfflineBugId() throws IOException, ClassNotFoundException {
@@ -85,162 +95,191 @@ public class TaskDataManagerTest extends TestCase {
RepositoryTaskData taskData = new RepositoryTaskData(new MockAttributeFactory(),
MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, "1");
taskData.setNewComment("version 1");
- offlineTaskDataManager.push(taskData);
- assertNotNull(offlineTaskDataManager.getRepsitoryTaskData(MockRepositoryConnector.REPOSITORY_URL, "1"));
+ offlineTaskDataManager.push(RepositoryTaskHandleUtil.getHandle(MockRepositoryConnector.REPOSITORY_URL, "1"),
+ taskData);
+ assertNotNull(offlineTaskDataManager.getRepositoryTaskData(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "1")));
taskData = new RepositoryTaskData(new MockAttributeFactory(), MockRepositoryConnector.REPOSITORY_KIND,
MockRepositoryConnector.REPOSITORY_URL, "1");
taskData.setNewComment("version 2");
- offlineTaskDataManager.push(taskData);
+ offlineTaskDataManager.push(RepositoryTaskHandleUtil.getHandle(MockRepositoryConnector.REPOSITORY_URL, "1"),
+ taskData);
offlineTaskDataManager.save();
offlineTaskDataManager.clear();
offlineTaskDataManager.readOfflineData();
- assertEquals("version 2", offlineTaskDataManager.getRepsitoryTaskData(MockRepositoryConnector.REPOSITORY_URL, "1")
- .getNewComment());
- assertEquals("version 1", offlineTaskDataManager.getOldRepositoryTaskData(MockRepositoryConnector.REPOSITORY_URL, "1")
- .getNewComment());
+ assertEquals("version 2", offlineTaskDataManager.getRepositoryTaskData(
+ RepositoryTaskHandleUtil.getHandle(MockRepositoryConnector.REPOSITORY_URL, "1")).getNewComment());
+ assertEquals("version 1", offlineTaskDataManager.getOldRepositoryTaskData(
+ RepositoryTaskHandleUtil.getHandle(MockRepositoryConnector.REPOSITORY_URL, "1")).getNewComment());
}
-
public void testUniqueCopy() throws Exception {
RepositoryTaskData taskData = new RepositoryTaskData(new MockAttributeFactory(),
MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, "1");
- offlineTaskDataManager.push(taskData);
- RepositoryTaskData taskData2 = offlineTaskDataManager.getEditableCopy(MockRepositoryConnector.REPOSITORY_URL, "1");
+ offlineTaskDataManager.push(RepositoryTaskHandleUtil.getHandle(MockRepositoryConnector.REPOSITORY_URL, "1"),
+ taskData);
+ RepositoryTaskData taskData2 = offlineTaskDataManager.getEditableCopy(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "1"));
assertNotNull(taskData2);
taskData2.setNewComment("test");
taskData = null;
- taskData = offlineTaskDataManager.getRepsitoryTaskData(MockRepositoryConnector.REPOSITORY_URL, "1");
+ taskData = offlineTaskDataManager.getRepositoryTaskData(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "1"));
assertFalse(taskData.getNewComment().equals("test"));
taskData = null;
- taskData = offlineTaskDataManager.getOldRepositoryTaskData(MockRepositoryConnector.REPOSITORY_URL, "1");
- assertFalse(taskData.getNewComment().equals("test"));
+ taskData = offlineTaskDataManager.getOldRepositoryTaskData(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "1"));
+ assertFalse(taskData.getNewComment().equals("test"));
}
-
+
public void testRemoveRepositoryTaskData() throws CoreException, IOException, ClassNotFoundException {
RepositoryTaskData taskData = new RepositoryTaskData(new MockAttributeFactory(),
MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, "1");
- offlineTaskDataManager.push(taskData);
+ offlineTaskDataManager.push(RepositoryTaskHandleUtil.getHandle(MockRepositoryConnector.REPOSITORY_URL, "1"),
+ taskData);
taskData = new RepositoryTaskData(new MockAttributeFactory(), MockRepositoryConnector.REPOSITORY_KIND,
MockRepositoryConnector.REPOSITORY_URL, "2");
- offlineTaskDataManager.push(taskData);
+ offlineTaskDataManager.push(RepositoryTaskHandleUtil.getHandle(MockRepositoryConnector.REPOSITORY_URL, "2"),
+ taskData);
offlineTaskDataManager.save();
- assertNotNull(offlineTaskDataManager.getRepsitoryTaskData(MockRepositoryConnector.REPOSITORY_URL, "1"));
- assertNotNull(offlineTaskDataManager.getRepsitoryTaskData(MockRepositoryConnector.REPOSITORY_URL, "2"));
- offlineTaskDataManager.remove(taskData);
- assertNotNull(offlineTaskDataManager.getRepsitoryTaskData(MockRepositoryConnector.REPOSITORY_URL, "1"));
- assertNull(offlineTaskDataManager.getRepsitoryTaskData(MockRepositoryConnector.REPOSITORY_URL, "2"));
+ assertNotNull(offlineTaskDataManager.getRepositoryTaskData(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "1")));
+ assertNotNull(offlineTaskDataManager.getRepositoryTaskData(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "2")));
+ offlineTaskDataManager.remove(RepositoryTaskHandleUtil.getHandle(MockRepositoryConnector.REPOSITORY_URL, "2"));
+ assertNotNull(offlineTaskDataManager.getRepositoryTaskData(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "1")));
+ assertNull(offlineTaskDataManager.getRepositoryTaskData(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "2")));
offlineTaskDataManager.save();
offlineTaskDataManager.clear();
offlineTaskDataManager.readOfflineData();
- assertNotNull(offlineTaskDataManager.getRepsitoryTaskData(MockRepositoryConnector.REPOSITORY_URL, "1"));
- assertNull(offlineTaskDataManager.getRepsitoryTaskData(MockRepositoryConnector.REPOSITORY_URL, "2"));
+ assertNotNull(offlineTaskDataManager.getRepositoryTaskData(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "1")));
+ assertNull(offlineTaskDataManager.getRepositoryTaskData(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "2")));
}
public void testRemoveListOfRepositoryTaskData() throws CoreException, IOException, ClassNotFoundException {
RepositoryTaskData taskData1 = new RepositoryTaskData(new MockAttributeFactory(),
MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, "1");
- offlineTaskDataManager.push(taskData1);
+ offlineTaskDataManager.push(RepositoryTaskHandleUtil.getHandle(MockRepositoryConnector.REPOSITORY_URL, "1"),
+ taskData1);
RepositoryTaskData taskData2 = new RepositoryTaskData(new MockAttributeFactory(),
MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, "2");
- offlineTaskDataManager.push(taskData2);
+ offlineTaskDataManager.push(RepositoryTaskHandleUtil.getHandle(MockRepositoryConnector.REPOSITORY_URL, "2"),
+ taskData2);
offlineTaskDataManager.save();
- assertNotNull(offlineTaskDataManager.getRepsitoryTaskData(MockRepositoryConnector.REPOSITORY_URL, "1"));
- assertNotNull(offlineTaskDataManager.getRepsitoryTaskData(MockRepositoryConnector.REPOSITORY_URL, "2"));
- ArrayList<RepositoryTaskData> list = new ArrayList<RepositoryTaskData>();
- list.add(taskData1);
- list.add(taskData2);
+ assertNotNull(offlineTaskDataManager.getRepositoryTaskData(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "1")));
+ assertNotNull(offlineTaskDataManager.getRepositoryTaskData(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "2")));
+ ArrayList<String> list = new ArrayList<String>();
+ list.add(RepositoryTaskHandleUtil.getHandle(MockRepositoryConnector.REPOSITORY_URL, "1"));
+ list.add(RepositoryTaskHandleUtil.getHandle(MockRepositoryConnector.REPOSITORY_URL, "2"));
offlineTaskDataManager.remove(list);
- assertNull(offlineTaskDataManager.getRepsitoryTaskData(MockRepositoryConnector.REPOSITORY_URL, "1"));
- assertNull(offlineTaskDataManager.getRepsitoryTaskData(MockRepositoryConnector.REPOSITORY_URL, "2"));
+ assertNull(offlineTaskDataManager.getRepositoryTaskData(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "1")));
+ assertNull(offlineTaskDataManager.getRepositoryTaskData(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "2")));
offlineTaskDataManager.save();
offlineTaskDataManager.clear();
offlineTaskDataManager.readOfflineData();
- assertNull(offlineTaskDataManager.getRepsitoryTaskData(MockRepositoryConnector.REPOSITORY_URL, "1"));
- assertNull(offlineTaskDataManager.getRepsitoryTaskData(MockRepositoryConnector.REPOSITORY_URL, "2"));
+ assertNull(offlineTaskDataManager.getRepositoryTaskData(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "1")));
+ assertNull(offlineTaskDataManager.getRepositoryTaskData(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "2")));
}
public void testEditing() {
RepositoryTaskData taskData = new RepositoryTaskData(new MockAttributeFactory(),
- MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, "1");
- offlineTaskDataManager.push(taskData);
-
- assertNotNull(offlineTaskDataManager.getRepositoryTaskData( AbstractRepositoryTask.getHandle(MockRepositoryConnector.REPOSITORY_URL, "1")));
- assertNotNull(offlineTaskDataManager.getOldRepositoryTaskData(AbstractRepositoryTask.getHandle(MockRepositoryConnector.REPOSITORY_URL, "1")));
-
- RepositoryTaskData editData = offlineTaskDataManager.getEditableCopy(AbstractRepositoryTask.getHandle(MockRepositoryConnector.REPOSITORY_URL, "1"));
+ MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, "1");
+ offlineTaskDataManager.push(RepositoryTaskHandleUtil.getHandle(MockRepositoryConnector.REPOSITORY_URL, "1"),
+ taskData);
+
+ assertNotNull(offlineTaskDataManager.getRepositoryTaskData(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "1")));
+ assertNotNull(offlineTaskDataManager.getOldRepositoryTaskData(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "1")));
+
+ RepositoryTaskData editData = offlineTaskDataManager.getEditableCopy(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "1"));
assertNotNull(editData);
editData.setAttributeFactory(new MockAttributeFactory());
editData.setAttributeValue(RepositoryTaskAttribute.COMMENT_NEW, "new comment");
-// for (RepositoryTaskAttribute attribute: editData.getAttributes()) {
-// assertTrue(taskData.getAttribute(attribute.getID()).equals(attribute));
-// }
-
+ // for (RepositoryTaskAttribute attribute: editData.getAttributes()) {
+ // assertTrue(taskData.getAttribute(attribute.getID()).equals(attribute));
+ // }
+
Set<RepositoryTaskAttribute> attSave = new HashSet<RepositoryTaskAttribute>();
attSave.add(editData.getAttribute(RepositoryTaskAttribute.COMMENT_NEW));
- offlineTaskDataManager.saveEdits(AbstractRepositoryTask.getHandle(MockRepositoryConnector.REPOSITORY_URL, "1"), attSave);
-
+ offlineTaskDataManager.saveEdits(RepositoryTaskHandleUtil.getHandle(MockRepositoryConnector.REPOSITORY_URL, "1"),
+ attSave);
+
editData = null;
- editData = offlineTaskDataManager.getEditableCopy(AbstractRepositoryTask.getHandle(MockRepositoryConnector.REPOSITORY_URL, "1"));
+ editData = offlineTaskDataManager.getEditableCopy(RepositoryTaskHandleUtil.getHandle(
+ MockRepositoryConnector.REPOSITORY_URL, "1"));
assertNotNull(editData);
assertEquals("new comment", editData.getAttributeValue(RepositoryTaskAttribute.COMMENT_NEW));
-
-
-
-
+
}
-
-// /** DND
-// * As is will write 81481326 bytes.
-// *
-// * @throws Exception
-// */
-// public void testLargeDataSet() throws Exception {
-// RepositoryTaskData taskData;
-// for (int x = 1; x < 500; x++) {
-// taskData = new RepositoryTaskData(new MockAttributeFactory(), MockRepositoryConnector.REPOSITORY_KIND,
-// MockRepositoryConnector.REPOSITORY_URL, "" + x);
-//
-// for (int y = 1; y < 60; y++) {
-// RepositoryTaskAttribute attribute = new RepositoryTaskAttribute("" + y, "" + y, false);
-// for (int z = 1; z < 10; z++) {
-// attribute.addOption("" + z, "" + z);
-// attribute.addValue("" + z);
-// }
-// taskData.addAttribute("" + y, attribute);
-// }
-//
-// for (int y = 1; y < 5; y++) {
-// RepositoryOperation op = new RepositoryOperation("" + y, "" + y);
-// taskData.addOperation(op);
-// }
-//
-// try {
-// for (int y = 1; y < 1000; y++) {
-// TaskComment comment = new TaskComment(new MockAttributeFactory(), y);
-// comment.setAttributeValue(RepositoryTaskAttribute.COMMENT_TEXT, "Testing \u05D0");
-// taskData.addComment(comment);
-// }
-// } catch (StackOverflowError e) {
-// e.printStackTrace();
-// }
-//
-// // for(int y = 1; y < 1000; y++) {
-// // RepositoryAttachment attachment = new
-// // RepositoryAttachment(repository, new MockAttributeFactory());
-// // taskData.addAttachment(attachment);
-// // }
-//
-// offlineTaskDataManager.put(taskData);
-// offlineTaskDataManager.put(taskData);
-// }
-// System.err.println("done Building");
-// offlineTaskDataManager.save();
-// System.err.println("Saved");
-// File file = TasksUiPlugin.getDefault().getOfflineReportsFilePath().toFile();
-// System.err.println(file.length());
-// offlineTaskDataManager.clear();
-// offlineTaskDataManager.readOfflineData();
-// assertNotNull(offlineTaskDataManager.getOldTaskData(AbstractRepositoryTask.getHandle(
-// MockRepositoryConnector.REPOSITORY_URL, 400)));
-// }
+
+ // /** DND
+ // * As is will write 81481326 bytes.
+ // *
+ // * @throws Exception
+ // */
+ // public void testLargeDataSet() throws Exception {
+ // RepositoryTaskData taskData;
+ // for (int x = 1; x < 500; x++) {
+ // taskData = new RepositoryTaskData(new MockAttributeFactory(),
+ // MockRepositoryConnector.REPOSITORY_KIND,
+ // MockRepositoryConnector.REPOSITORY_URL, "" + x);
+ //
+ // for (int y = 1; y < 60; y++) {
+ // RepositoryTaskAttribute attribute = new RepositoryTaskAttribute("" + y,
+ // "" + y, false);
+ // for (int z = 1; z < 10; z++) {
+ // attribute.addOption("" + z, "" + z);
+ // attribute.addValue("" + z);
+ // }
+ // taskData.addAttribute("" + y, attribute);
+ // }
+ //
+ // for (int y = 1; y < 5; y++) {
+ // RepositoryOperation op = new RepositoryOperation("" + y, "" + y);
+ // taskData.addOperation(op);
+ // }
+ //
+ // try {
+ // for (int y = 1; y < 1000; y++) {
+ // TaskComment comment = new TaskComment(new MockAttributeFactory(), y);
+ // comment.setAttributeValue(RepositoryTaskAttribute.COMMENT_TEXT, "Testing
+ // \u05D0");
+ // taskData.addComment(comment);
+ // }
+ // } catch (StackOverflowError e) {
+ // e.printStackTrace();
+ // }
+ //
+ // // for(int y = 1; y < 1000; y++) {
+ // // RepositoryAttachment attachment = new
+ // // RepositoryAttachment(repository, new MockAttributeFactory());
+ // // taskData.addAttachment(attachment);
+ // // }
+ //
+ // offlineTaskDataManager.put(taskData);
+ // offlineTaskDataManager.put(taskData);
+ // }
+ // System.err.println("done Building");
+ // offlineTaskDataManager.save();
+ // System.err.println("Saved");
+ // File file =
+ // TasksUiPlugin.getDefault().getOfflineReportsFilePath().toFile();
+ // System.err.println(file.length());
+ // offlineTaskDataManager.clear();
+ // offlineTaskDataManager.readOfflineData();
+ // assertNotNull(offlineTaskDataManager.getOldTaskData(AbstractRepositoryTask.getHandle(
+ // MockRepositoryConnector.REPOSITORY_URL, 400)));
+ // }
}
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListDnDTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListDnDTest.java
index 268e7e802..63a5f448f 100644
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListDnDTest.java
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListDnDTest.java
@@ -69,7 +69,7 @@ public class TaskListDnDTest extends TestCase {
Set<ITask> tasks = manager.getTaskList().getRootTasks();
assertNotNull(tasks);
assertEquals(1, tasks.size());
- assertEquals(url, tasks.iterator().next().getUrl());
+ assertEquals(url, tasks.iterator().next().getTaskUrl());
// TODO: Failing due to asynchronous retrieval of title from url
// assertEquals(title, tasks.get(0).getDescription(false));
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListManagerTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListManagerTest.java
index bb23c0cf6..8cb2ff717 100644
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListManagerTest.java
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListManagerTest.java
@@ -25,6 +25,7 @@ import java.util.Set;
import junit.framework.TestCase;
import org.eclipse.mylar.context.core.ContextCorePlugin;
+import org.eclipse.mylar.internal.tasks.core.RepositoryTaskHandleUtil;
import org.eclipse.mylar.internal.tasks.ui.ScheduledTaskListSynchJob;
import org.eclipse.mylar.internal.tasks.ui.TaskListPreferenceConstants;
import org.eclipse.mylar.internal.tasks.ui.TaskListSynchronizationScheduler;
@@ -107,7 +108,7 @@ public class TaskListManagerTest extends TestCase {
}
public void testSingleTaskDeletion() {
- MockRepositoryTask task = new MockRepositoryTask("mock-1");
+ MockRepositoryTask task = new MockRepositoryTask("1");
manager.getTaskList().moveToRoot(task);
manager.saveTaskList();
@@ -167,7 +168,7 @@ public class TaskListManagerTest extends TestCase {
}
public void testMigrateTaskHandles() {
- AbstractRepositoryTask task = new MockRepositoryTask("http://a-123");
+ AbstractRepositoryTask task = new MockRepositoryTask("http://a", "123");
manager.getTaskList().addTask(task);
manager.refactorRepositoryUrl("http://a", "http://b");
assertNull(manager.getTaskList().getTask("http://a-123"));
@@ -175,13 +176,13 @@ public class TaskListManagerTest extends TestCase {
}
public void testMigrateTaskHandlesWithExplicitSet() {
- AbstractRepositoryTask task = new MockRepositoryTask("http://a-123");
- task.setUrl("http://a/task/123");
+ AbstractRepositoryTask task = new MockRepositoryTask("http://a", "123");
+ task.setTaskUrl("http://a/task/123");
manager.getTaskList().addTask(task);
manager.refactorRepositoryUrl("http://a", "http://b");
assertNull(manager.getTaskList().getTask("http://a-123"));
assertNotNull(manager.getTaskList().getTask("http://b-123"));
- assertEquals("http://b/task/123", task.getUrl());
+ assertEquals("http://b/task/123", task.getTaskUrl());
}
public void testIsActiveToday() {
@@ -230,18 +231,18 @@ public class TaskListManagerTest extends TestCase {
}
public void testIsCompletedToday() {
- ITask task = new Task("1", "task-1", true);
+ ITask task = new Task("1", "task 1", true);
task.setCompleted(true);
task.setCompletionDate(new Date());
assertTrue(manager.isCompletedToday(task));
- MockRepositoryTask mockTask = new MockRepositoryTask(MOCK_REPOSITORY_URL + "-1");
+ MockRepositoryTask mockTask = new MockRepositoryTask("1");
manager.getTaskList().addTask(mockTask);
mockTask.setCompleted(true);
mockTask.setCompletionDate(new Date());
- assertFalse(manager.isCompletedToday(mockTask));
+ assertFalse("completed: " + mockTask.getCompletionDate(), manager.isCompletedToday(mockTask));
- mockTask = new MockRepositoryTask(MOCK_REPOSITORY_URL + "-2");
+ mockTask = new MockRepositoryTask("2");
manager.getTaskList().addTask(mockTask);
mockTask.setCompleted(true);
mockTask.setCompletionDate(new Date());
@@ -297,7 +298,7 @@ public class TaskListManagerTest extends TestCase {
}
public void testCategoryPersistance() {
- MockRepositoryTask task = new MockRepositoryTask("bug-1");
+ MockRepositoryTask task = new MockRepositoryTask("1");
TaskCategory category = new TaskCategory("cat", manager.getTaskList());
manager.getTaskList().addCategory(category);
manager.getTaskList().moveToContainer(category, task);
@@ -322,8 +323,8 @@ public class TaskListManagerTest extends TestCase {
}
public void testDeleteCategoryMovesTasksToRoot() {
- ITask task = new MockRepositoryTask("mock-delete");
- TaskCategory category = new TaskCategory("mock-cat", manager.getTaskList());
+ ITask task = new MockRepositoryTask("delete");
+ TaskCategory category = new TaskCategory("cat", manager.getTaskList());
manager.getTaskList().addTask(task, category);
manager.getTaskList().addCategory(category);
assertEquals(0, manager.getTaskList().getRootCategory().getChildren().size());
@@ -413,7 +414,7 @@ public class TaskListManagerTest extends TestCase {
repository = new TaskRepository(MockRepositoryConnector.REPOSITORY_KIND, repositoryUrl);
TasksUiPlugin.getRepositoryManager().addRepository(repository,
TasksUiPlugin.getDefault().getRepositoriesFilePath());
- MockRepositoryTask task = new MockRepositoryTask(repositoryUrl + "-1");
+ MockRepositoryTask task = new MockRepositoryTask(repositoryUrl, "1");
TaskList taskList = TasksUiPlugin.getTaskListManager().getTaskList();
taskList.moveToRoot(task);
MockRepositoryQuery query = new MockRepositoryQuery("query", taskList);
@@ -429,7 +430,7 @@ public class TaskListManagerTest extends TestCase {
}
public void testArchiveRepositoryTaskExternalization() {
- MockRepositoryTask repositoryTask = new MockRepositoryTask("bug-1");
+ MockRepositoryTask repositoryTask = new MockRepositoryTask("1");
repositoryTask.setKind("kind");
manager.getTaskList().addTask(repositoryTask);
assertEquals(1, manager.getTaskList().getArchiveContainer().getChildren().size());
@@ -446,7 +447,7 @@ public class TaskListManagerTest extends TestCase {
TaskCategory cat1 = new TaskCategory("Category 1", manager.getTaskList());
manager.getTaskList().addCategory(cat1);
- MockRepositoryTask reportInCat1 = new MockRepositoryTask("task-123");
+ MockRepositoryTask reportInCat1 = new MockRepositoryTask("123");
manager.getTaskList().moveToContainer(cat1, reportInCat1);
assertEquals(cat1, reportInCat1.getContainer());
@@ -510,12 +511,12 @@ public class TaskListManagerTest extends TestCase {
manager.getTaskList().moveToContainer(cat1, task4);
cat1Contents.add(task4);
- MockRepositoryTask reportInCat1 = new MockRepositoryTask("task-123");
+ MockRepositoryTask reportInCat1 = new MockRepositoryTask("123");
manager.getTaskList().moveToContainer(cat1, reportInCat1);
assertEquals(cat1, reportInCat1.getContainer());
cat1Contents.add(reportInCat1);
- MockRepositoryTask reportInRoot = new MockRepositoryTask("task-124");
+ MockRepositoryTask reportInRoot = new MockRepositoryTask("124");
manager.getTaskList().moveToRoot(reportInRoot);
rootTasks.add(reportInRoot);
@@ -554,8 +555,8 @@ public class TaskListManagerTest extends TestCase {
public void testExternalizationOfHandlesWithDash() {
Set<ITask> rootTasks = new HashSet<ITask>();
- String handle = AbstractRepositoryTask.getHandle("http://url/repo-location", 1);
- Task task1 = new Task(handle, "task 1", true);
+// String handle = AbstractRepositoryTask.getHandle("http://url/repo-location", 1);
+ Task task1 = new Task("http://url/repo-location-1", "task 1", true);
manager.getTaskList().moveToRoot(task1);
rootTasks.add(task1);
@@ -613,15 +614,15 @@ public class TaskListManagerTest extends TestCase {
manager.getTaskList().addQuery(query1);
manager.getTaskList().addQuery(query2);
- Set<AbstractRepositoryQuery> queriesReturned = taskList.getQueriesForHandle(AbstractRepositoryTask.getHandle(
- "repositoryURL", 1));
+ Set<AbstractRepositoryQuery> queriesReturned = taskList.getQueriesForHandle(RepositoryTaskHandleUtil.getHandle(
+ "repositoryURL", "1"));
assertNotNull(queriesReturned);
assertEquals(2, queriesReturned.size());
assertTrue(queriesReturned.contains(query1));
assertTrue(queriesReturned.contains(query2));
Set<String> handles = new HashSet<String>();
- handles.add(AbstractRepositoryTask.getHandle("repositoryURL", 2));
+ handles.add(RepositoryTaskHandleUtil.getHandle("repositoryURL", "2"));
Set<AbstractQueryHit> hitsReturned = taskList.getQueryHits(handles);
assertNotNull(hitsReturned);
assertEquals(1, hitsReturned.size());
@@ -691,10 +692,10 @@ public class TaskListManagerTest extends TestCase {
String bugNumber = "106939";
- MockRepositoryTask task1 = new MockRepositoryTask(repositoryUrl + "-" + bugNumber);
+ MockRepositoryTask task1 = new MockRepositoryTask(repositoryUrl, bugNumber);
manager.getTaskList().addTask(task1);
- MockRepositoryTask task2 = new MockRepositoryTask("https://unresolved-" + bugNumber);
+ MockRepositoryTask task2 = new MockRepositoryTask("https://unresolved", bugNumber);
manager.getTaskList().addTask(task2);
TaskList taskList = manager.getTaskList();
@@ -722,8 +723,8 @@ public class TaskListManagerTest extends TestCase {
public void testMarkTaskRead() {
String repositoryUrl = "http://mylar.eclipse.org/bugs222";
- MockRepositoryTask task1 = new MockRepositoryTask(repositoryUrl + "-1");
- MockRepositoryTask task2 = new MockRepositoryTask(repositoryUrl + "-2");
+ MockRepositoryTask task1 = new MockRepositoryTask(repositoryUrl, "1");
+ MockRepositoryTask task2 = new MockRepositoryTask(repositoryUrl, "2");
task1.setSyncState(RepositoryTaskSyncState.INCOMING);
task2.setSyncState(RepositoryTaskSyncState.INCOMING);
List<ITaskListElement> elements = new ArrayList<ITaskListElement>();
@@ -758,8 +759,8 @@ public class TaskListManagerTest extends TestCase {
public void testMarkUnRead() {
String repositoryUrl = "http://mylar.eclipse.org/bugs222";
- MockRepositoryTask task1 = new MockRepositoryTask(repositoryUrl + "-1");
- MockRepositoryTask task2 = new MockRepositoryTask(repositoryUrl + "-2");
+ MockRepositoryTask task1 = new MockRepositoryTask(repositoryUrl, "1");
+ MockRepositoryTask task2 = new MockRepositoryTask(repositoryUrl, "2");
assertEquals(RepositoryTaskSyncState.SYNCHRONIZED, task1.getSyncState());
assertEquals(RepositoryTaskSyncState.SYNCHRONIZED, task2.getSyncState());
List<ITaskListElement> elements = new ArrayList<ITaskListElement>();
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskRepositoryManagerTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskRepositoryManagerTest.java
index b71562cfa..7955e3acc 100644
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskRepositoryManagerTest.java
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskRepositoryManagerTest.java
@@ -18,8 +18,8 @@ import java.util.List;
import junit.framework.TestCase;
+import org.eclipse.mylar.internal.tasks.core.RepositoryTaskHandleUtil;
import org.eclipse.mylar.tasks.core.AbstractRepositoryConnector;
-import org.eclipse.mylar.tasks.core.AbstractRepositoryTask;
import org.eclipse.mylar.tasks.core.TaskRepository;
import org.eclipse.mylar.tasks.core.TaskRepositoryManager;
import org.eclipse.mylar.tasks.tests.connector.MockRepositoryConnector;
@@ -58,9 +58,9 @@ public class TaskRepositoryManagerTest extends TestCase {
public void testHandles() {
String url = "http://foo.bar";
String id = "123";
- String handle = AbstractRepositoryTask.getHandle(url, id);
- assertEquals(url, AbstractRepositoryTask.getRepositoryUrl(handle));
- assertEquals(id, AbstractRepositoryTask.getTaskId(handle));
+ String handle = RepositoryTaskHandleUtil.getHandle(url, id);
+ assertEquals(url, RepositoryTaskHandleUtil.getRepositoryUrl(handle));
+ assertEquals(id, RepositoryTaskHandleUtil.getTaskId(handle));
// assertEquals(123, AbstractRepositoryTask.getTaskIdAsInt(handle));
}
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskTest.java
index 10b418aea..6e883600e 100644
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskTest.java
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskTest.java
@@ -33,19 +33,19 @@ public class TaskTest extends TestCase {
public void testUrl() {
Task task = new Task("handle", "label", true);
- task.setUrl("http://eclipse.org/mylar/doc.php");
+ task.setTaskUrl("http://eclipse.org/mylar/doc.php");
assertTrue(task.hasValidUrl());
- task.setUrl("http://");
+ task.setTaskUrl("http://");
assertFalse(task.hasValidUrl());
- task.setUrl("https://");
+ task.setTaskUrl("https://");
assertFalse(task.hasValidUrl());
- task.setUrl("");
+ task.setTaskUrl("");
assertFalse(task.hasValidUrl());
- task.setUrl(null);
+ task.setTaskUrl(null);
assertFalse(task.hasValidUrl());
}
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockQueryHit.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockQueryHit.java
index 5d4497312..acd566886 100644
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockQueryHit.java
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockQueryHit.java
@@ -24,7 +24,7 @@ public class MockQueryHit extends AbstractQueryHit {
@Override
protected AbstractRepositoryTask createTask() {
- return new MockRepositoryTask(AbstractRepositoryTask.getHandle(repositoryUrl, id));
+ return new MockRepositoryTask(repositoryUrl, id);
}
}
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockRepositoryConnector.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockRepositoryConnector.java
index 50be0f980..d8c898306 100644
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockRepositoryConnector.java
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockRepositoryConnector.java
@@ -37,7 +37,7 @@ public class MockRepositoryConnector extends AbstractRepositoryConnector {
public static final String REPOSITORY_KIND = "mock";
- public static final String REPOSITORY_URL = "http://mockrepository.com";
+ public static final String REPOSITORY_URL = "http://mockrepository.test";
@Override
public boolean canCreateNewTask(TaskRepository repository) {
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockRepositoryTask.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockRepositoryTask.java
index c44c2f4ce..818f59726 100644
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockRepositoryTask.java
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockRepositoryTask.java
@@ -20,10 +20,15 @@ public class MockRepositoryTask extends AbstractRepositoryTask {
private String ownerId;
- public MockRepositoryTask(String handle) {
- super(handle, "label for " + handle, true);
+ public MockRepositoryTask(String taskId) {
+ super(MockRepositoryConnector.REPOSITORY_URL, taskId, "label for " + taskId, true);
}
+ public MockRepositoryTask(String repositoryUrl, String taskId) {
+ super(repositoryUrl, taskId, "label for " + taskId, true);
+ }
+
+
@Override
public String getRepositoryKind() {
return "mock";
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/RepositoryTaskDecorator.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/RepositoryTaskDecorator.java
index f8de0f2da..f0ede2eb0 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/RepositoryTaskDecorator.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/RepositoryTaskDecorator.java
@@ -70,7 +70,7 @@ public class RepositoryTaskDecorator implements ILightweightLabelDecorator {
ITask correspondingTask = ((AbstractQueryHit) element).getCorrespondingTask();
decorate(correspondingTask, decoration);
} else if (element instanceof ITask) {
- String url = ((ITask) element).getUrl();
+ String url = ((ITask) element).getTaskUrl();
if (url != null && !url.trim().equals("") && !url.equals("http://")) {
decoration.addOverlay(TaskListImages.OVERLAY_WEB, IDecoration.BOTTOM_LEFT);
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/CopyTaskDetailsAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/CopyTaskDetailsAction.java
index 6609b7d9a..83f7e6cfb 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/CopyTaskDetailsAction.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/CopyTaskDetailsAction.java
@@ -69,12 +69,12 @@ public class CopyTaskDetailsAction extends BaseSelectionListenerAction {
}
if (task != null) {
if (task instanceof AbstractRepositoryTask) {
- text += ((AbstractRepositoryTask)task).getIdLabel() + ": ";
+ text += ((AbstractRepositoryTask)task).getIdentifyingLabel() + ": ";
}
text += task.getSummary();
if (task.hasValidUrl()) {
- text += "\n" + task.getUrl();
+ text += "\n" + task.getTaskUrl();
}
} else {
text += ((AbstractQueryHit)object).getSummary();
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/OpenTaskAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/OpenTaskAction.java
index 673756fc2..e8b10cbac 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/OpenTaskAction.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/OpenTaskAction.java
@@ -60,7 +60,7 @@ public class OpenTaskAction extends ActionDelegate implements IWorkbenchWindowAc
ITask task = (ITask) result;
if (dlg.getOpenInBrowser()) {
if (task.hasValidUrl()) {
- TasksUiUtil.openBrowser(task.getUrl());
+ TasksUiUtil.openBrowser(task.getTaskUrl());
TasksUiPlugin.getTaskListManager().getTaskActivationHistory().addTask(task);
}
} else {
@@ -73,7 +73,7 @@ public class OpenTaskAction extends ActionDelegate implements IWorkbenchWindowAc
if (task != null) {
if (dlg.getOpenInBrowser()) {
if (task.hasValidUrl()) {
- TasksUiUtil.openBrowser(task.getUrl());
+ TasksUiUtil.openBrowser(task.getTaskUrl());
TasksUiPlugin.getTaskListManager().getTaskActivationHistory().addTask(task);
}
} else {
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/OpenWithBrowserAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/OpenWithBrowserAction.java
index 82dffc1ae..2d0c9aea7 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/OpenWithBrowserAction.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/OpenWithBrowserAction.java
@@ -50,7 +50,7 @@ public class OpenWithBrowserAction extends BaseSelectionListenerAction {
if (selectedObject instanceof ITask) {
ITask task = (ITask)selectedObject;
if (task != null && task.hasValidUrl()) {
- urlString = task.getUrl();
+ urlString = task.getTaskUrl();
}
} else if (selectedObject instanceof AbstractQueryHit) {
AbstractQueryHit hit = (AbstractQueryHit) selectedObject;
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskSelectionDialog.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskSelectionDialog.java
index e51e471a8..cf7b0d3e5 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskSelectionDialog.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskSelectionDialog.java
@@ -27,10 +27,10 @@ import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerComparator;
import org.eclipse.jface.viewers.ViewerFilter;
+import org.eclipse.mylar.internal.tasks.core.RepositoryTaskHandleUtil;
import org.eclipse.mylar.internal.tasks.ui.views.TaskElementLabelProvider;
import org.eclipse.mylar.tasks.core.AbstractQueryHit;
import org.eclipse.mylar.tasks.core.AbstractRepositoryQuery;
-import org.eclipse.mylar.tasks.core.AbstractRepositoryTask;
import org.eclipse.mylar.tasks.core.ITask;
import org.eclipse.mylar.tasks.core.ITaskListElement;
import org.eclipse.mylar.tasks.core.TaskList;
@@ -86,7 +86,7 @@ public class TaskSelectionDialog extends SelectionStatusDialog {
}
if (element instanceof ITask) {
ITask task = (ITask) element;
- String taskString = AbstractRepositoryTask.getTaskId(task.getHandleIdentifier()) + ": "
+ String taskString = RepositoryTaskHandleUtil.getTaskId(task.getHandleIdentifier()) + ": "
+ task.getSummary();
return pattern.matcher(taskString).find();
} else if (element instanceof AbstractQueryHit) {
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/commands/RemoteTaskSelectionDialog.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/commands/RemoteTaskSelectionDialog.java
index e942745c5..f71e1aea6 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/commands/RemoteTaskSelectionDialog.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/commands/RemoteTaskSelectionDialog.java
@@ -135,7 +135,7 @@ public class RemoteTaskSelectionDialog extends SelectionStatusDialog {
return false;
}
AbstractRepositoryTask task = (AbstractRepositoryTask) element;
- String taskId = task.getIdLabel();
+ String taskId = task.getIdentifyingLabel();
for (String id : selectedIds) {
if (id.equals(taskId)) {
return true;
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java
index f5ce61a72..2b5ad959c 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java
@@ -233,7 +233,7 @@ public class TaskPlanningEditor extends TaskFormPage {
TasksUiPlugin.getTaskListManager().getTaskList().renameTask((Task) task, label);
// TODO: refactor mutation into TaskList?
- task.setUrl(issueReportURL.getText());
+ task.setTaskUrl(issueReportURL.getText());
String priorityDescription = priorityCombo.getItem(priorityCombo.getSelectionIndex());
PriorityLevel level = PriorityLevel.fromDescription(priorityDescription);
if (level != null) {
@@ -485,7 +485,7 @@ public class TaskPlanningEditor extends TaskFormPage {
GridData urlGridData = new GridData(GridData.FILL_HORIZONTAL);
urlComposite.setLayoutData(urlGridData);
- issueReportURL = toolkit.createText(urlComposite, task.getUrl(), SWT.NONE);
+ issueReportURL = toolkit.createText(urlComposite, task.getTaskUrl(), SWT.NONE);
GridData gridLayout = new GridData(GridData.FILL_HORIZONTAL);
issueReportURL.setLayoutData(gridLayout);
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityEditorPart.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityEditorPart.java
index c0f340bdb..4621dfb16 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityEditorPart.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityEditorPart.java
@@ -744,7 +744,7 @@ public class TaskActivityEditorPart extends EditorPart {
writer.write("<td width=\"59\">ICON</td><td width=\"55\">" + currentTask.getPriority()
+ "</td><td width=\"495\">");
if (currentTask.hasValidUrl()) {
- writer.write("<a href='" + currentTask.getUrl() + "'>" + currentTask.getSummary() + "</a>");
+ writer.write("<a href='" + currentTask.getTaskUrl() + "'>" + currentTask.getSummary() + "</a>");
} else {
writer.write(currentTask.getSummary());
}
@@ -801,7 +801,7 @@ public class TaskActivityEditorPart extends EditorPart {
+ "</td><td width=\"495\">");
if (currentTask.hasValidUrl()) {
- writer.write("<a href='" + currentTask.getUrl() + "'>" + currentTask.getSummary() + "</a>");
+ writer.write("<a href='" + currentTask.getTaskUrl() + "'>" + currentTask.getSummary() + "</a>");
} else {
writer.write(currentTask.getSummary());
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskActivityLabelProvider.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskActivityLabelProvider.java
index d09dea304..907cf0fa4 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskActivityLabelProvider.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskActivityLabelProvider.java
@@ -21,6 +21,7 @@ import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.mylar.core.MylarStatusHandler;
import org.eclipse.mylar.internal.core.util.DateUtil;
+import org.eclipse.mylar.internal.tasks.core.RepositoryTaskHandleUtil;
import org.eclipse.mylar.internal.tasks.ui.TaskListColorsAndFonts;
import org.eclipse.mylar.internal.tasks.ui.TaskListImages;
import org.eclipse.mylar.tasks.core.AbstractRepositoryTask;
@@ -76,7 +77,7 @@ public class TaskActivityLabelProvider extends DecoratingLabelProvider implement
switch (columnIndex) {
case 2:
if(task instanceof AbstractRepositoryTask) {
- return AbstractRepositoryTask.getTaskId(task.getHandleIdentifier())+": "+task.getSummary();
+ return RepositoryTaskHandleUtil.getTaskId(task.getHandleIdentifier())+": "+task.getSummary();
} else {
return task.getSummary();
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskElementLabelProvider.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskElementLabelProvider.java
index 88446fc3c..14afce5ae 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskElementLabelProvider.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskElementLabelProvider.java
@@ -16,6 +16,7 @@ import java.util.regex.Pattern;
import org.eclipse.jface.viewers.IColorProvider;
import org.eclipse.jface.viewers.IFontProvider;
import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.mylar.internal.tasks.core.RepositoryTaskHandleUtil;
import org.eclipse.mylar.internal.tasks.ui.ITaskHighlighter;
import org.eclipse.mylar.internal.tasks.ui.TaskListColorsAndFonts;
import org.eclipse.mylar.internal.tasks.ui.TaskListImages;
@@ -125,14 +126,14 @@ public class TaskElementLabelProvider extends LabelProvider implements IColorPro
} else if (object instanceof AbstractRepositoryTask) {
AbstractRepositoryTask task = (AbstractRepositoryTask) object;
if (task.getSummary() == null) {
- if (task.getIdLabel() != null) {
- return task.getIdLabel() + NO_SUMMARY_AVAILABLE;
+ if (task.getIdentifyingLabel() != null) {
+ return task.getIdentifyingLabel() + NO_SUMMARY_AVAILABLE;
} else {
- return AbstractRepositoryTask.getTaskId(task.getHandleIdentifier()) + NO_SUMMARY_AVAILABLE;
+ return RepositoryTaskHandleUtil.getTaskId(task.getHandleIdentifier()) + NO_SUMMARY_AVAILABLE;
}
} else if (!pattern.matcher(task.getSummary()).matches()) {
- if (task.getIdLabel() != null) {
- return task.getIdLabel() + ": " + task.getSummary();
+ if (task.getIdentifyingLabel() != null) {
+ return task.getIdentifyingLabel() + ": " + task.getSummary();
} else {
return task.getSummary();
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java
index 43518d5d4..f35d648b5 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java
@@ -180,7 +180,7 @@ public class TaskListDropAdapter extends ViewerDropAdapter {
}
newTask.setPriority(Task.PriorityLevel.P3.toString());
- newTask.setUrl(url);
+ newTask.setTaskUrl(url);
// NOTE: setting boolean param as false so that we go directly to the
// browser tab as with a previously-created task
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListTableSorter.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListTableSorter.java
index dc885cdee..2a0ad5a18 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListTableSorter.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListTableSorter.java
@@ -108,15 +108,15 @@ public class TaskListTableSorter extends ViewerSorter {
if (element instanceof AbstractQueryHit) {
AbstractRepositoryTask task1 = ((AbstractQueryHit)element).getCorrespondingTask();
- if (task1 != null && task1.getIdLabel() != null) {
- summary = task1.getIdLabel() + ": " + summary;
+ if (task1 != null && task1.getIdentifyingLabel() != null) {
+ summary = task1.getIdentifyingLabel() + ": " + summary;
} else {
summary = ((AbstractQueryHit)element).getIdLabel() + ": " + summary;
}
} else if (element instanceof AbstractRepositoryTask) {
AbstractRepositoryTask task1 = (AbstractRepositoryTask)element;
- if (task1.getIdLabel() != null) {
- summary = task1.getIdLabel() + ": " + summary;
+ if (task1.getIdentifyingLabel() != null) {
+ summary = task1.getIdentifyingLabel() + ": " + summary;
}
}
return summary;
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/OpenRepositoryTaskJob.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/OpenRepositoryTaskJob.java
index 81db176c1..3dbb46e29 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/OpenRepositoryTaskJob.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/OpenRepositoryTaskJob.java
@@ -18,9 +18,9 @@ import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.mylar.core.MylarStatusHandler;
+import org.eclipse.mylar.internal.tasks.core.RepositoryTaskHandleUtil;
import org.eclipse.mylar.internal.tasks.ui.TaskListPreferenceConstants;
import org.eclipse.mylar.tasks.core.AbstractRepositoryConnector;
-import org.eclipse.mylar.tasks.core.AbstractRepositoryTask;
import org.eclipse.mylar.tasks.core.ITaskDataHandler;
import org.eclipse.mylar.tasks.core.RepositoryTaskData;
import org.eclipse.mylar.tasks.core.TaskRepository;
@@ -83,9 +83,10 @@ public class OpenRepositoryTaskJob extends Job {
RepositoryTaskData downloadedTaskData = null;
downloadedTaskData = offlineHandler.getTaskData(repository, taskId);
if (downloadedTaskData != null) {
- TasksUiPlugin.getDefault().getTaskDataManager().push(downloadedTaskData);
+ TasksUiPlugin.getDefault().getTaskDataManager().push(RepositoryTaskHandleUtil.getHandle(repository.getUrl(), taskId),
+ downloadedTaskData);
}
- openEditor(repository, AbstractRepositoryTask.getHandle(repository.getUrl(), taskId),
+ openEditor(repository, RepositoryTaskHandleUtil.getHandle(repository.getUrl(), taskId),
downloadedTaskData);
} else {
PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/RepositorySynchronizationManager.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/RepositorySynchronizationManager.java
index d004b14da..6117823ff 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/RepositorySynchronizationManager.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/RepositorySynchronizationManager.java
@@ -8,7 +8,6 @@
package org.eclipse.mylar.tasks.ui;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashSet;
@@ -277,11 +276,11 @@ public class RepositorySynchronizationManager {
TaskDataManager dataManager = TasksUiPlugin.getDefault().getTaskDataManager();
dataManager.discardEdits(repositoryTask.getHandleIdentifier());
// push twice so we don't see our own changes
- TasksUiPlugin.getDefault().getTaskDataManager().push(newTaskData);
+ TasksUiPlugin.getDefault().getTaskDataManager().push(repositoryTask.getHandleIdentifier(), newTaskData);
} else if (checkHasIncoming(repositoryTask, newTaskData)) {
status = RepositoryTaskSyncState.CONFLICT;
}
- TasksUiPlugin.getDefault().getTaskDataManager().push(newTaskData);
+ TasksUiPlugin.getDefault().getTaskDataManager().push(repositoryTask.getHandleIdentifier(), newTaskData);
break;
case CONFLICT:
@@ -289,14 +288,14 @@ public class RepositorySynchronizationManager {
case INCOMING:
// only most recent incoming will be displayed if two
// sequential incoming's /conflicts happen
- TasksUiPlugin.getDefault().getTaskDataManager().replace(newTaskData);
+ TasksUiPlugin.getDefault().getTaskDataManager().replace(repositoryTask.getHandleIdentifier(), newTaskData);
repositoryTask.setNotified(false);
break;
case SYNCHRONIZED:
if (checkHasIncoming(repositoryTask, newTaskData)) {
status = RepositoryTaskSyncState.INCOMING;
}
- TasksUiPlugin.getDefault().getTaskDataManager().push(newTaskData);
+ TasksUiPlugin.getDefault().getTaskDataManager().push(repositoryTask.getHandleIdentifier(), newTaskData);
break;
}
@@ -366,15 +365,6 @@ public class RepositorySynchronizationManager {
// return true;
}
- /** non-final for testing purposes */
- protected void removeOfflineTaskData(RepositoryTaskData bug) {
- if (bug == null)
- return;
-
- ArrayList<RepositoryTaskData> bugList = new ArrayList<RepositoryTaskData>();
- bugList.add(bug);
- TasksUiPlugin.getDefault().getTaskDataManager().remove(bugList);
- }
/**
* @param repositoryTask -
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/SynchronizeQueryJob.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/SynchronizeQueryJob.java
index 9eefc6e56..941403e00 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/SynchronizeQueryJob.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/SynchronizeQueryJob.java
@@ -201,7 +201,7 @@ class SynchronizeQueryJob extends Job {
if (hit.getCorrespondingTask() != null) {
hit.getCorrespondingTask().setTaskData(taskData);
}
- TasksUiPlugin.getDefault().getTaskDataManager().push(taskData);
+ TasksUiPlugin.getDefault().getTaskDataManager().push(hit.getHandleIdentifier(), taskData);
}
monitor.worked(1);
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/SynchronizeTaskJob.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/SynchronizeTaskJob.java
index 5e00c2257..78be1c144 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/SynchronizeTaskJob.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/SynchronizeTaskJob.java
@@ -20,6 +20,7 @@ import org.eclipse.core.runtime.OperationCanceledException;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.mylar.core.MylarStatusHandler;
+import org.eclipse.mylar.internal.tasks.core.RepositoryTaskHandleUtil;
import org.eclipse.mylar.internal.tasks.ui.TaskListImages;
import org.eclipse.mylar.tasks.core.AbstractRepositoryConnector;
import org.eclipse.mylar.tasks.core.AbstractRepositoryTask;
@@ -116,7 +117,7 @@ class SynchronizeTaskJob extends Job {
TasksUiPlugin.getTaskListManager().getTaskList().notifyLocalInfoChanged(repositoryTask);
ITaskDataHandler taskDataHandler = connector.getTaskDataHandler();
if (taskDataHandler != null) {
- String taskId = AbstractRepositoryTask.getTaskId(repositoryTask.getHandleIdentifier());
+ String taskId = RepositoryTaskHandleUtil.getTaskId(repositoryTask.getHandleIdentifier());
RepositoryTaskData downloadedTaskData = taskDataHandler.getTaskData(repository, taskId);
if (downloadedTaskData != null) {
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TaskListManager.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TaskListManager.java
index 6f5fc9a30..c13bd74fc 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TaskListManager.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TaskListManager.java
@@ -36,6 +36,7 @@ import org.eclipse.mylar.context.core.IMylarContextListener;
import org.eclipse.mylar.context.core.IMylarElement;
import org.eclipse.mylar.core.MylarStatusHandler;
import org.eclipse.mylar.internal.context.core.MylarContextManager;
+import org.eclipse.mylar.internal.tasks.core.RepositoryTaskHandleUtil;
import org.eclipse.mylar.internal.tasks.core.WebTask;
import org.eclipse.mylar.internal.tasks.ui.TaskListPreferenceConstants;
import org.eclipse.mylar.internal.tasks.ui.WorkspaceAwareContextStore;
@@ -582,12 +583,12 @@ public class TaskListManager implements IPropertyChangeListener {
try {
storedHandle = URLDecoder.decode(file.getName().substring(0, dotIndex),
MylarContextManager.CONTEXT_FILENAME_ENCODING);
- int delimIndex = storedHandle.lastIndexOf(AbstractRepositoryTask.HANDLE_DELIM);
+ int delimIndex = storedHandle.lastIndexOf(RepositoryTaskHandleUtil.HANDLE_DELIM);
if (delimIndex != -1) {
String storedUrl = storedHandle.substring(0, delimIndex);
if (oldUrl.equals(storedUrl)) {
- String id = AbstractRepositoryTask.getTaskId(storedHandle);
- String newHandle = AbstractRepositoryTask.getHandle(newUrl, id);
+ String id = RepositoryTaskHandleUtil.getTaskId(storedHandle);
+ String newHandle = RepositoryTaskHandleUtil.getHandle(newUrl, id);
File newFile = ContextCorePlugin.getContextManager().getFileForContext(newHandle);
file.renameTo(newFile);
}
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 4977765c3..bd9494c06 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
@@ -117,8 +117,7 @@ public class TasksUiUtil {
public static boolean openRepositoryTask(TaskRepository repository, String taskId) {
boolean opened = false;
- ITask task = TasksUiPlugin.getTaskListManager().getTaskList().getTask(
- AbstractRepositoryTask.getHandle(repository.getUrl(), taskId));
+ ITask task = TasksUiPlugin.getTaskListManager().getTaskList().getTask(repository.getUrl(), taskId);
if (task != null) {
TasksUiUtil.refreshAndOpenTaskListElement(task);
opened = true;
@@ -138,14 +137,14 @@ public class TasksUiUtil {
boolean opened = false;
ITask task = null;
if (taskId != null) {
- String handle = AbstractRepositoryTask.getHandle(repositoryUrl, taskId);
- task = TasksUiPlugin.getTaskListManager().getTaskList().getTask(handle);
+// String handle = AbstractRepositoryTask.getHandle(repositoryUrl, taskId);
+ task = TasksUiPlugin.getTaskListManager().getTaskList().getTask(repositoryUrl, taskId);
}
if (task == null) {
// search for it
for (ITask currTask : TasksUiPlugin.getTaskListManager().getTaskList().getAllTasks()) {
if (currTask instanceof AbstractRepositoryTask) {
- String currUrl = ((AbstractRepositoryTask) currTask).getUrl();
+ String currUrl = ((AbstractRepositoryTask) currTask).getTaskUrl();
if (currUrl != null && !currUrl.equals("") && currUrl.equals(fullUrl)) {
task = currTask;
break;
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AbstractRepositoryTaskEditor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AbstractRepositoryTaskEditor.java
index a7ac466fd..3d48a3180 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AbstractRepositoryTaskEditor.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AbstractRepositoryTaskEditor.java
@@ -1246,7 +1246,7 @@ public abstract class AbstractRepositoryTaskEditor extends TaskFormPage {
Button addAttachmentButton = toolkit.createButton(attachmentsComposite, "Attach File...", SWT.PUSH);
ITask task = TasksUiPlugin.getTaskListManager().getTaskList().getTask(
- AbstractRepositoryTask.getHandle(repository.getUrl(), taskData.getId()));
+ repository.getUrl(), taskData.getId());
if (task == null) {
addAttachmentButton.setEnabled(false);
}
@@ -1258,7 +1258,7 @@ public abstract class AbstractRepositoryTaskEditor extends TaskFormPage {
public void widgetSelected(SelectionEvent e) {
ITask task = TasksUiPlugin.getTaskListManager().getTaskList().getTask(
- AbstractRepositoryTask.getHandle(repository.getUrl(), taskData.getId()));
+ repository.getUrl(), taskData.getId());
if (!(task instanceof AbstractRepositoryTask)) {
// Should not happen
return;
@@ -1367,7 +1367,7 @@ public abstract class AbstractRepositoryTaskEditor extends TaskFormPage {
if (textTransfer.isSupportedType(event.currentDataType)) {
String text = (String) event.data;
ITask task = TasksUiPlugin.getTaskListManager().getTaskList().getTask(
- AbstractRepositoryTask.getHandle(repository.getUrl(), taskData.getId()));
+ repository.getUrl(), taskData.getId());
if (!(task instanceof AbstractRepositoryTask)) {
// Should not happen
return;
@@ -1383,7 +1383,7 @@ public abstract class AbstractRepositoryTaskEditor extends TaskFormPage {
String[] files = (String[]) event.data;
if (files.length > 0) {
ITask task = TasksUiPlugin.getTaskListManager().getTaskList().getTask(
- AbstractRepositoryTask.getHandle(repository.getUrl(), taskData.getId()));
+ repository.getUrl(), taskData.getId());
if (!(task instanceof AbstractRepositoryTask)) {
// Should not happen
return;
@@ -1548,7 +1548,7 @@ public abstract class AbstractRepositoryTaskEditor extends TaskFormPage {
protected void addCCList(Composite attributesComposite) {
RepositoryTaskAttribute addCCattribute = taskData.getAttribute(RepositoryTaskAttribute.NEW_CC);
- if(addCCattribute == null) {
+ if (addCCattribute == null) {
// TODO: remove once TRAC is priming taskData with NEW_CC attribute
taskData.setAttributeValue(RepositoryTaskAttribute.NEW_CC, "");
addCCattribute = taskData.getAttribute(RepositoryTaskAttribute.NEW_CC);
@@ -1829,7 +1829,7 @@ public abstract class AbstractRepositoryTaskEditor extends TaskFormPage {
*/
protected void addActionButtons(Composite buttonComposite) {
ITask task = TasksUiPlugin.getTaskListManager().getTaskList().getTask(
- AbstractRepositoryTask.getHandle(repository.getUrl(), taskData.getId()));
+ repository.getUrl(), taskData.getId());
if (attachContext && task != null) {
addAttachContextButton(buttonComposite, task);
}
@@ -2552,7 +2552,7 @@ public abstract class AbstractRepositoryTaskEditor extends TaskFormPage {
}
} else {
modifiedTask = (AbstractRepositoryTask) TasksUiPlugin.getTaskListManager().getTaskList()
- .getTask(AbstractRepositoryTask.getHandle(repository.getUrl(), taskData.getId()));
+ .getTask(repository.getUrl(), taskData.getId());
}
// Attach context if required
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/RepositoryTaskEditorInput.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/RepositoryTaskEditorInput.java
index 869bad234..dda558e80 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/RepositoryTaskEditorInput.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/RepositoryTaskEditorInput.java
@@ -10,6 +10,7 @@
*******************************************************************************/
package org.eclipse.mylar.tasks.ui.editors;
+import org.eclipse.mylar.internal.tasks.core.RepositoryTaskHandleUtil;
import org.eclipse.mylar.tasks.core.AbstractRepositoryTask;
import org.eclipse.mylar.tasks.core.ITask;
import org.eclipse.mylar.tasks.core.TaskRepository;
@@ -29,7 +30,7 @@ public class RepositoryTaskEditorInput extends AbstractTaskEditorInput {
public RepositoryTaskEditorInput(TaskRepository repository, String handle, String taskUrl) {
super(repository, handle);
- this.id = AbstractRepositoryTask.getTaskId(handle);
+ this.id = RepositoryTaskHandleUtil.getTaskId(handle);
this.url = taskUrl;
ITask task = TasksUiPlugin.getTaskListManager().getTaskList().getTask(handle);
if (task != null && task instanceof AbstractRepositoryTask) {
@@ -43,7 +44,7 @@ public class RepositoryTaskEditorInput extends AbstractTaskEditorInput {
public String getName() {
if(repositoryTask != null) {
- String idLabel = repositoryTask.getIdLabel();
+ String idLabel = repositoryTask.getIdentifyingLabel();
String label = "";
if (idLabel != null) {
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/TaskEditor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/TaskEditor.java
index ea3f41b24..f88b27151 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/TaskEditor.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/TaskEditor.java
@@ -177,10 +177,10 @@ public class TaskEditor extends FormEditor {
if (getEditorInput() instanceof RepositoryTaskEditorInput) {
url = ((RepositoryTaskEditorInput) getEditorInput()).getUrl();
if (url == null) {
- url = task.getUrl();
+ url = task.getTaskUrl();
}
- } else if (task != null && task.getUrl().length() > 9) {
- url = task.getUrl();
+ } else if (task != null && task.getTaskUrl().length() > 9) {
+ url = task.getTaskUrl();
}
return url;
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/TaskEditorInput.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/TaskEditorInput.java
index 5a05bb518..4f328dd3c 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/TaskEditorInput.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/TaskEditorInput.java
@@ -14,6 +14,7 @@
package org.eclipse.mylar.tasks.ui.editors;
import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.mylar.internal.tasks.core.RepositoryTaskHandleUtil;
import org.eclipse.mylar.internal.tasks.ui.editors.TaskEditorInputFactory;
import org.eclipse.mylar.tasks.core.AbstractRepositoryTask;
import org.eclipse.mylar.tasks.core.ITask;
@@ -45,7 +46,7 @@ public class TaskEditorInput implements IEditorInput, IPersistableElement {
private void init(ITask task) {
this.task = task;
- id = AbstractRepositoryTask.getTaskId(task.getHandleIdentifier());
+ id = RepositoryTaskHandleUtil.getTaskId(task.getHandleIdentifier());
label = truncateDescription(task.getSummary());
}
@@ -130,7 +131,7 @@ public class TaskEditorInput implements IEditorInput, IPersistableElement {
public String getLabel() {
if (task instanceof AbstractRepositoryTask) {
AbstractRepositoryTask repositoryTask = (AbstractRepositoryTask)task;
- String idLabel = repositoryTask.getIdLabel();
+ String idLabel = repositoryTask.getIdentifyingLabel();
label = "";
if (idLabel != null) {
diff --git a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracAttachmentHandler.java b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracAttachmentHandler.java
index 95ff7f42e..3480a0eeb 100644
--- a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracAttachmentHandler.java
+++ b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracAttachmentHandler.java
@@ -63,7 +63,7 @@ public class TracAttachmentHandler implements IAttachmentHandler {
try {
ITracClient client = connector.getClientManager().getRepository(repository);
- int id = Integer.parseInt(AbstractRepositoryTask.getTaskId(task.getHandleIdentifier()));
+ int id = Integer.parseInt(task.getTaskId());
byte[] data = readData(file);
client.putAttachmentData(id, file.getName(), description, data);
if (comment != null && comment.length() > 0) {
diff --git a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracQueryHit.java b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracQueryHit.java
index 4631624dc..e2493a205 100644
--- a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracQueryHit.java
+++ b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracQueryHit.java
@@ -24,13 +24,13 @@ public class TracQueryHit extends AbstractQueryHit {
super(taskList, repositoryUrl, description, id);
}
- public TracQueryHit(TaskList taskList, String handle) {
- super(taskList, AbstractRepositoryTask.getRepositoryUrl(handle), "", AbstractRepositoryTask.getTaskId(handle));
- }
+// public TracQueryHit(TaskList taskList, String handle) {
+// super(taskList, RepositoryTaskHandleUtil.getRepositoryUrl(handle), "", RepositoryTaskHandleUtil.getTaskId(handle));
+// }
@Override
protected AbstractRepositoryTask createTask() {
- TracTask newTask = new TracTask(getHandleIdentifier(), getSummary(), true);
+ TracTask newTask = new TracTask(this.getRepositoryUrl(), this.getId(), getSummary(), true);
newTask.setPriority(priority);
return newTask;
}
diff --git a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracRepositoryConnector.java b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracRepositoryConnector.java
index e9524ef57..0a6dd3a94 100644
--- a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracRepositoryConnector.java
+++ b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracRepositoryConnector.java
@@ -127,10 +127,10 @@ public class TracRepositoryConnector extends AbstractRepositoryConnector {
@Override
public void updateTask(TaskRepository repository, AbstractRepositoryTask repositoryTask) throws CoreException {
if (repositoryTask instanceof TracTask) {
- String id = AbstractRepositoryTask.getTaskId(repositoryTask.getHandleIdentifier());
+// String id = RepositoryTaskHandleUtil.getTaskId(repositoryTask.getHandleIdentifier());
try {
ITracClient connection = getClientManager().getRepository(repository);
- TracTicket ticket = connection.getTicket(Integer.parseInt(id));
+ TracTicket ticket = connection.getTicket(Integer.parseInt(repositoryTask.getTaskId()));
updateTaskDetails((TracTask) repositoryTask, ticket, false);
} catch (Exception e) {
throw new CoreException(TracCorePlugin.toStatus(e));
@@ -192,7 +192,7 @@ public class TracRepositoryConnector extends AbstractRepositoryConnector {
Set<AbstractRepositoryTask> result = new HashSet<AbstractRepositoryTask>();
if (!ids.isEmpty()) {
for (AbstractRepositoryTask task : tasks) {
- Integer id = Integer.parseInt(AbstractRepositoryTask.getTaskId(task.getHandleIdentifier()));
+ Integer id = Integer.parseInt(task.getTaskId());
if (ids.contains(id)) {
result.add(task);
}
@@ -207,34 +207,33 @@ public class TracRepositoryConnector extends AbstractRepositoryConnector {
@Override
- public AbstractRepositoryTask createTaskFromExistingKey(TaskRepository repository, String id) throws CoreException {
- int bugId = -1;
+ public AbstractRepositoryTask createTaskFromExistingKey(TaskRepository repository, String taskId) throws CoreException {
+ int taskIdInt = -1;
try {
- bugId = Integer.parseInt(id);
+ taskIdInt = Integer.parseInt(taskId);
} catch (NumberFormatException e) {
throw new CoreException(new Status(IStatus.ERROR, TracCorePlugin.PLUGIN_ID, IStatus.OK,
- "Invalid ticket id: " + id, e));
+ "Invalid ticket id: " + taskId, e));
}
- String handle = AbstractRepositoryTask.getHandle(repository.getUrl(), bugId);
-
+// String handle = AbstractRepositoryTask.getHandle(repository.getUrl(), bugId);
TracTask task;
- ITask existingTask = taskList.getTask(handle);
+ ITask existingTask = taskList.getTask(repository.getUrl(), taskId);
if (existingTask instanceof TracTask) {
task = (TracTask) existingTask;
} else {
- RepositoryTaskData taskData = taskDataHandler.downloadTaskData(repository, bugId);
+ RepositoryTaskData taskData = taskDataHandler.downloadTaskData(repository, taskIdInt);
if (taskData != null) {
- task = new TracTask(handle, getTicketDescription(taskData), true);
+ task = new TracTask(repository.getUrl(), taskId, getTicketDescription(taskData), true);
task.setTaskData(taskData);
taskList.addTask(task);
} else {
// repository does not support XML-RPC, fall back to web access
try {
ITracClient connection = getClientManager().getRepository(repository);
- TracTicket ticket = connection.getTicket(Integer.parseInt(id));
+ TracTicket ticket = connection.getTicket(taskIdInt);
- task = new TracTask(handle, getTicketDescription(ticket), true);
+ task = new TracTask(repository.getUrl(), taskId, getTicketDescription(ticket), true);
updateTaskDetails(task, ticket, false);
taskList.addTask(task);
} catch (Exception e) {
@@ -256,13 +255,14 @@ public class TracRepositoryConnector extends AbstractRepositoryConnector {
return clientManager;
}
- public TracTask createTask(TracTicket ticket, String handleIdentifier) {
+ public TracTask createTask(TracTicket ticket, String repositoryUrl, String taskId) {
TracTask task;
- ITask existingTask = taskList.getTask(handleIdentifier);
+// String handleIdentifier = AbstractRepositoryTask.getHandle(repositoryUrl, taskId);
+ ITask existingTask = taskList.getTask(repositoryUrl, taskId);
if (existingTask instanceof TracTask) {
task = (TracTask) existingTask;
} else {
- task = new TracTask(handleIdentifier, getTicketDescription(ticket), true);
+ task = new TracTask(repositoryUrl, taskId, getTicketDescription(ticket), true);
taskList.addTask(task);
}
return task;
diff --git a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracTask.java b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracTask.java
index fa0d36295..45de6b267 100644
--- a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracTask.java
+++ b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/TracTask.java
@@ -125,11 +125,9 @@ public class TracTask extends AbstractRepositoryTask {
}
- public TracTask(String handle, String label, boolean newTask) {
- super(handle, label, newTask);
-
- setUrl(AbstractRepositoryTask.getRepositoryUrl(handle) + ITracClient.TICKET_URL
- + AbstractRepositoryTask.getTaskId(handle));
+ public TracTask(String repositoryUrl, String id, String label, boolean newTask) {
+ super(repositoryUrl, id, label, newTask);
+ setTaskUrl(repositoryUrl + ITracClient.TICKET_URL + id);
}
@Override
diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracRepositoryConnectorTest.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracRepositoryConnectorTest.java
index 279a358f7..244fe2a61 100644
--- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracRepositoryConnectorTest.java
+++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracRepositoryConnectorTest.java
@@ -43,7 +43,6 @@ import org.eclipse.mylar.internal.trac.core.model.TracTicket.Key;
import org.eclipse.mylar.internal.trac.ui.wizard.TracRepositorySettingsPage;
import org.eclipse.mylar.tasks.core.AbstractQueryHit;
import org.eclipse.mylar.tasks.core.AbstractRepositoryConnector;
-import org.eclipse.mylar.tasks.core.AbstractRepositoryTask;
import org.eclipse.mylar.tasks.core.ITask;
import org.eclipse.mylar.tasks.core.QueryHitCollector;
import org.eclipse.mylar.tasks.core.TaskList;
@@ -137,7 +136,7 @@ public class TracRepositoryConnectorTest extends TestCase {
assertNotNull(task);
assertEquals(TracTask.class, task.getClass());
assertTrue(task.getSummary().contains("summary1"));
- assertEquals(repository.getUrl() + ITracClient.TICKET_URL + id, task.getUrl());
+ assertEquals(repository.getUrl() + ITracClient.TICKET_URL + id, task.getTaskUrl());
try {
task = connector.createTaskFromExistingKey(repository, "does not exist");
@@ -218,13 +217,13 @@ public class TracRepositoryConnectorTest extends TestCase {
ticket.putBuiltinValue(Key.SUMMARY, "mysummary");
ticket.putBuiltinValue(Key.TYPE, "mytype");
- TracTask task = new TracTask(AbstractRepositoryTask.getHandle(Constants.TEST_TRAC_010_URL, 123), "desc", true);
- assertEquals(Constants.TEST_TRAC_010_URL + ITracClient.TICKET_URL + "123", task.getUrl());
+ TracTask task = new TracTask(Constants.TEST_TRAC_010_URL, ""+123, "desc", true);
+ assertEquals(Constants.TEST_TRAC_010_URL + ITracClient.TICKET_URL + "123", task.getTaskUrl());
assertEquals("desc", task.getSummary());
connector.updateTaskDetails(task, ticket, false);
- assertEquals(Constants.TEST_TRAC_010_URL + ITracClient.TICKET_URL + "123", task.getUrl());
- assertEquals("123", task.getIdLabel());
+ assertEquals(Constants.TEST_TRAC_010_URL + ITracClient.TICKET_URL + "123", task.getTaskUrl());
+ assertEquals("123", task.getIdentifyingLabel());
assertEquals("mysummary", task.getSummary());
assertEquals("P3", task.getPriority());
assertEquals("mytype", task.getTaskKind());
@@ -236,11 +235,11 @@ public class TracRepositoryConnectorTest extends TestCase {
TracTicket ticket = new TracTicket(456);
ticket.putBuiltinValue(Key.SUMMARY, "mysummary");
- TracTask task = new TracTask(AbstractRepositoryTask.getHandle(Constants.TEST_TRAC_010_URL, 456), "desc", true);
+ TracTask task = new TracTask(Constants.TEST_TRAC_010_URL, ""+456, "desc", true);
connector.updateTaskDetails(task, ticket, false);
- assertEquals(Constants.TEST_TRAC_010_URL + ITracClient.TICKET_URL + "456", task.getUrl());
- assertEquals("456", task.getIdLabel());
+ assertEquals(Constants.TEST_TRAC_010_URL + ITracClient.TICKET_URL + "456", task.getTaskUrl());
+ assertEquals("456", task.getIdentifyingLabel());
assertEquals("mysummary", task.getSummary());
assertEquals("P3", task.getPriority());
assertEquals(null, task.getTaskKind());
diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracRepositoryQueryTest.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracRepositoryQueryTest.java
index c579ef192..0bad6ef83 100644
--- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracRepositoryQueryTest.java
+++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracRepositoryQueryTest.java
@@ -22,7 +22,6 @@ import org.eclipse.mylar.internal.trac.core.TracRepositoryQuery;
import org.eclipse.mylar.internal.trac.core.TracTask;
import org.eclipse.mylar.internal.trac.core.model.TracSearch;
import org.eclipse.mylar.internal.trac.core.model.TracSearchFilter;
-import org.eclipse.mylar.tasks.core.AbstractRepositoryTask;
import org.eclipse.mylar.tasks.core.TaskRepository;
import org.eclipse.mylar.tasks.core.TaskRepositoryManager;
import org.eclipse.mylar.tasks.ui.TasksUiPlugin;
@@ -44,7 +43,7 @@ public class TracRepositoryQueryTest extends TestCase {
TracRepositoryQuery query = new TracRepositoryQuery(repository.getUrl(), queryUrl, "description", TasksUiPlugin.getTaskListManager().getTaskList());
TasksUiPlugin.getTaskListManager().getTaskList().addQuery(query);
- TracTask task = new TracTask(AbstractRepositoryTask.getHandle(Constants.TEST_TRAC_096_URL, 123), "desc", true);
+ TracTask task = new TracTask(Constants.TEST_TRAC_096_URL, ""+123, "desc", true);
TasksUiPlugin.getTaskListManager().getTaskList().addTask(task);
String oldUrl = repository.getUrl();
@@ -54,7 +53,7 @@ public class TracRepositoryQueryTest extends TestCase {
assertEquals(newUrl, query.getRepositoryUrl());
assertEquals(newUrl + ITracClient.QUERY_URL + search.toUrl(), query.getUrl());
- assertEquals(newUrl + ITracClient.TICKET_URL + 123, task.getUrl());
+ assertEquals(newUrl + ITracClient.TICKET_URL + 123, task.getTaskUrl());
}
public void testGetFilterList() {
diff --git a/org.eclipse.mylyn.trac.ui/src/org/eclipse/mylyn/internal/trac/ui/TracTaskExternalizer.java b/org.eclipse.mylyn.trac.ui/src/org/eclipse/mylyn/internal/trac/ui/TracTaskExternalizer.java
index 4fda1306c..92172a94b 100644
--- a/org.eclipse.mylyn.trac.ui/src/org/eclipse/mylyn/internal/trac/ui/TracTaskExternalizer.java
+++ b/org.eclipse.mylyn.trac.ui/src/org/eclipse/mylyn/internal/trac/ui/TracTaskExternalizer.java
@@ -12,6 +12,7 @@
package org.eclipse.mylar.internal.trac.ui;
import org.eclipse.mylar.core.MylarStatusHandler;
+import org.eclipse.mylar.internal.tasks.core.RepositoryTaskHandleUtil;
import org.eclipse.mylar.internal.trac.core.TracQueryHit;
import org.eclipse.mylar.internal.trac.core.TracRepositoryQuery;
import org.eclipse.mylar.internal.trac.core.TracTask;
@@ -85,7 +86,10 @@ public class TracTaskExternalizer extends DelegatingTaskExternalizer {
throw new TaskExternalizationException("Description not stored for task");
}
- TracTask task = new TracTask(handle, label, false);
+ String repositoryUrl = RepositoryTaskHandleUtil.getRepositoryUrl(handle);
+ String taskId = RepositoryTaskHandleUtil.getTaskId(handle);
+
+ TracTask task = new TracTask(repositoryUrl, taskId, label, false);
readTaskInfo(task, taskList, element, parent, category);
return task;
}
@@ -201,7 +205,10 @@ public class TracTaskExternalizer extends DelegatingTaskExternalizer {
throw new TaskExternalizationException("Handle not stored for bug report");
}
- TracQueryHit hit = new TracQueryHit(taskList, handle);
+ String repositoryUrl = RepositoryTaskHandleUtil.getRepositoryUrl(handle);
+ String taskId = RepositoryTaskHandleUtil.getTaskId(handle);
+
+ TracQueryHit hit = new TracQueryHit(taskList, repositoryUrl, "", taskId);
// TODO move to DelegationTaskExternalizer
if (element.hasAttribute(KEY_COMPLETE)
&& element.getAttribute(KEY_COMPLETE).compareTo(VAL_TRUE) == 0) {
diff --git a/org.eclipse.mylyn.trac.ui/src/org/eclipse/mylyn/internal/trac/ui/editor/TracTaskEditorFactory.java b/org.eclipse.mylyn.trac.ui/src/org/eclipse/mylyn/internal/trac/ui/editor/TracTaskEditorFactory.java
index cf7a53c27..1271011b2 100644
--- a/org.eclipse.mylyn.trac.ui/src/org/eclipse/mylyn/internal/trac/ui/editor/TracTaskEditorFactory.java
+++ b/org.eclipse.mylyn.trac.ui/src/org/eclipse/mylyn/internal/trac/ui/editor/TracTaskEditorFactory.java
@@ -69,7 +69,7 @@ public class TracTaskEditorFactory implements ITaskEditorFactory {
TaskRepository repository = TasksUiPlugin.getRepositoryManager().getRepository(TracCorePlugin.REPOSITORY_KIND,
tracTask.getRepositoryUrl());
try {
- return new RepositoryTaskEditorInput(repository, tracTask.getHandleIdentifier(), tracTask.getUrl());
+ return new RepositoryTaskEditorInput(repository, tracTask.getHandleIdentifier(), tracTask.getTaskUrl());
} catch (Exception e) {
MylarStatusHandler.fail(e, "Could not create Trac editor input", true);
}

Back to the top