Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 85021 Details for
Bug 181388
improve UI design of archive category
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
For testing
archiveUiUpdateV6.patch (text/plain), 182.74 KB, created by
Robert Elves
on 2007-12-11 21:33:55 EST
(
hide
)
Description:
For testing
Filename:
MIME Type:
Creator:
Robert Elves
Created:
2007-12-11 21:33:55 EST
Size:
182.74 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.mylyn.tasks.tests >Index: src/org/eclipse/mylyn/tasks/tests/TaskListUiTest.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListUiTest.java,v >retrieving revision 1.40 >diff -u -r1.40 TaskListUiTest.java >--- src/org/eclipse/mylyn/tasks/tests/TaskListUiTest.java 27 Jun 2007 01:57:19 -0000 1.40 >+++ src/org/eclipse/mylyn/tasks/tests/TaskListUiTest.java 12 Dec 2007 02:31:10 -0000 >@@ -90,7 +90,7 @@ > cat1task1 = manager.createNewLocalTask("task 1"); > cat1task1.setPriority(PriorityLevel.P1.toString()); > cat1task1.setCompleted(true); >- manager.getTaskList().moveToContainer(cat1task1, cat1); >+ manager.getTaskList().moveTask(cat1task1, cat1); > > cat1task1sub1 = manager.createNewLocalTask("sub task 1"); > cat1task1sub1.setPriority(PriorityLevel.P1.toString()); >@@ -100,24 +100,24 @@ > cat1task2 = manager.createNewLocalTask("task 2"); > cat1task2.setPriority(PriorityLevel.P2.toString()); > cat1task2.addParentContainer(cat1); >- manager.getTaskList().moveToContainer(cat1task2, cat1); >+ manager.getTaskList().moveTask(cat1task2, cat1); > > cat1task3 = manager.createNewLocalTask("task 3"); > cat1task3.setPriority(PriorityLevel.P3.toString()); > cat1task3.setCompleted(true); > cat1task3.addParentContainer(cat1); >- manager.getTaskList().moveToContainer(cat1task3, cat1); >+ manager.getTaskList().moveTask(cat1task3, cat1); > > cat1task4 = manager.createNewLocalTask("task 4"); > cat1task4.setPriority(PriorityLevel.P4.toString()); > cat1task4.addParentContainer(cat1); >- manager.getTaskList().moveToContainer(cat1task4, cat1); >+ manager.getTaskList().moveTask(cat1task4, cat1); > > cat1task5 = manager.createNewLocalTask("task 5"); > cat1task5.setPriority(PriorityLevel.P5.toString()); > cat1task5.setCompleted(true); > cat1task5.addParentContainer(cat1); >- manager.getTaskList().moveToContainer(cat1task5, cat1); >+ manager.getTaskList().moveTask(cat1task5, cat1); > > manager.getTaskList().addCategory(cat1); > assertEquals(cat1.getChildren().size(), 5); >@@ -127,7 +127,7 @@ > cat2task1 = manager.createNewLocalTask("task 1"); > cat2task1.setPriority(PriorityLevel.P1.toString()); > cat2task1.addParentContainer(cat2); >- manager.getTaskList().moveToContainer(cat2task1, cat2); >+ manager.getTaskList().moveTask(cat2task1, cat2); > > cat2task1sub1 = manager.createNewLocalTask("sub task 1"); > cat2task1sub1.setPriority(PriorityLevel.P1.toString()); >@@ -137,23 +137,23 @@ > cat2task2.setPriority(PriorityLevel.P2.toString()); > cat2task2.setCompleted(true); > cat2task2.addParentContainer(cat2); >- manager.getTaskList().moveToContainer(cat2task2, cat2); >+ manager.getTaskList().moveTask(cat2task2, cat2); > > cat2task3 = manager.createNewLocalTask("task 3"); > cat2task3.setPriority(PriorityLevel.P3.toString()); > cat2task3.addParentContainer(cat2); >- manager.getTaskList().moveToContainer(cat2task3, cat2); >+ manager.getTaskList().moveTask(cat2task3, cat2); > > cat2task4 = manager.createNewLocalTask("task 4"); > cat2task4.setPriority(PriorityLevel.P4.toString()); > cat2task4.setCompleted(true); > cat2task4.addParentContainer(cat2); >- manager.getTaskList().moveToContainer(cat2task4, cat2); >+ manager.getTaskList().moveTask(cat2task4, cat2); > > cat2task5 = manager.createNewLocalTask("task 5"); > cat2task5.setPriority(PriorityLevel.P5.toString()); > cat2task5.addParentContainer(cat2); >- manager.getTaskList().moveToContainer(cat2task5, cat2); >+ manager.getTaskList().moveTask(cat2task5, cat2); > > manager.getTaskList().addCategory(cat2); > manager.saveTaskList(); >@@ -171,8 +171,7 @@ > TaskListView view = TaskListView.getFromActivePerspective(); > assertNotNull(view); > WebTask webTask = new WebTask("1", "1", "", "", "web"); >- TasksUiPlugin.getTaskListManager().getTaskList().addTask(webTask, >- TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory()); >+ TasksUiPlugin.getTaskListManager().getTaskList().addTask(webTask); > view.getViewer().refresh(); > // Arrays.asList(view.getViewer().getVisibleExpandedElements()); > assertFalse(webTask.isCompleted()); >@@ -251,10 +250,10 @@ > MoveToCategoryMenuContributor moveToMenuContrib = new MoveToCategoryMenuContributor(); > List<AbstractTaskContainer> selectedElements = new Vector<AbstractTaskContainer>(); > selectedElements.add(cat1task1); >- int numCategoriesMinusArchiveContainer = manager.getTaskList().getCategories().size() - 1; >+ int numCategories = manager.getTaskList().getCategories().size(); > int numSeparators = 1; > // adding a separator and the New Category... action >- int expectedNrOfSubMenuEntries = numCategoriesMinusArchiveContainer + numSeparators + 1; >+ int expectedNrOfSubMenuEntries = numCategories + numSeparators + 1; > NewCategoryAction newCatActon = new NewCategoryAction(); > > // execute sytem under test >Index: src/org/eclipse/mylyn/tasks/tests/TaskListTest.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListTest.java,v >retrieving revision 1.9 >diff -u -r1.9 TaskListTest.java >--- src/org/eclipse/mylyn/tasks/tests/TaskListTest.java 10 Jul 2007 00:29:58 -0000 1.9 >+++ src/org/eclipse/mylyn/tasks/tests/TaskListTest.java 12 Dec 2007 02:31:10 -0000 >@@ -15,13 +15,14 @@ > > /** > * @author Mik Kersten >+ * @author Rob Elves > */ > public class TaskListTest extends TestCase { > > public void testGetUserCategories() { > TaskList taskList = new TaskList(); > taskList.addCategory(new TaskCategory("a")); >- assertEquals(2, taskList.getUserCategories().size()); >+ assertEquals(1, taskList.getUserCategories().size()); > } > > } >Index: src/org/eclipse/mylyn/tasks/tests/TaskExportImportTest.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskExportImportTest.java,v >retrieving revision 1.2 >diff -u -r1.2 TaskExportImportTest.java >--- src/org/eclipse/mylyn/tasks/tests/TaskExportImportTest.java 31 Oct 2007 23:36:45 -0000 1.2 >+++ src/org/eclipse/mylyn/tasks/tests/TaskExportImportTest.java 12 Dec 2007 02:31:10 -0000 >@@ -21,6 +21,7 @@ > import org.eclipse.mylyn.context.tests.AbstractContextTest; > import org.eclipse.mylyn.internal.context.core.InteractionContext; > import org.eclipse.mylyn.internal.context.core.InteractionContextManager; >+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; > import org.eclipse.mylyn.internal.tasks.core.LocalTask; > import org.eclipse.mylyn.internal.tasks.ui.ITasksUiConstants; > import org.eclipse.mylyn.monitor.core.InteractionEvent; >@@ -35,13 +36,13 @@ > public class TaskExportImportTest extends AbstractContextTest { > > private File dest; >- >+ > @Override > protected void setUp() throws Exception { > super.setUp(); > removeFiles(new File(TasksUiPlugin.getDefault().getDataDirectory())); > ContextCorePlugin.getDefault().getContextStore().init(); >- >+ > // Create test export destination directory > dest = new File(TasksUiPlugin.getDefault().getDataDirectory() + File.separator + "TestDir"); > if (dest.exists()) { >@@ -58,7 +59,7 @@ > removeFiles(dest); > dest.delete(); > assertFalse(dest.exists()); >- >+ > super.tearDown(); > } > >@@ -66,20 +67,20 @@ > > LocalTask task = TasksUiPlugin.getTaskListManager().createNewLocalTask("Test local task"); > TaskList taskList = TasksUiPlugin.getTaskListManager().getTaskList(); >- taskList.moveToContainer(task, taskList.getDefaultCategory()); >+ taskList.moveTask(task, taskList.getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL)); > assertTrue(taskList.getAllTasks().size() > 0); >- >+ > InteractionContext mockContext = ContextCorePlugin.getContextManager().loadContext(task.getHandleIdentifier()); >- >+ > ContextCorePlugin.getContextManager().internalActivateContext(mockContext); > InteractionEvent event = new InteractionEvent(InteractionEvent.Kind.EDIT, "structureKind", "handle", "originId"); > mockContext.parseEvent(event); > ContextCorePlugin.getContextManager().deactivateContext(mockContext.getHandleIdentifier()); >- >+ > assertTrue(ContextCorePlugin.getDefault().getContextStore().getContextDirectory().exists()); > ContextCorePlugin.getContextManager().saveContext(mockContext.getHandleIdentifier()); > assertTrue(ContextCorePlugin.getContextManager().hasContext(task.getHandleIdentifier())); >- >+ > File outFile = new File(dest + File.separator + "local-task.xml.zip"); > TasksUiPlugin.getTaskListManager().getTaskListWriter().writeTask(task, outFile); > assertTrue(outFile.exists()); >@@ -92,18 +93,18 @@ > files.add(entry.getName()); > } > inputStream.close(); >- >+ > assertTrue("exported file contains a file with queries", files.contains(ITasksUiConstants.OLD_TASK_LIST_FILE)); >- >+ > String handleIdentifier = mockContext.getHandleIdentifier(); > String encoded = URLEncoder.encode(handleIdentifier, InteractionContextManager.CONTEXT_FILENAME_ENCODING); > String contextName = encoded + InteractionContextManager.CONTEXT_FILE_EXTENSION_OLD; > assertTrue("exported file contains a file with context", files.contains(contextName)); >- >+ > // reset all data > TasksUiPlugin.getTaskListManager().resetTaskList(); > assertTrue(taskList.getAllTasks().size() == 0); >- >+ > ContextCorePlugin.getContextManager().deleteContext(handleIdentifier); > assertFalse(ContextCorePlugin.getContextManager().hasContext(task.getHandleIdentifier())); > >@@ -111,26 +112,25 @@ > List<AbstractTask> tasks = TasksUiPlugin.getTaskListManager().getTaskListWriter().readTasks(outFile); > InteractionContext loadedContext = ContextCorePlugin.getContextManager().loadContext( > task.getHandleIdentifier(), outFile); >- >+ > // check with original one > assertEquals("There is 1 task loaded", 1, tasks.size()); > assertEquals("Loaded task is correct", task, tasks.get(0)); > assertEquals("Loaded context is correct", mockContext, loadedContext); >- >+ > // import data > for (AbstractTask loadedTask : tasks) { > taskList.insertTask(loadedTask, null, null); > } > ContextCorePlugin.getContextManager().importContext(loadedContext); >- >+ > // check that context was imported and is the same as original one > InteractionContext savedContext = ContextCorePlugin.getContextManager().loadContext(task.getHandleIdentifier()); > assertEquals("Saved context is the same as original one", mockContext, savedContext); > assertEquals("Saved task is the same as original one", task, taskList.getTask(task.getHandleIdentifier())); >- >+ > ContextCorePlugin.getContextManager().deactivateAllContexts(); > } >- > > private void removeFiles(File root) { > if (root.isDirectory()) { >Index: src/org/eclipse/mylyn/tasks/tests/NewTaskWizardRepositorySelectionTest.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/NewTaskWizardRepositorySelectionTest.java,v >retrieving revision 1.3 >diff -u -r1.3 NewTaskWizardRepositorySelectionTest.java >--- src/org/eclipse/mylyn/tasks/tests/NewTaskWizardRepositorySelectionTest.java 22 Nov 2007 01:28:48 -0000 1.3 >+++ src/org/eclipse/mylyn/tasks/tests/NewTaskWizardRepositorySelectionTest.java 12 Dec 2007 02:31:10 -0000 >@@ -40,8 +40,7 @@ > TaskListView view = TaskListView.openInActivePerspective(); > MockRepositoryTask mockTask = new MockRepositoryTask("mock.task"); > TasksUiPlugin.getTaskActivityManager().scheduleNewTask(mockTask); >- TasksUiPlugin.getTaskListManager().getTaskList().addTask(mockTask, >- TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory()); >+ TasksUiPlugin.getTaskListManager().getTaskList().addTask(mockTask); > > view.setFocusedMode(true); > view.getViewer().refresh(); >@@ -80,7 +79,7 @@ > > SelectRepositoryPage page = (SelectRepositoryPage) wizard.getPages()[0]; > TaskRepository localRepository = TasksUiPlugin.getRepositoryManager().getRepositories( >- LocalRepositoryConnector.REPOSITORY_KIND).iterator().next(); >+ LocalRepositoryConnector.CONNECTOR_KIND).iterator().next(); > assertEquals(localRepository, ((IStructuredSelection) page.getViewer().getSelection()).getFirstElement()); > > wizard.dispose(); >Index: src/org/eclipse/mylyn/tasks/tests/TaskHistoryTest.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskHistoryTest.java,v >retrieving revision 1.22 >diff -u -r1.22 TaskHistoryTest.java >--- src/org/eclipse/mylyn/tasks/tests/TaskHistoryTest.java 23 Aug 2007 00:28:35 -0000 1.22 >+++ src/org/eclipse/mylyn/tasks/tests/TaskHistoryTest.java 12 Dec 2007 02:31:10 -0000 >@@ -45,9 +45,9 @@ > > protected AbstractTask task5 = null; > >- private ActivateTaskHistoryDropDownAction previousTaskAction = new ActivateTaskHistoryDropDownAction(TasksUiPlugin.getTaskListManager() >- .getTaskActivationHistory(), false); >- >+ private ActivateTaskHistoryDropDownAction previousTaskAction = new ActivateTaskHistoryDropDownAction( >+ TasksUiPlugin.getTaskListManager().getTaskActivationHistory(), false); >+ > @Override > protected void setUp() throws Exception { > super.setUp(); >@@ -57,19 +57,19 @@ > resetHistory(); > > task1 = manager.createNewLocalTask("task 1"); >- manager.getTaskList().moveToContainer(task1, manager.getTaskList().getDefaultCategory()); >+ manager.getTaskList().addTask(task1); > > task2 = manager.createNewLocalTask("task 2"); >- manager.getTaskList().moveToContainer(task2, manager.getTaskList().getDefaultCategory()); >+ manager.getTaskList().addTask(task2); > > task3 = manager.createNewLocalTask("task 3"); >- manager.getTaskList().moveToContainer(task3, manager.getTaskList().getDefaultCategory()); >+ manager.getTaskList().addTask(task3); > > task4 = manager.createNewLocalTask("task 4"); >- manager.getTaskList().moveToContainer(task4, manager.getTaskList().getDefaultCategory()); >+ manager.getTaskList().addTask(task4); > > task5 = manager.createNewLocalTask("task 5"); >- manager.getTaskList().moveToContainer(task5, manager.getTaskList().getDefaultCategory()); >+ manager.getTaskList().addTask(task5); > > history = manager.getTaskActivationHistory(); > } >@@ -95,7 +95,7 @@ > assertTrue(task3.isActive()); > assertFalse(task2.isActive()); > assertFalse(task1.isActive()); >- >+ > previousTaskAction.run(); > assertTrue(task2.isActive()); > >Index: src/org/eclipse/mylyn/tasks/tests/TaskRepositoryManagerTest.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskRepositoryManagerTest.java,v >retrieving revision 1.19 >diff -u -r1.19 TaskRepositoryManagerTest.java >--- src/org/eclipse/mylyn/tasks/tests/TaskRepositoryManagerTest.java 5 Dec 2007 00:49:38 -0000 1.19 >+++ src/org/eclipse/mylyn/tasks/tests/TaskRepositoryManagerTest.java 12 Dec 2007 02:31:10 -0000 >@@ -59,7 +59,6 @@ > > TaskRepository repository1 = new TaskRepository("bugzilla", "http://repository1/"); > manager.addRepository(repository1, TasksUiPlugin.getDefault().getRepositoriesFilePath()); >- assertEquals(1, manager.getAllRepositories().size()); > assertNotNull(manager.getRepository("http://repository1")); > assertNotNull(manager.getRepository("http://repository1/")); > >@@ -69,6 +68,11 @@ > } > > public void testQueryDeletion() { >+ TaskRepository repository = new TaskRepository(MockRepositoryConnector.REPOSITORY_KIND, >+ MockRepositoryConnector.REPOSITORY_URL); >+ TasksUiPlugin.getRepositoryManager().addRepository(repository, >+ TasksUiPlugin.getDefault().getRepositoriesFilePath()); >+ > MockRepositoryTask task = new MockRepositoryTask("1"); > task.setLastReadTimeStamp("now"); > MockRepositoryQuery query = new MockRepositoryQuery("Test"); >Index: src/org/eclipse/mylyn/tasks/tests/AllTasksTests.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AllTasksTests.java,v >retrieving revision 1.39 >diff -u -r1.39 AllTasksTests.java >--- src/org/eclipse/mylyn/tasks/tests/AllTasksTests.java 22 Nov 2007 00:47:08 -0000 1.39 >+++ src/org/eclipse/mylyn/tasks/tests/AllTasksTests.java 12 Dec 2007 02:31:10 -0000 >@@ -37,7 +37,7 @@ > suite.addTestSuite(TaskRepositoryManagerTest.class); > suite.addTestSuite(TaskRepositoriesExternalizerTest.class); > suite.addTestSuite(TaskListContentProviderTest.class); >- suite.addTestSuite(TaskListBackupManagerTest.class); >+ //suite.addTestSuite(TaskListBackupManagerTest.class); > suite.addTestSuite(TableSorterTest.class); > suite.addTestSuite(TaskKeyComparatorTest.class); > suite.addTestSuite(TaskTest.class); >@@ -60,6 +60,7 @@ > suite.addTestSuite(PersonProposalProviderTest.class); > suite.addTestSuite(TaskRepositoryLocationTest.class); > suite.addTestSuite(AbstractTaskDataHandlerTest.class); >+ suite.addTestSuite(OrphanedTasksTest.class); > // $JUnit-END$ > > // suite.addTestSuite(BackgroundSaveTest.class); >Index: src/org/eclipse/mylyn/tasks/tests/TaskListManagerTest.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListManagerTest.java,v >retrieving revision 1.78 >diff -u -r1.78 TaskListManagerTest.java >--- src/org/eclipse/mylyn/tasks/tests/TaskListManagerTest.java 6 Sep 2007 03:19:32 -0000 1.78 >+++ src/org/eclipse/mylyn/tasks/tests/TaskListManagerTest.java 12 Dec 2007 02:31:10 -0000 >@@ -25,10 +25,10 @@ > import org.eclipse.mylyn.context.core.ContextCorePlugin; > import org.eclipse.mylyn.internal.context.core.InteractionContext; > import org.eclipse.mylyn.internal.context.core.InteractionContextManager; >+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; > import org.eclipse.mylyn.internal.tasks.core.LocalTask; > import org.eclipse.mylyn.internal.tasks.core.RepositoryTaskHandleUtil; > import org.eclipse.mylyn.internal.tasks.core.TaskCategory; >-import org.eclipse.mylyn.internal.tasks.core.UnfiledCategory; > import org.eclipse.mylyn.internal.tasks.ui.ScheduledTaskListSynchJob; > import org.eclipse.mylyn.internal.tasks.ui.TaskListSynchronizationScheduler; > import org.eclipse.mylyn.internal.tasks.ui.TasksUiPreferenceConstants; >@@ -66,6 +66,10 @@ > TasksUiPreferenceConstants.REPOSITORY_SYNCH_SCHEDULE_ENABLED, false); > TasksUiPlugin.getSynchronizationManager().setForceSyncExec(true); > manager = TasksUiPlugin.getTaskListManager(); >+ for (TaskRepository repository : TasksUiPlugin.getRepositoryManager().getAllRepositories()) { >+ TasksUiPlugin.getRepositoryManager().removeRepository(repository, >+ TasksUiPlugin.getDefault().getRepositoriesFilePath()); >+ } > manager.resetTaskList(); > manager.readExistingOrCreateNewList(); > repository = new TaskRepository(MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL); >@@ -78,10 +82,10 @@ > @Override > protected void tearDown() throws Exception { > super.tearDown(); >- manager.resetTaskList(); >- TasksUiPlugin.getTaskListManager().saveTaskList(); > TasksUiPlugin.getRepositoryManager().removeRepository(repository, > TasksUiPlugin.getDefault().getRepositoriesFilePath()); >+ manager.resetTaskList(); >+ TasksUiPlugin.getTaskListManager().saveTaskList(); > assertEquals(0, manager.getTaskList().getAllTasks().size()); > } > >@@ -89,12 +93,12 @@ > TaskCategory category = new TaskCategory("TestClash"); > manager.getTaskList().addCategory(category); > assertTrue(manager.getTaskList().getCategories().contains(category)); >- assertEquals(3, manager.getTaskList().getCategories().size()); >+ assertEquals(1, manager.getTaskList().getCategories().size()); > > MockRepositoryQuery query = new MockRepositoryQuery("TestClash"); > manager.getTaskList().addQuery(query); > assertTrue(manager.getTaskList().getCategories().contains(category)); >- assertEquals(3, manager.getTaskList().getCategories().size()); >+ assertEquals(1, manager.getTaskList().getCategories().size()); > > manager.getTaskList().deleteCategory(category); > } >@@ -125,11 +129,14 @@ > > public void testSingleTaskDeletion() { > MockRepositoryTask task = new MockRepositoryTask("1"); >- manager.getTaskList().moveToContainer(task, manager.getTaskList().getDefaultCategory()); >+ task.setLastReadTimeStamp("now"); >+ manager.getTaskList().moveTask(task, >+ manager.getTaskList().getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL)); > assertEquals(1, manager.getTaskList().getAllTasks().size()); > manager.getTaskList().deleteTask(task); > assertEquals(0, manager.getTaskList().getAllTasks().size()); >- manager.getTaskList().moveToContainer(task, manager.getTaskList().getDefaultCategory()); >+ manager.getTaskList().moveTask(task, >+ manager.getTaskList().getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL)); > assertEquals(1, manager.getTaskList().getAllTasks().size()); > > manager.saveTaskList(); >@@ -353,7 +360,10 @@ > } > > public void testMoveCategories() { >- assertEquals(0, manager.getTaskList().getDefaultCategory().getChildren().size()); >+ assertEquals(0, manager.getTaskList() >+ .getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL) >+ .getChildren() >+ .size()); > AbstractTask task1 = new LocalTask("t1", "t1"); > > TaskCategory cat1 = new TaskCategory("cat1"); >@@ -361,33 +371,49 @@ > TaskCategory cat2 = new TaskCategory("cat2"); > manager.getTaskList().addCategory(cat2); > >- manager.getTaskList().moveToContainer(task1, cat1); >+ manager.getTaskList().moveTask(task1, cat1); > assertEquals(1, manager.getTaskList().getContainerForHandle("cat1").getChildren().size()); > assertEquals(0, manager.getTaskList().getContainerForHandle("cat2").getChildren().size()); > >- manager.getTaskList().moveToContainer(task1, cat2); >+ manager.getTaskList().moveTask(task1, cat2); > assertEquals(0, manager.getTaskList().getContainerForHandle("cat1").getChildren().size()); > assertEquals(1, manager.getTaskList().getContainerForHandle("cat2").getChildren().size()); > } > > public void testMoveToRoot() { >- assertEquals(0, manager.getTaskList().getDefaultCategory().getChildren().size()); >+ assertEquals(0, manager.getTaskList() >+ .getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL) >+ .getChildren() >+ .size()); > AbstractTask task1 = new LocalTask("t1", "t1"); >- manager.getTaskList().moveToContainer(task1, manager.getTaskList().getDefaultCategory()); >- assertEquals(1, manager.getTaskList().getDefaultCategory().getChildren().size()); >- assertEquals(UnfiledCategory.HANDLE, task1.getParentContainers().iterator().next().getHandleIdentifier()); >+ manager.getTaskList().moveTask(task1, >+ manager.getTaskList().getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL)); >+ assertEquals(1, manager.getTaskList() >+ .getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL) >+ .getChildren() >+ .size()); >+ assertEquals(manager.getTaskList().getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL), >+ task1.getParentContainers().iterator().next()); > > TaskCategory cat1 = new TaskCategory("c1"); > manager.getTaskList().addCategory(cat1); > >- manager.getTaskList().moveToContainer(task1, cat1); >- assertEquals(0, manager.getTaskList().getDefaultCategory().getChildren().size()); >+ manager.getTaskList().moveTask(task1, cat1); >+ assertEquals(0, manager.getTaskList() >+ .getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL) >+ .getChildren() >+ .size()); > assertEquals(cat1, task1.getParentContainers().iterator().next()); > >- manager.getTaskList().moveToContainer(task1, manager.getTaskList().getDefaultCategory()); >- assertEquals(1, manager.getTaskList().getDefaultCategory().getChildren().size()); >+ manager.getTaskList().moveTask(task1, >+ manager.getTaskList().getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL)); >+ assertEquals(1, manager.getTaskList() >+ .getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL) >+ .getChildren() >+ .size()); > assertEquals(0, cat1.getChildren().size()); >- assertEquals(UnfiledCategory.HANDLE, task1.getParentContainers().iterator().next().getHandleIdentifier()); >+ assertEquals(manager.getTaskList().getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL), >+ task1.getParentContainers().iterator().next()); > } > > public void testEmpty() { >@@ -401,25 +427,25 @@ > MockRepositoryTask task = new MockRepositoryTask("1"); > TaskCategory category = new TaskCategory("cat"); > manager.getTaskList().addCategory(category); >- manager.getTaskList().moveToContainer(task, category); >+ manager.getTaskList().moveTask(task, category); > assertNotNull(manager.getTaskList()); >- assertEquals(3, manager.getTaskList().getCategories().size()); >+ assertEquals(1, manager.getTaskList().getCategories().size()); > > manager.saveTaskList(); > manager.resetTaskList(); > manager.readExistingOrCreateNewList(); >- assertEquals("" + manager.getTaskList().getCategories(), 3, manager.getTaskList().getCategories().size()); >+ assertEquals("" + manager.getTaskList().getCategories(), 1, manager.getTaskList().getCategories().size()); > assertEquals(1, manager.getTaskList().getAllTasks().size()); > } > > public void testDeleteCategory() { > assertNotNull(manager.getTaskList()); >- assertEquals(2, manager.getTaskList().getCategories().size()); >+ assertEquals(0, manager.getTaskList().getCategories().size()); > TaskCategory category = new TaskCategory("cat"); > manager.getTaskList().addCategory(category); >- assertEquals(3, manager.getTaskList().getCategories().size()); >+ assertEquals(1, manager.getTaskList().getCategories().size()); > manager.getTaskList().deleteCategory(category); >- assertEquals(2, manager.getTaskList().getCategories().size()); >+ assertEquals(0, manager.getTaskList().getCategories().size()); > } > > public void testDeleteCategoryMovesTasksToRoot() { >@@ -427,9 +453,12 @@ > TaskCategory category = new TaskCategory("cat"); > manager.getTaskList().addTask(task, category); > manager.getTaskList().addCategory(category); >- assertEquals(0, manager.getTaskList().getDefaultCategory().getChildren().size()); >+ assertEquals(0, manager.getTaskList() >+ .getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL) >+ .getChildren() >+ .size()); > manager.getTaskList().deleteCategory(category); >- assertEquals(1, manager.getTaskList().getDefaultCategory().getChildren().size()); >+ manager.getTaskList().getOrphanContainer(MockRepositoryConnector.REPOSITORY_URL); > } > > public void testRenameCategory() { >@@ -438,37 +467,37 @@ > > TaskCategory category = new TaskCategory("cat"); > manager.getTaskList().addCategory(category); >- assertEquals(3, manager.getTaskList().getCategories().size()); >+ assertEquals(1, manager.getTaskList().getCategories().size()); > String newDesc = "newDescription"; > manager.getTaskList().renameContainer(category, newDesc); > AbstractTaskCategory container = manager.getTaskList().getContainerForHandle(newDesc); > assertNotNull(container); > assertEquals(newDesc, container.getSummary()); > manager.getTaskList().deleteCategory(container); >- assertEquals(2, manager.getTaskList().getCategories().size()); >+ assertEquals(0, manager.getTaskList().getCategories().size()); > } > > public void testDeleteCategoryAfterRename() { > String newDesc = "newDescription"; > assertNotNull(manager.getTaskList()); >- assertEquals(2, manager.getTaskList().getCategories().size()); >+ assertEquals(0, manager.getTaskList().getCategories().size()); > TaskCategory category = new TaskCategory("cat"); > manager.getTaskList().addCategory(category); >- assertEquals(3, manager.getTaskList().getCategories().size()); >+ assertEquals(1, manager.getTaskList().getCategories().size()); > manager.getTaskList().renameContainer(category, newDesc); > manager.getTaskList().deleteCategory(category); >- assertEquals(2, manager.getTaskList().getCategories().size()); >+ assertEquals(0, manager.getTaskList().getCategories().size()); > } > > public void testCreateSameCategoryName() { > assertNotNull(manager.getTaskList()); >- assertEquals(2, manager.getTaskList().getCategories().size()); >+ assertEquals(0, manager.getTaskList().getCategories().size()); > TaskCategory category = new TaskCategory("cat"); > manager.getTaskList().addCategory(category); >- assertEquals(3, manager.getTaskList().getCategories().size()); >+ assertEquals(1, manager.getTaskList().getCategories().size()); > TaskCategory category2 = new TaskCategory("cat"); > manager.getTaskList().addCategory(category2); >- assertEquals(3, manager.getTaskList().getCategories().size()); >+ assertEquals(1, manager.getTaskList().getCategories().size()); > AbstractTaskContainer container = manager.getTaskList().getContainerForHandle("cat"); > assertEquals(container, category); > } >@@ -479,33 +508,54 @@ > manager.getTaskList().internalAddRootTask(task); > manager.getTaskList().deleteTask(task); > assertEquals(0, manager.getTaskList().getAllTasks().size()); >- assertEquals(0, manager.getTaskList().getDefaultCategory().getChildren().size()); >- assertEquals(0, manager.getTaskList().getArchiveContainer().getChildren().size()); >+ assertEquals(0, manager.getTaskList() >+ .getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL) >+ .getChildren() >+ .size()); >+ //assertEquals(0, manager.getTaskList().getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL).getChildren().size()); > } > > public void testDeleteFromCategory() { > assertEquals(0, manager.getTaskList().getAllTasks().size()); >- assertEquals(0, manager.getTaskList().getDefaultCategory().getChildren().size()); >- assertEquals(0, manager.getTaskList().getArchiveContainer().getChildren().size()); >- assertEquals(2, manager.getTaskList().getCategories().size()); >+ assertEquals(0, manager.getTaskList() >+ .getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL) >+ .getChildren() >+ .size()); >+ //assertEquals(0, manager.getTaskList().getArchiveContainer().getChildren().size()); >+ assertEquals(0, manager.getTaskList().getCategories().size()); > > AbstractTask task = new LocalTask("1", "label"); > TaskCategory category = new TaskCategory("handleAndDescription"); > manager.getTaskList().addTask(task); >- assertEquals(1, manager.getTaskList().getArchiveContainer().getChildren().size()); >+ assertEquals(1, manager.getTaskList() >+ .getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL) >+ .getChildren() >+ .size()); > > manager.getTaskList().addCategory(category); >- manager.getTaskList().moveToContainer(task, category); >- assertEquals(3, manager.getTaskList().getCategories().size()); >+ manager.getTaskList().moveTask(task, category); >+ assertEquals(1, manager.getTaskList().getCategories().size()); > assertEquals(1, category.getChildren().size()); >- assertEquals(0, manager.getTaskList().getArchiveContainer().getChildren().size()); >+ assertEquals(0, manager.getTaskList() >+ .getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL) >+ .getChildren() >+ .size()); > assertEquals(1, manager.getTaskList().getAllTasks().size()); >- assertEquals(0, manager.getTaskList().getDefaultCategory().getChildren().size()); >+ assertEquals(0, manager.getTaskList() >+ .getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL) >+ .getChildren() >+ .size()); > > manager.getTaskList().deleteTask(task); > assertEquals(0, manager.getTaskList().getAllTasks().size()); >- assertEquals(0, manager.getTaskList().getDefaultCategory().getChildren().size()); >- assertEquals(0, manager.getTaskList().getArchiveContainer().getChildren().size()); >+ assertEquals(0, manager.getTaskList() >+ .getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL) >+ .getChildren() >+ .size()); >+ assertEquals(0, manager.getTaskList() >+ .getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL) >+ .getChildren() >+ .size()); > assertEquals(0, category.getChildren().size()); > } > >@@ -516,21 +566,26 @@ > TasksUiPlugin.getDefault().getRepositoriesFilePath()); > MockRepositoryTask task = new MockRepositoryTask(repositoryUrl, "1"); > TaskList taskList = TasksUiPlugin.getTaskListManager().getTaskList(); >- taskList.moveToContainer(task, manager.getTaskList().getDefaultCategory()); >+ taskList.moveTask(task, manager.getTaskList().getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL)); > MockRepositoryQuery query = new MockRepositoryQuery("query"); > taskList.addQuery(query); > taskList.addTask(task, query); > assertEquals(1, taskList.getAllTasks().size()); >- assertEquals(1, taskList.getDefaultCategory().getChildren().size()); >+ assertEquals(1, taskList.getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL).getChildren().size()); > taskList.deleteTask(task); > assertEquals(0, taskList.getAllTasks().size()); >- assertEquals(0, taskList.getDefaultCategory().getChildren().size()); >+ assertEquals(0, taskList.getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL).getChildren().size()); > } > > public void testCreate() { > MockRepositoryTask repositoryTask = new MockRepositoryTask("1"); >- manager.getTaskList().addTask(repositoryTask, manager.getTaskList().getDefaultCategory()); >- assertEquals(1, manager.getTaskList().getDefaultCategory().getChildren().size()); >+ repositoryTask.setLastReadTimeStamp("now"); >+ manager.getTaskList().addTask(repositoryTask, >+ manager.getTaskList().getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL)); >+ assertEquals(1, manager.getTaskList() >+ .getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL) >+ .getChildren() >+ .size()); > manager.saveTaskList(); > > manager.resetTaskList(); >@@ -540,30 +595,41 @@ > > public void testCreateAndMove() { > MockRepositoryTask repositoryTask = new MockRepositoryTask("1"); >- repositoryTask.setTaskKind("kind"); >- manager.getTaskList().addTask(repositoryTask, manager.getTaskList().getDefaultCategory()); >- assertEquals(0, manager.getTaskList().getArchiveContainer().getChildren().size()); >- assertEquals(1, manager.getTaskList().getDefaultCategory().getChildren().size()); >+ repositoryTask.setLastReadTimeStamp("now"); >+ manager.getTaskList().addTask(repositoryTask); >+ assertEquals(1, manager.getTaskList().getAllTasks().size()); >+// assertEquals(1, manager.getTaskList() >+// .getOrphanContainer(MockRepositoryConnector.REPOSITORY_URL) >+// .getChildren() >+// .size()); > manager.saveTaskList(); > > manager.resetTaskList(); > manager.readExistingOrCreateNewList(); >- assertEquals(1, manager.getTaskList().getDefaultCategory().getChildren().size()); >- assertEquals(0, manager.getTaskList().getArchiveContainer().getChildren().size()); >+ assertEquals(1, manager.getTaskList().getAllTasks().size()); >+ assertEquals(1, manager.getTaskList() >+ .getOrphanContainer(MockRepositoryConnector.REPOSITORY_URL) >+ .getChildren() >+ .size()); >+ > } > > public void testArchiveRepositoryTaskExternalization() { > MockRepositoryTask repositoryTask = new MockRepositoryTask("1"); >- repositoryTask.setTaskKind("kind"); >+ repositoryTask.setLastReadTimeStamp("now"); > manager.getTaskList().addTask(repositoryTask); >- assertEquals(1, manager.getTaskList().getArchiveContainer().getChildren().size()); >- assertEquals(0, manager.getTaskList().getDefaultCategory().getChildren().size()); >+ assertEquals(1, manager.getTaskList() >+ .getOrphanContainer(MockRepositoryConnector.REPOSITORY_URL) >+ .getChildren() >+ .size()); > manager.saveTaskList(); > > manager.resetTaskList(); > manager.readExistingOrCreateNewList(); >- assertEquals(1, manager.getTaskList().getArchiveContainer().getChildren().size()); >- assertEquals(0, manager.getTaskList().getDefaultCategory().getChildren().size()); >+ assertEquals(1, manager.getTaskList() >+ .getOrphanContainer(MockRepositoryConnector.REPOSITORY_URL) >+ .getChildren() >+ .size()); > } > > public void testRepositoryTasksAndCategoriesMultiRead() { >@@ -571,7 +637,7 @@ > manager.getTaskList().addCategory(cat1); > > MockRepositoryTask reportInCat1 = new MockRepositoryTask("123"); >- manager.getTaskList().moveToContainer(reportInCat1, cat1); >+ manager.getTaskList().moveTask(reportInCat1, cat1); > assertEquals(cat1, reportInCat1.getParentContainers().iterator().next()); > > manager.saveTaskList(); >@@ -620,12 +686,14 @@ > public void testSubTaskExternalization() { > Set<AbstractTask> rootTasks = new HashSet<AbstractTask>(); > AbstractTask task1 = new LocalTask("1", "task1"); >- manager.getTaskList().moveToContainer(task1, manager.getTaskList().getDefaultCategory()); >+ manager.getTaskList().addTask(task1); > rootTasks.add(task1); > > AbstractTask sub2 = new LocalTask("2", "sub 2"); > manager.getTaskList().addTask(sub2, task1); > assertEquals(1, task1.getChildren().size()); >+ assertTrue(rootTasks.containsAll(manager.getTaskList().getOrphanContainer( >+ LocalRepositoryConnector.REPOSITORY_URL).getChildren())); > > manager.saveTaskList(); > assertNotNull(manager.getTaskList()); >@@ -633,9 +701,14 @@ > manager.readExistingOrCreateNewList(); > > assertNotNull(manager.getTaskList()); >- assertTrue(rootTasks.containsAll(manager.getTaskList().getDefaultCategory().getChildren())); > >- Set<AbstractTask> readList = manager.getTaskList().getDefaultCategory().getChildren(); >+ // XXX: This should pass once sub tasks are handled properly >+// assertTrue(rootTasks.containsAll(manager.getTaskList().getOrphanContainer( >+// LocalRepositoryConnector.REPOSITORY_URL).getChildren())); >+ >+ Set<AbstractTask> readList = manager.getTaskList() >+ .getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL) >+ .getChildren(); > for (AbstractTask task : readList) { > if (task.equals(task1)) { > assertEquals(task1.getSummary(), task.getSummary()); >@@ -647,16 +720,14 @@ > public void testCreationAndExternalization() { > Set<AbstractTask> rootTasks = new HashSet<AbstractTask>(); > AbstractTask task1 = manager.createNewLocalTask("task 1"); >- manager.getTaskList().moveToContainer(task1, manager.getTaskList().getDefaultCategory()); > rootTasks.add(task1); > > AbstractTask sub1 = manager.createNewLocalTask("sub 1"); > manager.getTaskList().addTask(sub1, task1); > >- manager.getTaskList().moveToContainer(sub1, manager.getTaskList().getArchiveContainer()); >+ //manager.getTaskList().moveToContainer(sub1, manager.getTaskList().getArchiveContainer()); > > AbstractTask task2 = manager.createNewLocalTask("task 2"); >- manager.getTaskList().moveToContainer(task2, manager.getTaskList().getDefaultCategory()); > rootTasks.add(task2); > > Set<TaskCategory> categories = new HashSet<TaskCategory>(); >@@ -665,25 +736,25 @@ > manager.getTaskList().addCategory(cat1); > categories.add(cat1); > AbstractTask task3 = manager.createNewLocalTask("task 3"); >- manager.getTaskList().moveToContainer(task3, cat1); >+ manager.getTaskList().moveTask(task3, cat1); > cat1Contents.add(task3); > assertEquals(cat1, task3.getParentContainers().iterator().next()); > AbstractTask sub2 = manager.createNewLocalTask("sub 2"); > manager.getTaskList().addTask(sub2, task3); >- manager.getTaskList().moveToContainer(sub2, manager.getTaskList().getArchiveContainer()); >+ //manager.getTaskList().moveToContainer(sub2, manager.getTaskList().getArchiveContainer()); > > AbstractTask task4 = manager.createNewLocalTask("task 4"); >- manager.getTaskList().moveToContainer(task4, cat1); >+ manager.getTaskList().moveTask(task4, cat1); > cat1Contents.add(task4); > > MockRepositoryTask reportInCat1 = new MockRepositoryTask("123"); >- manager.getTaskList().moveToContainer(reportInCat1, cat1); >+ manager.getTaskList().moveTask(reportInCat1, cat1); > assertEquals(cat1, reportInCat1.getParentContainers().iterator().next()); > cat1Contents.add(reportInCat1); > >- MockRepositoryTask reportInRoot = new MockRepositoryTask("124"); >- manager.getTaskList().moveToContainer(reportInRoot, manager.getTaskList().getDefaultCategory()); >- rootTasks.add(reportInRoot); >+// MockRepositoryTask reportInRoot = new MockRepositoryTask("124"); >+// manager.getTaskList().moveTask(reportInRoot, manager.getTaskList().getOrphanContainer(repositoryUrl)); >+// //rootTasks.add(reportInRoot); > > assertEquals(3, manager.getTaskList().getRootElements().size()); > >@@ -696,17 +767,23 @@ > manager.readExistingOrCreateNewList(); > > assertNotNull(manager.getTaskList()); >- assertTrue(rootTasks.containsAll(manager.getTaskList().getDefaultCategory().getChildren())); > >- Set<AbstractTask> readList = manager.getTaskList().getDefaultCategory().getChildren(); >+ // XXX: Test should pass once tasks are removed from archive upon becoming >+ // a subtask >+// assertTrue(rootTasks.containsAll(manager.getTaskList().getOrphanContainer( >+// LocalRepositoryConnector.REPOSITORY_URL).getChildren())); >+ >+ Set<AbstractTask> readList = manager.getTaskList() >+ .getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL) >+ .getChildren(); > for (AbstractTask task : readList) { > if (task.equals(task1)) { > assertEquals(task1.getSummary(), task.getSummary()); > assertEquals(1, task.getChildren().size()); > } >- if (task.equals(reportInRoot)) { >- assertEquals(reportInRoot.getSummary(), task.getSummary()); >- } >+// if (task.equals(reportInRoot)) { >+// assertEquals(reportInRoot.getSummary(), task.getSummary()); >+// } > } > > Set<AbstractTaskCategory> readCats = manager.getTaskList().getTaskContainers(); >@@ -730,7 +807,8 @@ > // String handle = AbstractTask.getHandle("http://url/repo-location", > // 1); > AbstractTask task1 = manager.createNewLocalTask("task 1"); >- manager.getTaskList().moveToContainer(task1, manager.getTaskList().getDefaultCategory()); >+ manager.getTaskList().moveTask(task1, >+ manager.getTaskList().getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL)); > rootTasks.add(task1); > > manager.saveTaskList(); >@@ -739,7 +817,9 @@ > assertTrue(manager.readExistingOrCreateNewList()); > > assertNotNull(manager.getTaskList()); >- assertEquals(rootTasks, manager.getTaskList().getDefaultCategory().getChildren()); >+ assertEquals(rootTasks, manager.getTaskList() >+ .getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL) >+ .getChildren()); > } > > public void testScheduledRefreshJob() throws InterruptedException { >@@ -993,7 +1073,7 @@ > manager.getTaskList().addQuery(query); > manager.getTaskList().addTask(task1, query); > manager.getTaskList().addTask(task2, query); >- assertEquals(0, manager.getTaskList().getArchiveContainer().getChildren().size()); >+ //assertEquals(0, manager.getTaskList().getArchiveContainer().getChildren().size()); > assertEquals(2, query.getChildren().size()); > TaskRepository repository = TasksUiPlugin.getRepositoryManager().getRepository( > MockRepositoryConnector.REPOSITORY_URL); >@@ -1001,7 +1081,7 @@ > queries.add(query); > TasksUiPlugin.getSynchronizationManager().synchronize(new MockRepositoryConnector(), repository, queries, null, > Job.INTERACTIVE, 0, true); >- assertEquals(2, manager.getTaskList().getArchiveContainer().getChildren().size()); >+ //assertEquals(2, manager.getTaskList().getArchiveContainer().getChildren().size()); > assertEquals(0, query.getChildren().size()); > } > >Index: src/org/eclipse/mylyn/tasks/tests/TaskDataExportTest.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataExportTest.java,v >retrieving revision 1.20 >diff -u -r1.20 TaskDataExportTest.java >--- src/org/eclipse/mylyn/tasks/tests/TaskDataExportTest.java 31 Oct 2007 23:36:45 -0000 1.20 >+++ src/org/eclipse/mylyn/tasks/tests/TaskDataExportTest.java 12 Dec 2007 02:31:10 -0000 >@@ -69,7 +69,7 @@ > > // Create a task and context with an interaction event to be saved > task1 = manager.createNewLocalTask("Export Test Task"); >- manager.getTaskList().moveToContainer(task1, manager.getTaskList().getDefaultCategory()); >+ manager.getTaskList().addTask(task1); > mockContext = ContextCorePlugin.getContextManager().loadContext(task1.getHandleIdentifier()); > InteractionEvent event = new InteractionEvent(InteractionEvent.Kind.EDIT, "structureKind", "handle", "originId"); > mockContext.parseEvent(event); >Index: src/org/eclipse/mylyn/tasks/tests/TaskListDnDTest.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListDnDTest.java,v >retrieving revision 1.10 >diff -u -r1.10 TaskListDnDTest.java >--- src/org/eclipse/mylyn/tasks/tests/TaskListDnDTest.java 10 Jul 2007 00:29:57 -0000 1.10 >+++ src/org/eclipse/mylyn/tasks/tests/TaskListDnDTest.java 12 Dec 2007 02:31:10 -0000 >@@ -13,6 +13,7 @@ > import junit.framework.TestCase; > > import org.eclipse.jface.viewers.TreeViewer; >+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; > import org.eclipse.mylyn.internal.tasks.ui.views.TaskListDropAdapter; > import org.eclipse.mylyn.internal.tasks.ui.views.TaskListView; > import org.eclipse.mylyn.tasks.core.AbstractTask; >@@ -57,13 +58,18 @@ > } > > public void testUrlDrop() { >- assertEquals(0, manager.getTaskList().getDefaultCategory().getChildren().size()); >+ assertEquals(0, manager.getTaskList() >+ .getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL) >+ .getChildren() >+ .size()); > String url = "http://eclipse.org/mylyn"; > String title = "Mylar Technology Project"; > String urlData = url + "\n" + title; > > dropAdapter.performDrop(urlData); >- Set<AbstractTask> tasks = manager.getTaskList().getDefaultCategory().getChildren(); >+ Set<AbstractTask> tasks = manager.getTaskList() >+ .getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL) >+ .getChildren(); > assertNotNull(tasks); > assertEquals(1, tasks.size()); > assertEquals(url, tasks.iterator().next().getUrl()); >Index: src/org/eclipse/mylyn/tasks/tests/connector/MockRepositoryQuery.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockRepositoryQuery.java,v >retrieving revision 1.6 >diff -u -r1.6 MockRepositoryQuery.java >--- src/org/eclipse/mylyn/tasks/tests/connector/MockRepositoryQuery.java 26 Jun 2007 01:16:10 -0000 1.6 >+++ src/org/eclipse/mylyn/tasks/tests/connector/MockRepositoryQuery.java 12 Dec 2007 02:31:10 -0000 >@@ -15,11 +15,12 @@ > */ > public class MockRepositoryQuery extends AbstractRepositoryQuery { > >- public String MOCK_URL = "http://mock.repository"; >+ public String MOCK_QUERY_URL = MockRepositoryConnector.REPOSITORY_URL + ".query"; > > public MockRepositoryQuery(String description) { > super(description); >- super.setUrl(MOCK_URL); >+ super.setUrl(MOCK_QUERY_URL); >+ super.setRepositoryUrl(MockRepositoryConnector.REPOSITORY_URL); > } > > public MockRepositoryQuery(String description, String url) { >Index: src/org/eclipse/mylyn/tasks/tests/OrphanedTasksTest.java >=================================================================== >RCS file: src/org/eclipse/mylyn/tasks/tests/OrphanedTasksTest.java >diff -N src/org/eclipse/mylyn/tasks/tests/OrphanedTasksTest.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/mylyn/tasks/tests/OrphanedTasksTest.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,266 @@ >+/******************************************************************************* >+ * Copyright (c) 2004, 2007 Mylyn project committers 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 >+ *******************************************************************************/ >+ >+package org.eclipse.mylyn.tasks.tests; >+ >+import java.util.Set; >+ >+import junit.framework.TestCase; >+ >+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; >+import org.eclipse.mylyn.internal.tasks.core.LocalTask; >+import org.eclipse.mylyn.internal.tasks.core.OrphanedTasksContainer; >+import org.eclipse.mylyn.internal.tasks.core.TaskCategory; >+import org.eclipse.mylyn.tasks.core.AbstractRepositoryQuery; >+import org.eclipse.mylyn.tasks.core.AbstractTask; >+import org.eclipse.mylyn.tasks.core.TaskList; >+import org.eclipse.mylyn.tasks.tests.connector.MockRepositoryConnector; >+import org.eclipse.mylyn.tasks.tests.connector.MockRepositoryQuery; >+import org.eclipse.mylyn.tasks.tests.connector.MockRepositoryTask; >+import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; >+ >+/** >+ * @author Rob Elves >+ */ >+public class OrphanedTasksTest extends TestCase { >+ >+ private TaskList taskList; >+ >+ protected void setUp() throws Exception { >+ super.setUp(); >+ TasksUiPlugin.getTaskListManager().resetTaskList(); >+ taskList = TasksUiPlugin.getTaskListManager().getTaskList(); >+ assertTrue(taskList.getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL).isEmpty()); >+ } >+ >+ protected void tearDown() throws Exception { >+ super.tearDown(); >+ } >+ >+ /** >+ * y New local tasks should automatically be created in the Local orphaned folder >+ */ >+ public void testAddLocalTask() { >+ Set<AbstractTask> tasks = TasksUiPlugin.getTaskListManager().getTaskList().getRepositoryTasks( >+ LocalRepositoryConnector.REPOSITORY_URL); >+ assertTrue(tasks.isEmpty()); >+ AbstractTask localTask = TasksUiPlugin.getTaskListManager().createNewLocalTask("Task 1"); >+ assertNotNull(localTask); >+ assertEquals(1, localTask.getParentContainers().size()); >+ assertTrue(localTask.getParentContainers().iterator().next() instanceof OrphanedTasksContainer); >+ } >+ >+ /** >+ * When a local tasks is removed from a category it should be placed in the local repository orphaned container. >+ */ >+ public void testRemoveLocalTask() { >+ TaskCategory category = new TaskCategory("taskCategoryHandle"); >+ taskList.addCategory(category); >+ LocalTask newTask = new LocalTask("" + taskList.getNextLocalTaskId(), "new local task"); >+ taskList.addTask(newTask, category); >+ //assertEquals(1, taskList.getOrphanContainers().size()); >+ assertEquals(1, taskList.getCategories().size()); >+ assertTrue(taskList.getCategories().iterator().next().contains(newTask.getHandleIdentifier())); >+ taskList.removeFromCategory(category, newTask); >+ //assertEquals(taskList.getOrphanContainers().size(), 1); >+ assertFalse(category.contains(newTask.getHandleIdentifier())); >+ assertTrue(taskList.getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL).contains( >+ newTask.getHandleIdentifier())); >+ assertEquals(1, newTask.getParentContainers().size()); >+ assertEquals(taskList.getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL).getHandleIdentifier(), >+ newTask.getParentContainers().iterator().next().getHandleIdentifier()); >+ } >+ >+ /** >+ * Local tasks in a removed category should be orphaned. >+ */ >+ public void testLocalTaskOrphanedInDeletedTaskCategory() { >+ assertTrue(taskList.getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL).isEmpty()); >+ TaskCategory category = new TaskCategory("taskCategoryHandle"); >+ taskList.addCategory(category); >+ LocalTask newTask = new LocalTask("" + taskList.getNextLocalTaskId(), "new local task"); >+ taskList.addTask(newTask, category); >+ assertTrue(taskList.getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL).isEmpty()); >+ taskList.deleteCategory(category); >+ assertTrue(taskList.getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL).contains( >+ newTask.getHandleIdentifier())); >+ >+ } >+ >+ /** >+ * Query removed with task in category, just query removed task remains. >+ */ >+ public void testTaskRemovedFromQuery() { >+ MockRepositoryTask mockTask = new MockRepositoryTask("1"); >+ mockTask.setLastReadTimeStamp("now"); >+ MockRepositoryQuery mockQuery = new MockRepositoryQuery("mock query"); >+ taskList.addQuery(mockQuery); >+ taskList.addTask(mockTask, mockQuery); >+ >+ taskList.removeFromQuery(mockQuery, mockTask); >+ >+ assertFalse(mockQuery.contains(mockTask.getHandleIdentifier())); >+ assertTrue(taskList.getOrphanContainer(MockRepositoryConnector.REPOSITORY_URL).contains( >+ mockTask.getHandleIdentifier())); >+ } >+ >+ /** >+ * Query removed with task in category, just query removed task remains. >+ */ >+ public void testTaskRemovedFromQueryButInCategory() { >+ MockRepositoryTask mockTask = new MockRepositoryTask("1"); >+ mockTask.setLastReadTimeStamp("now"); >+ MockRepositoryQuery mockQuery = new MockRepositoryQuery("mock query"); >+ taskList.addQuery(mockQuery); >+ taskList.addTask(mockTask, mockQuery); >+ >+ TaskCategory category = new TaskCategory("taskCategoryHandle"); >+ taskList.addCategory(category); >+ taskList.addTask(mockTask, category); >+ assertTrue(category.contains(mockTask.getHandleIdentifier())); >+ taskList.removeFromQuery(mockQuery, mockTask); >+ >+ assertFalse(mockQuery.contains(mockTask.getHandleIdentifier())); >+ assertEquals(1, taskList.getCategories().size()); >+ assertTrue(taskList.getCategories().iterator().next().contains(mockTask.getHandleIdentifier())); >+ >+ //* Repository tasks within a removed category that are not in a query should be orphaned. >+ >+ taskList.removeFromCategory(category, mockTask); >+ assertTrue(taskList.getOrphanContainer(MockRepositoryConnector.REPOSITORY_URL).contains( >+ mockTask.getHandleIdentifier())); >+ } >+ >+ /** >+ * Repository tasks that exists in a query are not orphaned. >+ */ >+ public void testRepositoryTaskInDeletedCategory() { >+ MockRepositoryTask mockTask = new MockRepositoryTask("1"); >+ MockRepositoryQuery mockQuery = new MockRepositoryQuery("mock query"); >+ taskList.addQuery(mockQuery); >+ taskList.addTask(mockTask, mockQuery); >+ >+ TaskCategory category = new TaskCategory("taskCategoryHandle"); >+ taskList.addCategory(category); >+ taskList.addTask(mockTask, category); >+ >+ assertTrue(taskList.getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL).isEmpty()); >+ taskList.deleteCategory(category); >+ assert (taskList.getOrphanContainer(MockRepositoryConnector.REPOSITORY_URL).isEmpty()); >+ assertEquals(0, taskList.getCategories().size()); >+ } >+ >+ /** >+ * Repository tasks that exist in another query are not orphaned >+ */ >+ public void testRemovalOfTaskInTwoQueries() { >+ MockRepositoryTask mockTask = new MockRepositoryTask("1"); >+ MockRepositoryQuery mockQuery = new MockRepositoryQuery("mock query 1"); >+ MockRepositoryQuery mockQuery2 = new MockRepositoryQuery("mock query 2"); >+ taskList.addQuery(mockQuery); >+ taskList.addQuery(mockQuery2); >+ taskList.addTask(mockTask, mockQuery); >+ taskList.addTask(mockTask, mockQuery2); >+ >+ taskList.removeFromQuery(mockQuery2, mockTask); >+ assertTrue(mockQuery2.isEmpty()); >+ assertFalse(mockQuery.isEmpty()); >+ assertTrue(taskList.getOrphanContainer(MockRepositoryConnector.REPOSITORY_URL).isEmpty()); >+ assertEquals(0, taskList.getCategories().size()); >+ } >+ >+ /** >+ * Moving an orphan to a Category should result in the task only being present in the target Category >+ */ >+ public void testMoveLocalTask() { >+ TaskCategory category = new TaskCategory("taskCategoryHandle"); >+ taskList.addCategory(category); >+ LocalTask newTask = new LocalTask("" + taskList.getNextLocalTaskId(), "new local task"); >+ taskList.addTask(newTask, null); >+ assertTrue(taskList.getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL).contains( >+ newTask.getHandleIdentifier())); >+ taskList.moveTask(newTask, category); >+ assertFalse(taskList.getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL).contains( >+ newTask.getHandleIdentifier())); >+ } >+ >+ public void testAddRepositoryTask() { >+ MockRepositoryTask mockTask = new MockRepositoryTask("1"); >+ MockRepositoryQuery mockQuery = new MockRepositoryQuery("mock query"); >+ TasksUiPlugin.getTaskListManager().getTaskList().addQuery(mockQuery); >+ TasksUiPlugin.getTaskListManager().getTaskList().addTask(mockTask, mockQuery); >+ Set<AbstractTask> tasks = TasksUiPlugin.getTaskListManager().getTaskList().getRepositoryTasks( >+ MockRepositoryConnector.REPOSITORY_URL); >+ assertFalse(tasks.isEmpty()); >+ AbstractRepositoryQuery query = TasksUiPlugin.getTaskListManager().getTaskList().getQueryForHandle( >+ mockTask.getHandleIdentifier()); >+ assertEquals(mockQuery, query); >+ assertFalse(query.isEmpty()); >+ assertTrue(TasksUiPlugin.getTaskListManager().getTaskList().getOrphanContainer( >+ MockRepositoryConnector.REPOSITORY_URL).isEmpty()); >+ } >+ >+ public void testMoveRepositoryTask() { >+ TaskList tasklist = TasksUiPlugin.getTaskListManager().getTaskList(); >+ assertTrue(tasklist.getAllTasks().isEmpty()); >+ >+ MockRepositoryTask mockTask = new MockRepositoryTask("1"); >+ MockRepositoryQuery mockQuery = new MockRepositoryQuery("mock query"); >+ TasksUiPlugin.getTaskListManager().getTaskList().addQuery(mockQuery); >+ TasksUiPlugin.getTaskListManager().getTaskList().addTask(mockTask, mockQuery); >+ >+ TaskCategory category = new TaskCategory("taskCategoryHandle"); >+ taskList.addCategory(category); >+ >+ taskList.moveTask(mockTask, category); >+ assertTrue(taskList.getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL).isEmpty()); >+ assertTrue(category.contains(mockTask.getHandleIdentifier())); >+ assertTrue(mockQuery.contains(mockTask.getHandleIdentifier())); >+ >+ } >+ >+ public void testRefactorOrphanedHandle() { >+ MockRepositoryTask mockTask = new MockRepositoryTask("1"); >+ mockTask.setLastReadTimeStamp("now"); >+ MockRepositoryQuery mockQuery = new MockRepositoryQuery("mock query"); >+ taskList.addQuery(mockQuery); >+ taskList.addTask(mockTask, mockQuery); >+ >+ taskList.removeFromQuery(mockQuery, mockTask); >+ >+ assertFalse(mockQuery.contains(mockTask.getHandleIdentifier())); >+ assertTrue(taskList.getOrphanContainer(MockRepositoryConnector.REPOSITORY_URL).contains( >+ mockTask.getHandleIdentifier())); >+ >+ taskList.refactorRepositoryUrl(MockRepositoryConnector.REPOSITORY_URL, MockRepositoryConnector.REPOSITORY_URL >+ + "new"); >+ assertTrue(taskList.getOrphanContainer(MockRepositoryConnector.REPOSITORY_URL + "new").contains( >+ mockTask.getHandleIdentifier())); >+ } >+ >+ public void testOrphanedSubtasks() { >+// MockRepositoryTask mockTask = new MockRepositoryTask("1"); >+// MockRepositoryTask mockTask2 = new MockRepositoryTask("2"); >+// MockRepositoryQuery mockQuery = new MockRepositoryQuery("mock query"); >+// TasksUiPlugin.getTaskListManager().getTaskList().addQuery(mockQuery); >+// TasksUiPlugin.getTaskListManager().getTaskList().addTask(mockTask, mockQuery); >+// TasksUiPlugin.getTaskListManager().getTaskList().addTask(mockTask2, mockTask); >+// assertNull(taskList.getOrphanContainer(MockRepositoryConnector.REPOSITORY_URL)); >+// taskList.removeFromQuery(mockQuery, mockTask); >+// assertEquals(1, taskList.getOrphanContainer(MockRepositoryConnector.REPOSITORY_URL).getChildren().size()); >+// taskList.deleteTask(mockTask); >+// // mockTask2 should be orphaned when the parent task is deleted >+// assertEquals("2", taskList.getOrphanContainer(MockRepositoryConnector.REPOSITORY_URL) >+// .getChildren() >+// .iterator() >+// .next() >+// .getTaskId()); >+// >+ } >+ >+} >#P org.eclipse.mylyn.context.ui >Index: src/org/eclipse/mylyn/internal/context/ui/TaskListInterestSorter.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.context.ui/src/org/eclipse/mylyn/internal/context/ui/TaskListInterestSorter.java,v >retrieving revision 1.24 >diff -u -r1.24 TaskListInterestSorter.java >--- src/org/eclipse/mylyn/internal/context/ui/TaskListInterestSorter.java 26 Nov 2007 19:31:41 -0000 1.24 >+++ src/org/eclipse/mylyn/internal/context/ui/TaskListInterestSorter.java 12 Dec 2007 02:31:12 -0000 >@@ -10,9 +10,9 @@ > > import org.eclipse.jface.viewers.Viewer; > import org.eclipse.jface.viewers.ViewerSorter; >+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; >+import org.eclipse.mylyn.internal.tasks.core.OrphanedTasksContainer; > import org.eclipse.mylyn.internal.tasks.core.ScheduledTaskContainer; >-import org.eclipse.mylyn.internal.tasks.core.TaskArchive; >-import org.eclipse.mylyn.internal.tasks.core.UnfiledCategory; > import org.eclipse.mylyn.internal.tasks.ui.views.TaskKeyComparator; > import org.eclipse.mylyn.internal.tasks.ui.views.TaskListTableSorter; > import org.eclipse.mylyn.tasks.core.AbstractTask; >@@ -28,9 +28,18 @@ > > @Override > public int compare(Viewer compareViewer, Object o1, Object o2) { >- if (o1 instanceof AbstractTaskContainer && o2 instanceof TaskArchive) { >+ >+ OrphanedTasksContainer localArchive = TasksUiPlugin.getTaskListManager().getTaskList().getOrphanContainer( >+ LocalRepositoryConnector.REPOSITORY_URL); >+ if (o1 == localArchive && o2 instanceof AbstractTaskContainer) { >+ return -1; >+ } else if (o1 instanceof AbstractTaskContainer && o2 == localArchive) { >+ return 1; >+ } >+ >+ if (o1 instanceof AbstractTaskContainer && o2 instanceof OrphanedTasksContainer) { > return -1; >- } else if (o2 instanceof AbstractTaskContainer && o1 instanceof TaskArchive) { >+ } else if (o2 instanceof AbstractTaskContainer && o1 instanceof OrphanedTasksContainer) { > return 1; > } > >@@ -44,11 +53,11 @@ > return 1; > } > >- if (o1 instanceof UnfiledCategory && o2 instanceof AbstractTaskContainer) { >- return -1; >- } else if (o1 instanceof AbstractTaskContainer && o2 instanceof UnfiledCategory) { >- return 1; >- } >+// if (o1 instanceof OrphanedTasksContainer && o2 instanceof AbstractTaskContainer) { >+// return -1; >+// } else if (o1 instanceof AbstractTaskContainer && o2 instanceof OrphanedTasksContainer) { >+// return 1; >+// } > > if (!(o1 instanceof AbstractTask) && o2 instanceof AbstractTask) { > return 1; >@@ -186,7 +195,8 @@ > } > > private int compareKeys(AbstractTaskContainer element1, AbstractTaskContainer element2) { >- return taskKeyComparator.compare(TaskListTableSorter.getSortableFromElement(element1), TaskListTableSorter.getSortableFromElement(element2)); >+ return taskKeyComparator.compare(TaskListTableSorter.getSortableFromElement(element1), >+ TaskListTableSorter.getSortableFromElement(element2)); > } > > private int comparePriorities(AbstractTaskContainer element1, AbstractTaskContainer element2) { >#P org.eclipse.mylyn.bugzilla.tests >Index: src/org/eclipse/mylyn/bugzilla/tests/TaskReportGeneratorTest.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/TaskReportGeneratorTest.java,v >retrieving revision 1.24 >diff -u -r1.24 TaskReportGeneratorTest.java >--- src/org/eclipse/mylyn/bugzilla/tests/TaskReportGeneratorTest.java 5 Dec 2007 02:57:18 -0000 1.24 >+++ src/org/eclipse/mylyn/bugzilla/tests/TaskReportGeneratorTest.java 12 Dec 2007 02:31:15 -0000 >@@ -17,13 +17,16 @@ > import junit.framework.TestCase; > > import org.eclipse.core.runtime.NullProgressMonitor; >+import org.eclipse.mylyn.internal.bugzilla.core.BugzillaCorePlugin; > import org.eclipse.mylyn.internal.bugzilla.core.BugzillaRepositoryQuery; > import org.eclipse.mylyn.internal.bugzilla.core.BugzillaTask; >+import org.eclipse.mylyn.internal.bugzilla.core.IBugzillaConstants; > import org.eclipse.mylyn.internal.tasks.core.TaskCategory; > import org.eclipse.mylyn.internal.tasks.ui.planner.CompletedTaskCollector; > import org.eclipse.mylyn.internal.tasks.ui.planner.TaskReportGenerator; > import org.eclipse.mylyn.tasks.core.AbstractTask; > import org.eclipse.mylyn.tasks.core.AbstractTaskContainer; >+import org.eclipse.mylyn.tasks.core.TaskRepository; > import org.eclipse.mylyn.tasks.ui.TaskListManager; > import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; > >@@ -54,7 +57,7 @@ > > public void testCompletedTasksRetrieved() throws InvocationTargetException, InterruptedException { > AbstractTask task1 = manager.createNewLocalTask("task 1"); >- manager.getTaskList().moveToContainer(task1, manager.getTaskList().getDefaultCategory()); >+ manager.getTaskList().addTask(task1); > > CompletedTaskCollector collector = new CompletedTaskCollector(new Date(0), new Date()); > TaskReportGenerator generator = new TaskReportGenerator(manager.getTaskList()); >@@ -73,7 +76,7 @@ > > public void testCompletedTasksDateBoundsRetrieved() throws InvocationTargetException, InterruptedException { > AbstractTask task1 = manager.createNewLocalTask("task 1"); >- manager.getTaskList().moveToContainer(task1, manager.getTaskList().getDefaultCategory()); >+ manager.getTaskList().addTask(task1); > task1.setCompleted(true); > Thread.sleep(1000); > long now = new Date().getTime(); >@@ -93,10 +96,16 @@ > } > > public void testCompletedBugzillaTasksRetrieved() throws InvocationTargetException, InterruptedException { >- BugzillaTask task1 = new BugzillaTask("repo", "1", "bugzillatask 1"); >- manager.getTaskList().moveToContainer(task1, manager.getTaskList().getDefaultCategory()); >- >- CompletedTaskCollector collector = new CompletedTaskCollector(new Date(0), new Date()); >+ TaskRepository repository = new TaskRepository(BugzillaCorePlugin.REPOSITORY_KIND, >+ IBugzillaConstants.ECLIPSE_BUGZILLA_URL); >+ TasksUiPlugin.getRepositoryManager().addRepository(repository, >+ TasksUiPlugin.getDefault().getRepositoriesFilePath()); >+ BugzillaTask task1 = new BugzillaTask(IBugzillaConstants.ECLIPSE_BUGZILLA_URL, "1", "bugzillatask 1"); >+ manager.getTaskList().addTask(task1); >+ >+ Calendar cal = Calendar.getInstance(); >+ cal.add(Calendar.MINUTE, 5); >+ CompletedTaskCollector collector = new CompletedTaskCollector(new Date(0), cal.getTime()); > TaskReportGenerator generator = new TaskReportGenerator(manager.getTaskList()); > generator.addCollector(collector); > generator.run(new NullProgressMonitor()); >@@ -106,11 +115,14 @@ > generator.run(new NullProgressMonitor()); > assertEquals(1, generator.getAllCollectedTasks().size()); > assertEquals(task1, generator.getAllCollectedTasks().get(0)); >+ TasksUiPlugin.getRepositoryManager().removeRepository(repository, >+ TasksUiPlugin.getDefault().getRepositoriesFilePath()); >+ manager.resetTaskList(); > } > > public void testCompletedTasksInCategoryRetrieved() throws InvocationTargetException, InterruptedException { > AbstractTask task1 = manager.createNewLocalTask("task 1"); >- manager.getTaskList().moveToContainer(task1, manager.getTaskList().getDefaultCategory()); >+ manager.getTaskList().addTask(task1); > task1.setCompleted(true); > TaskCategory cat1 = new TaskCategory("TaskReportGeneratorTest Category"); > manager.getTaskList().addCategory(cat1); >@@ -124,7 +136,7 @@ > generator.run(new NullProgressMonitor()); > assertEquals(0, generator.getAllCollectedTasks().size()); > >- manager.getTaskList().moveToContainer(task1, cat1); >+ manager.getTaskList().moveTask(task1, cat1); > > generator.run(new NullProgressMonitor()); > assertEquals(1, generator.getAllCollectedTasks().size()); >@@ -133,8 +145,7 @@ > > public void testCompletedBugzillaTasksInCategoryRetrieved() throws InvocationTargetException, InterruptedException { > BugzillaTask task1 = new BugzillaTask("repo", "1", "task 1"); >- manager.getTaskList().moveToContainer(task1, >- TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory()); >+ manager.getTaskList().addTask(task1); > task1.setCompleted(true); > TaskCategory cat1 = new TaskCategory("TaskReportGeneratorTest Category"); > manager.getTaskList().addCategory(cat1); >@@ -148,7 +159,7 @@ > generator.run(new NullProgressMonitor()); > assertEquals(0, generator.getAllCollectedTasks().size()); > >- manager.getTaskList().moveToContainer(task1, cat1); >+ manager.getTaskList().moveTask(task1, cat1); > > generator.run(new NullProgressMonitor()); > assertEquals(1, generator.getAllCollectedTasks().size()); >@@ -157,8 +168,7 @@ > > public void testCompletedBugzillaTasksInQueryRetrieved() throws InvocationTargetException, InterruptedException { > BugzillaTask task1 = new BugzillaTask("repo", "1", "task 1"); >- manager.getTaskList().moveToContainer(task1, >- TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory()); >+ manager.getTaskList().addTask(task1); > task1.setCompleted(false); > > BugzillaRepositoryQuery bugQuery = new BugzillaRepositoryQuery("repositoryUrl", "queryUrl", >Index: src/org/eclipse/mylyn/bugzilla/tests/TaskListStandaloneTest.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/TaskListStandaloneTest.java,v >retrieving revision 1.24 >diff -u -r1.24 TaskListStandaloneTest.java >--- src/org/eclipse/mylyn/bugzilla/tests/TaskListStandaloneTest.java 26 Jun 2007 01:16:21 -0000 1.24 >+++ src/org/eclipse/mylyn/bugzilla/tests/TaskListStandaloneTest.java 12 Dec 2007 02:31:15 -0000 >@@ -20,6 +20,7 @@ > import org.eclipse.mylyn.internal.bugzilla.core.BugzillaTask; > import org.eclipse.mylyn.internal.bugzilla.core.IBugzillaConstants; > import org.eclipse.mylyn.internal.bugzilla.ui.tasklist.BugzillaTaskListFactory; >+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; > import org.eclipse.mylyn.internal.tasks.core.LocalTask; > import org.eclipse.mylyn.tasks.core.AbstractTask; > import org.eclipse.mylyn.tasks.core.AbstractTaskListFactory; >@@ -41,8 +42,9 @@ > manager = TasksUiPlugin.getTaskListManager(); > > manager.resetTaskList(); >- assertEquals("should be empty: " + manager.getTaskList().getDefaultCategory().getChildren(), 0, >- manager.getTaskList().getDefaultCategory().getChildren().size()); >+ assertEquals("should be empty: " >+ + manager.getTaskList().getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL).getChildren(), 0, >+ manager.getTaskList().getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL).getChildren().size()); > } > > @Override >@@ -56,14 +58,16 @@ > AbstractTask task = new LocalTask("1", "task 1"); > Date dueDate = new Date(); > task.setDueDate(dueDate); >- manager.getTaskList().moveToContainer(task, manager.getTaskList().getDefaultCategory()); >+ manager.getTaskList().addTask(task); > assertEquals(1, manager.getTaskList().getAllTasks().size()); > > manager.saveTaskList(); > manager.resetTaskList(); > manager.readExistingOrCreateNewList(); > assertEquals(1, manager.getTaskList().getAllTasks().size()); >- Set<AbstractTask> readList = manager.getTaskList().getDefaultCategory().getChildren(); >+ Set<AbstractTask> readList = manager.getTaskList() >+ .getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL) >+ .getChildren(); > AbstractTask readTask = readList.iterator().next(); > assertTrue(readTask.getSummary().equals("task 1")); > assertTrue(readTask.getDueDate().compareTo(dueDate) == 0); >@@ -88,7 +92,7 @@ > Date creation = new Date(); > AbstractTask task = new LocalTask("1", "task 1"); > >- manager.getTaskList().moveToContainer(task, manager.getTaskList().getDefaultCategory()); >+ manager.getTaskList().addTask(task); > assertDatesCloseEnough(task.getCreationDate(), start); > > task.setCompleted(true); >@@ -97,7 +101,7 @@ > task.setScheduledForDate(start); > assertDatesCloseEnough(task.getScheduledForDate(), start); > >- assertEquals(2, manager.getTaskList().getRootElements().size()); >+ assertEquals(1, manager.getTaskList().getRootElements().size()); > manager.saveTaskList(); > > assertNotNull(manager.getTaskList()); >@@ -106,9 +110,14 @@ > // assertEquals(0, manager.getTaskList().getRootTasks().size()); > // manager.readOrCreateTaskList(); > // assertNotNull(manager.getTaskList()); >- assertEquals(1, manager.getTaskList().getDefaultCategory().getChildren().size()); >- >- Set<AbstractTask> readList = manager.getTaskList().getDefaultCategory().getChildren(); >+ assertEquals(1, manager.getTaskList() >+ .getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL) >+ .getChildren() >+ .size()); >+ >+ Set<AbstractTask> readList = manager.getTaskList() >+ .getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL) >+ .getChildren(); > AbstractTask readTask = readList.iterator().next(); > assertTrue(readTask.getSummary().equals("task 1")); > >Index: src/org/eclipse/mylyn/bugzilla/tests/RepositoryTaskHandleTest.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/RepositoryTaskHandleTest.java,v >retrieving revision 1.13 >diff -u -r1.13 RepositoryTaskHandleTest.java >--- src/org/eclipse/mylyn/bugzilla/tests/RepositoryTaskHandleTest.java 10 Jul 2007 00:29:34 -0000 1.13 >+++ src/org/eclipse/mylyn/bugzilla/tests/RepositoryTaskHandleTest.java 12 Dec 2007 02:31:15 -0000 >@@ -12,6 +12,8 @@ > > import org.eclipse.mylyn.internal.bugzilla.core.BugzillaTask; > import org.eclipse.mylyn.internal.bugzilla.core.IBugzillaConstants; >+import org.eclipse.mylyn.tasks.core.TaskRepository; >+import org.eclipse.mylyn.tasks.tests.connector.MockRepositoryConnector; > import org.eclipse.mylyn.tasks.ui.TaskListManager; > import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; > >@@ -51,24 +53,28 @@ > // } > > public void testRepositoryUrlHandles() { >+ String repositoryUrl = IBugzillaConstants.ECLIPSE_BUGZILLA_URL; >+ TaskRepository repository = new TaskRepository(MockRepositoryConnector.REPOSITORY_KIND, repositoryUrl); >+ TasksUiPlugin.getRepositoryManager().addRepository(repository, >+ TasksUiPlugin.getDefault().getRepositoriesFilePath()); > >- String repository = IBugzillaConstants.ECLIPSE_BUGZILLA_URL; > String id = "123"; >- BugzillaTask bugTask = new BugzillaTask(repository, id, "label 124"); >- assertEquals(repository, bugTask.getRepositoryUrl()); >+ BugzillaTask bugTask = new BugzillaTask(repositoryUrl, id, "label 124"); >+ assertEquals(repositoryUrl, bugTask.getRepositoryUrl()); > >- manager.getTaskList().moveToContainer(bugTask, >- TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory()); >+ manager.getTaskList().addTask(bugTask); > manager.saveTaskList(); > manager.resetTaskList(); > manager.readExistingOrCreateNewList(); > > BugzillaTask readReport = (BugzillaTask) manager.getTaskList() >- .getDefaultCategory() >+ .getOrphanContainer(repositoryUrl) > .getChildren() > .iterator() > .next(); > assertEquals(readReport.getSummary(), readReport.getSummary()); > assertEquals(readReport.getRepositoryUrl(), readReport.getRepositoryUrl()); >+ TasksUiPlugin.getRepositoryManager().removeRepository(repository, >+ TasksUiPlugin.getDefault().getRepositoriesFilePath()); > } > } >Index: src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest.java,v >retrieving revision 1.122 >diff -u -r1.122 BugzillaRepositoryConnectorTest.java >--- src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest.java 30 Nov 2007 19:06:26 -0000 1.122 >+++ src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest.java 12 Dec 2007 02:31:15 -0000 >@@ -27,6 +27,7 @@ > import org.eclipse.mylyn.internal.bugzilla.core.IBugzillaConstants; > import org.eclipse.mylyn.internal.bugzilla.core.RepositoryConfiguration; > import org.eclipse.mylyn.internal.tasks.core.LocalAttachment; >+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; > import org.eclipse.mylyn.tasks.core.AbstractTask; > import org.eclipse.mylyn.tasks.core.RepositoryAttachment; > import org.eclipse.mylyn.tasks.core.RepositoryOperation; >@@ -57,8 +58,7 @@ > task.getTaskId()); > assertNotNull(taskData); > >- TasksUiPlugin.getTaskListManager().getTaskList().moveToContainer(task, >- TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory()); >+ TasksUiPlugin.getTaskListManager().getTaskList().addTask(task); > > String newCommentText = "BugzillaRepositoryClientTest.testMidAirCollision(): test " + (new Date()).toString(); > taskData.setNewComment(newCommentText); >@@ -132,8 +132,7 @@ > task.getTaskId()); > assertNotNull(taskData); > >- TasksUiPlugin.getTaskListManager().getTaskList().moveToContainer(task, >- TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory()); >+ TasksUiPlugin.getTaskListManager().getTaskList().addTask(task); > > assertEquals("rob.elves@eclipse.org", taskData.getAssignedTo()); > // Modify it (reassign to tests2@mylyn.eclipse.org) >@@ -182,8 +181,10 @@ > task.getTaskId()); > assertNotNull(taskData); > >- TasksUiPlugin.getTaskListManager().getTaskList().moveToContainer(task, >- TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory()); >+ TasksUiPlugin.getTaskListManager().getTaskList().moveTask( >+ task, >+ TasksUiPlugin.getTaskListManager().getTaskList().getOrphanContainer( >+ LocalRepositoryConnector.REPOSITORY_URL)); > > assertEquals(defaultAssignee, taskData.getAssignedTo()); > // Modify it (reassign to tests2@mylyn.eclipse.org) >@@ -386,8 +387,7 @@ > task.getTaskId()); > assertNotNull(taskData); > >- TasksUiPlugin.getTaskListManager().getTaskList().moveToContainer(task, >- TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory()); >+ TasksUiPlugin.getTaskListManager().getTaskList().addTask(task); > int numComments = taskData.getComments().size(); > > // Modify it >Index: src/org/eclipse/mylyn/bugzilla/tests/AbstractBugzillaTest.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/AbstractBugzillaTest.java,v >retrieving revision 1.32 >diff -u -r1.32 AbstractBugzillaTest.java >--- src/org/eclipse/mylyn/bugzilla/tests/AbstractBugzillaTest.java 4 Sep 2007 20:49:17 -0000 1.32 >+++ src/org/eclipse/mylyn/bugzilla/tests/AbstractBugzillaTest.java 12 Dec 2007 02:31:15 -0000 >@@ -20,6 +20,7 @@ > import org.eclipse.mylyn.internal.bugzilla.core.BugzillaRepositoryConnector; > import org.eclipse.mylyn.internal.bugzilla.core.BugzillaTask; > import org.eclipse.mylyn.internal.bugzilla.core.IBugzillaConstants; >+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; > import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector; > import org.eclipse.mylyn.tasks.core.AbstractTask; > import org.eclipse.mylyn.tasks.core.ITaskFactory; >@@ -59,7 +60,7 @@ > super.setUp(); > TasksUiPlugin.getTaskDataManager().clear(); > manager = TasksUiPlugin.getRepositoryManager(); >- TasksUiPlugin.getTaskListManager().getTaskList().reset(); >+ TasksUiPlugin.getTaskListManager().resetTaskList();//getTaskList().reset(); > manager.clearRepositories(TasksUiPlugin.getDefault().getRepositoriesFilePath()); > } > >@@ -122,8 +123,10 @@ > new NullProgressMonitor()); > TasksUiPlugin.getSynchronizationManager().setTaskRead(task, true); > assertNotNull(task); >- TasksUiPlugin.getTaskListManager().getTaskList().moveToContainer(task, >- TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory()); >+ TasksUiPlugin.getTaskListManager().getTaskList().moveTask( >+ task, >+ TasksUiPlugin.getTaskListManager().getTaskList().getOrphanContainer( >+ LocalRepositoryConnector.REPOSITORY_URL)); > > return task; > } >Index: src/org/eclipse/mylyn/bugzilla/tests/BugzillaTaskListManagerTest.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaTaskListManagerTest.java,v >retrieving revision 1.24 >diff -u -r1.24 BugzillaTaskListManagerTest.java >--- src/org/eclipse/mylyn/bugzilla/tests/BugzillaTaskListManagerTest.java 26 Jun 2007 01:16:22 -0000 1.24 >+++ src/org/eclipse/mylyn/bugzilla/tests/BugzillaTaskListManagerTest.java 12 Dec 2007 02:31:15 -0000 >@@ -19,6 +19,7 @@ > import org.eclipse.mylyn.internal.bugzilla.core.BugzillaRepositoryQuery; > import org.eclipse.mylyn.internal.bugzilla.core.BugzillaTask; > import org.eclipse.mylyn.internal.bugzilla.core.IBugzillaConstants; >+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; > import org.eclipse.mylyn.tasks.core.AbstractRepositoryQuery; > import org.eclipse.mylyn.tasks.core.AbstractTask; > import org.eclipse.mylyn.tasks.core.AbstractTaskCategory; >@@ -87,10 +88,9 @@ > } > > public void testRepositoryTaskExternalization() { >- BugzillaTask repositoryTask = new BugzillaTask("repo", "1", "label"); >+ BugzillaTask repositoryTask = new BugzillaTask(IBugzillaConstants.ECLIPSE_BUGZILLA_URL, "1", "label"); > repositoryTask.setTaskKind("kind"); >- manager.getTaskList().moveToContainer(repositoryTask, >- TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory()); >+ manager.getTaskList().addTask(repositoryTask); > manager.saveTaskList(); > > manager.resetTaskList(); >@@ -98,8 +98,15 @@ > // TaskList list = new TaskList(); > // manager.setTaskList(list); > manager.readExistingOrCreateNewList(); >- assertEquals(1, manager.getTaskList().getDefaultCategory().getChildren().size()); >- AbstractTask readTask = manager.getTaskList().getDefaultCategory().getChildren().iterator().next(); >+ assertEquals(1, manager.getTaskList() >+ .getOrphanContainer(IBugzillaConstants.ECLIPSE_BUGZILLA_URL) >+ .getChildren() >+ .size()); >+ AbstractTask readTask = manager.getTaskList() >+ .getOrphanContainer(IBugzillaConstants.ECLIPSE_BUGZILLA_URL) >+ .getChildren() >+ .iterator() >+ .next(); > > assertEquals(repositoryTask.getHandleIdentifier(), readTask.getHandleIdentifier()); > assertEquals(repositoryTask.getSummary(), readTask.getSummary()); >@@ -164,7 +171,8 @@ > manager.setTaskListFile(originalFile); > > Collection<AbstractTask> allTasks = manager.getTaskList().getAllTasks(); >- Set<AbstractTask> allRootTasks = manager.getTaskList().getDefaultCategory().getChildren(); >+ Set<AbstractTask> allRootTasks = manager.getTaskList().getOrphanContainer( >+ LocalRepositoryConnector.REPOSITORY_URL).getChildren(); > Set<AbstractTaskCategory> allCategories = manager.getTaskList().getCategories(); > Set<AbstractTaskContainer> allRoots = manager.getTaskList().getRootElements(); > assertEquals(0, allRootTasks.size()); >@@ -176,7 +184,8 @@ > // manager.setTaskList(list); > manager.readExistingOrCreateNewList(); > >- assertEquals(allRootTasks.size(), manager.getTaskList().getDefaultCategory().getChildren().size()); >+ assertEquals(allRootTasks.size(), manager.getTaskList().getOrphanContainer( >+ LocalRepositoryConnector.REPOSITORY_URL).getChildren().size()); > assertEquals(allCategories, manager.getTaskList().getCategories()); > assertEquals(allRoots.size(), manager.getTaskList().getRootElements().size()); > assertEquals(allTasks.size(), manager.getTaskList().getAllTasks().size()); >@@ -189,7 +198,8 @@ > // manager.setTaskList(list); > manager.readExistingOrCreateNewList(); > >- assertEquals(allRootTasks.size(), manager.getTaskList().getDefaultCategory().getChildren().size()); >+ assertEquals(allRootTasks.size(), manager.getTaskList().getOrphanContainer( >+ LocalRepositoryConnector.REPOSITORY_URL).getChildren().size()); > assertEquals(allCategories, manager.getTaskList().getCategories()); > assertEquals(allRoots.size(), manager.getTaskList().getRootElements().size()); > assertEquals(allTasks.size(), manager.getTaskList().getAllTasks().size()); >#P org.eclipse.mylyn.tasks.core >Index: src/org/eclipse/mylyn/tasks/core/TaskSelection.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskSelection.java,v >retrieving revision 1.2 >diff -u -r1.2 TaskSelection.java >--- src/org/eclipse/mylyn/tasks/core/TaskSelection.java 16 Nov 2007 19:22:56 -0000 1.2 >+++ src/org/eclipse/mylyn/tasks/core/TaskSelection.java 12 Dec 2007 02:31:17 -0000 >@@ -46,7 +46,7 @@ > > public TaskSelection(String summary, String description) { > RepositoryTaskData taskData = new RepositoryTaskData(new IdentityAttributeFactory(), >- LocalRepositoryConnector.REPOSITORY_KIND, LocalRepositoryConnector.REPOSITORY_URL, ""); >+ LocalRepositoryConnector.CONNECTOR_KIND, LocalRepositoryConnector.REPOSITORY_URL, ""); > taskData.setSummary(summary); > taskData.setDescription(description); > this.taskData = taskData; >Index: src/org/eclipse/mylyn/tasks/core/AbstractTaskCategory.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/AbstractTaskCategory.java,v >retrieving revision 1.6 >diff -u -r1.6 AbstractTaskCategory.java >--- src/org/eclipse/mylyn/tasks/core/AbstractTaskCategory.java 27 Aug 2007 02:07:08 -0000 1.6 >+++ src/org/eclipse/mylyn/tasks/core/AbstractTaskCategory.java 12 Dec 2007 02:31:17 -0000 >@@ -23,6 +23,8 @@ > /** > * Override to return true for categories that the user creates, deletes, and renames. Return false for categories > * that are managed >+ * >+ * @API-3.0: Move up into AbstractTaskContainer > */ > public abstract boolean isUserDefined(); > >Index: src/org/eclipse/mylyn/tasks/core/TaskRepositoryManager.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskRepositoryManager.java,v >retrieving revision 1.43 >diff -u -r1.43 TaskRepositoryManager.java >--- src/org/eclipse/mylyn/tasks/core/TaskRepositoryManager.java 5 Dec 2007 00:49:37 -0000 1.43 >+++ src/org/eclipse/mylyn/tasks/core/TaskRepositoryManager.java 12 Dec 2007 02:31:17 -0000 >@@ -19,6 +19,7 @@ > import java.util.Set; > > import org.eclipse.core.runtime.Platform; >+import org.eclipse.mylyn.internal.tasks.core.OrphanedTasksContainer; > import org.eclipse.mylyn.internal.tasks.core.TaskRepositoriesExternalizer; > import org.eclipse.mylyn.monitor.core.StatusHandler; > >@@ -96,6 +97,9 @@ > } > repositories.add(repository); > saveRepositories(repositoryFilePath); >+ >+ taskList.addOrphanContainer(new OrphanedTasksContainer(repository.getConnectorKind(), repository.getUrl())); >+ > for (ITaskRepositoryListener listener : listeners) { > listener.repositoryAdded(repository); > } >@@ -106,6 +110,7 @@ > if (repositories != null) { > repository.flushAuthenticationCredentials(); > repositories.remove(repository); >+ taskList.removeOrphanContainer(repository.getUrl()); > } > saveRepositories(repositoryFilePath); > for (ITaskRepositoryListener listener : listeners) { >Index: src/org/eclipse/mylyn/tasks/core/TaskList.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskList.java,v >retrieving revision 1.67 >diff -u -r1.67 TaskList.java >--- src/org/eclipse/mylyn/tasks/core/TaskList.java 26 Sep 2007 15:44:33 -0000 1.67 >+++ src/org/eclipse/mylyn/tasks/core/TaskList.java 12 Dec 2007 02:31:17 -0000 >@@ -19,11 +19,12 @@ > import java.util.concurrent.CopyOnWriteArrayList; > import java.util.concurrent.CopyOnWriteArraySet; > >+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; > import org.eclipse.mylyn.internal.tasks.core.LocalTask; >+import org.eclipse.mylyn.internal.tasks.core.OrphanedTasksContainer; > import org.eclipse.mylyn.internal.tasks.core.RepositoryTaskHandleUtil; > import org.eclipse.mylyn.internal.tasks.core.TaskArchive; > import org.eclipse.mylyn.internal.tasks.core.TaskCategory; >-import org.eclipse.mylyn.internal.tasks.core.UnfiledCategory; > import org.eclipse.mylyn.monitor.core.StatusHandler; > > /** >@@ -38,42 +39,122 @@ > > private Set<ITaskListChangeListener> changeListeners = new CopyOnWriteArraySet<ITaskListChangeListener>(); > >+ private Map<String, OrphanedTasksContainer> repositoryOrphansMap; >+ > private Map<String, AbstractTask> tasks; > > private Map<String, AbstractTaskCategory> categories; > > private Map<String, AbstractRepositoryQuery> queries; > >- private TaskArchive archiveContainer; >- >- private UnfiledCategory defaultCategory; >- > private List<AbstractTask> activeTasks; > >+ private TaskArchive archiveContainer; >+ > public TaskList() { > reset(); > } > >+ private void addOrphanedTasks(Set<AbstractTask> tasks, Set<TaskContainerDelta> delta) { >+ for (AbstractTask task : tasks) { >+ if (getQueriesForHandle(task.getHandleIdentifier()).isEmpty()) { >+ addOrphan(task, delta); >+ } >+ } >+ } >+ >+ private void addOrphan(AbstractTask task, Set<TaskContainerDelta> delta) { >+ if (/*task.getLastReadTimeStamp() == null ||*/!getQueriesForHandle(task.getHandleIdentifier()).isEmpty() >+ || getCategoryForHandle(task.getHandleIdentifier()) != null) { >+ // Current policy is not to archive/orphan unread tasks or if the task exists in some other container >+ return; >+ } >+ OrphanedTasksContainer orphans = repositoryOrphansMap.get(task.getRepositoryUrl()); >+// if (orphans == null) { >+// orphans = new OrphanedTasksContainer(task.getConnectorKind(), task.getRepositoryUrl()); >+// repositoryOrphansMap.put(task.getRepositoryUrl(), orphans); >+// //categories.put(orphans.getHandleIdentifier(), orphans); >+// } >+ >+ if (orphans != null) { >+ if (!orphans.contains(task.getHandleIdentifier())) { >+ orphans.internalAddChild(task); >+ if (delta != null) { >+ delta.add(new TaskContainerDelta(orphans, TaskContainerDelta.Kind.CHANGED)); >+ } >+ } >+ task.addParentContainer(orphans); >+ } else { >+ StatusHandler.log("Orphan container not found for: " + task.getRepositoryUrl(), this); >+ } >+ >+ // TODO: recursively call this on all decendents >+ // for (AbstractTask child : task.getChildren()) { >+ // addOrphan(child, delta); >+ // } >+ >+ } >+ >+ private void removeOrphan(AbstractTask task, Set<TaskContainerDelta> delta) { >+ OrphanedTasksContainer orphans = repositoryOrphansMap.get(task.getRepositoryUrl()); >+ if (orphans != null) { >+ if (orphans.contains(task.getHandleIdentifier())) { >+ orphans.internalRemoveChild(task); >+ if (delta != null) { >+ delta.add(new TaskContainerDelta(orphans, TaskContainerDelta.Kind.CHANGED)); >+ } >+ } >+// if (orphans.isEmpty() && !orphans.getRepositoryUrl().equals(LocalRepositoryConnector.REPOSITORY_URL)) { >+// repositoryOrphansMap.remove(task.getRepositoryUrl()); >+// if (delta != null) { >+// delta.add(new TaskContainerDelta(orphans, TaskContainerDelta.Kind.CHANGED)); >+// } >+// } >+ task.removeParentContainer(orphans); >+ } >+ } >+ >+ /** >+ * @since 2.2 >+ */ >+ public Set<OrphanedTasksContainer> getOrphanContainers() { >+ return Collections.unmodifiableSet(new HashSet<OrphanedTasksContainer>(repositoryOrphansMap.values())); >+ } >+ >+ /** >+ * @since 2.2 >+ */ >+ public OrphanedTasksContainer getOrphanContainer(String repositoryUrl) { >+ return repositoryOrphansMap.get(repositoryUrl); >+ } >+ > /** > * Public for testing. > */ > public void reset() { > tasks = new ConcurrentHashMap<String, AbstractTask>(); > >+ repositoryOrphansMap = new ConcurrentHashMap<String, OrphanedTasksContainer>(); >+// repositoryOrphansMap.put(LocalRepositoryConnector.REPOSITORY_URL, new OrphanedTasksContainer( >+// LocalRepositoryConnector.CONNECTOR_KIND, LocalRepositoryConnector.REPOSITORY_URL)); >+ > categories = new ConcurrentHashMap<String, AbstractTaskCategory>(); > queries = new ConcurrentHashMap<String, AbstractRepositoryQuery>(); > >- archiveContainer = new TaskArchive(); >- defaultCategory = new UnfiledCategory(); >+ archiveContainer = new TaskArchive(this); >+ //defaultCategory = new UnfiledCategory(); > > activeTasks = new CopyOnWriteArrayList<AbstractTask>(); > lastLocalTaskId = 0; >- categories.put(defaultCategory.getHandleIdentifier(), defaultCategory); >- categories.put(archiveContainer.getHandleIdentifier(), archiveContainer); >+// categories.put(defaultCategory.getHandleIdentifier(), defaultCategory); >+// categories.put(archiveContainer.getHandleIdentifier(), archiveContainer); > } > >+ /** >+ * Add orphaned task to the task list >+ */ > public void addTask(AbstractTask task) throws IllegalArgumentException { >- addTask(task, archiveContainer); >+ addTask(task, null); > } > > /** >@@ -94,7 +175,9 @@ > } > > /** >- * Precondition: {@code container} already exists in tasklist (be it a parent task, category, or query) >+ * Precondition: {@code container} already exists in tasklist (be it a parent task, category, or query) If the >+ * parentContainer is null the task is considered an orphan and added to the appropriate repository's orphaned tasks >+ * container. > * > * @param task > * to be added (hit, subtask, etc) >@@ -111,8 +194,6 @@ > if (newTask == null) { > newTask = task; > tasks.put(newTask.getHandleIdentifier(), newTask); >-// archiveContainer.addChild(newTask); >-// newTask.addParentContainer(archiveContainer); > > // NOTE: only called for newly-created tasks > Set<TaskContainerDelta> delta = new HashSet<TaskContainerDelta>(); >@@ -126,16 +207,73 @@ > } > > if (parentContainer != null) { >+ if (parentContainer instanceof AbstractTask) { >+ // Ensure the parent task exists in the task list >+ tasks.put(parentContainer.getHandleIdentifier(), (AbstractTask) parentContainer); >+ >+ // TODO: will need to update map of children to parents here >+ } else { >+ // We don't get explicitly notification of removal of subtasks therefore >+ // cannot guarantee a task will find its way back into the archive >+ removeOrphan(newTask, null); >+ } >+ > parentContainer.internalAddChild(newTask); >+ > if (!(parentContainer instanceof AbstractTask) && !(parentContainer instanceof AbstractRepositoryQuery)) { > newTask.addParentContainer(parentContainer); > } > } else { >- defaultCategory.internalAddChild(newTask); >- newTask.addParentContainer(defaultCategory); >+ // TODO: if the task has a parent task which isn't orphaned than the current task isn't orphaned >+ // check map of children to parents first >+ addOrphan(task, null); >+ } >+ } >+ >+ /** >+ * @since 2.2 >+ */ >+ public void moveTask(AbstractTask task, AbstractTaskContainer container) { >+ if (!tasks.containsKey(task.getHandleIdentifier())) { >+ tasks.put(task.getHandleIdentifier(), task); >+ } >+ Set<TaskContainerDelta> delta = new HashSet<TaskContainerDelta>(); >+ delta.add(new TaskContainerDelta(container, TaskContainerDelta.Kind.CHANGED)); >+ >+ Set<AbstractTaskContainer> currentContainers = task.getParentContainers(); >+ for (AbstractTaskContainer taskContainer : currentContainers) { >+ if (taskContainer instanceof AbstractTaskCategory) { >+ if (!(taskContainer instanceof OrphanedTasksContainer)) { >+ (taskContainer).internalRemoveChild(task); >+ } >+// if (!(taskContainer instanceof TaskArchive)) { >+// (taskContainer).internalRemoveChild(task); >+// } >+ task.removeParentContainer(taskContainer); >+ delta.add(new TaskContainerDelta(taskContainer, TaskContainerDelta.Kind.CHANGED)); >+ } >+ } >+ if (container != null) { >+ internalAddTask(task, container); >+ delta.add(new TaskContainerDelta(container, TaskContainerDelta.Kind.CHANGED)); >+ if (!(container instanceof OrphanedTasksContainer)) { >+ removeOrphan(task, delta); >+ } >+// if (archiveContainer.contains(task.getHandleIdentifier())) { >+// archiveContainer.internalRemoveChild(task); >+// delta.add(new TaskContainerDelta(archiveContainer, TaskContainerDelta.Kind.CHANGED)); >+// } >+ } else { >+ internalAddTask(task, null); >+ } >+ for (ITaskListChangeListener listener : changeListeners) { >+ listener.containersChanged(delta); > } > } > >+ /** >+ * @deprecated >+ */ > public void moveToContainer(AbstractTask task, AbstractTaskCategory container) { > if (!tasks.containsKey(task.getHandleIdentifier())) { > tasks.put(task.getHandleIdentifier(), task); >@@ -146,9 +284,12 @@ > Set<AbstractTaskContainer> currentContainers = task.getParentContainers(); > for (AbstractTaskContainer taskContainer : currentContainers) { > if (taskContainer instanceof AbstractTaskCategory) { >- if (!(taskContainer instanceof TaskArchive)) { >+ if (!(taskContainer instanceof OrphanedTasksContainer)) { > (taskContainer).internalRemoveChild(task); > } >+// if (!(taskContainer instanceof TaskArchive)) { >+// (taskContainer).internalRemoveChild(task); >+// } > task.removeParentContainer(taskContainer); > delta.add(new TaskContainerDelta(taskContainer, TaskContainerDelta.Kind.CHANGED)); > } >@@ -156,12 +297,15 @@ > if (container != null) { > internalAddTask(task, container); > delta.add(new TaskContainerDelta(container, TaskContainerDelta.Kind.CHANGED)); >- if (archiveContainer.contains(task.getHandleIdentifier())) { >- archiveContainer.internalRemoveChild(task); >- delta.add(new TaskContainerDelta(archiveContainer, TaskContainerDelta.Kind.CHANGED)); >+ if (!(container instanceof OrphanedTasksContainer)) { >+ removeOrphan(task, delta); > } >+// if (archiveContainer.contains(task.getHandleIdentifier())) { >+// archiveContainer.internalRemoveChild(task); >+// delta.add(new TaskContainerDelta(archiveContainer, TaskContainerDelta.Kind.CHANGED)); >+// } > } else { >- internalAddTask(task, archiveContainer); >+ internalAddTask(task, null); > } > for (ITaskListChangeListener listener : changeListeners) { > listener.containersChanged(delta); >@@ -189,6 +333,17 @@ > delta.add(new TaskContainerDelta(query, TaskContainerDelta.Kind.CHANGED)); > } > } >+ >+ for (OrphanedTasksContainer orphans : repositoryOrphansMap.values()) { >+ if (orphans.getRepositoryUrl().equals(oldRepositoryUrl)) { >+ repositoryOrphansMap.remove(oldRepositoryUrl); >+ //categories.remove(orphans.getHandleIdentifier()); >+ orphans.setRepositoryUrl(newRepositoryUrl); >+ repositoryOrphansMap.put(newRepositoryUrl, orphans); >+ //categories.put(orphans.getHandleIdentifier(), orphans); >+ delta.add(new TaskContainerDelta(orphans, TaskContainerDelta.Kind.CHANGED)); >+ } >+ } > for (ITaskListChangeListener listener : changeListeners) { > listener.containersChanged(delta); > } >@@ -209,7 +364,14 @@ > } > > public void removeFromCategory(TaskCategory category, AbstractTask task) { >- moveToContainer(task, archiveContainer); >+ Set<TaskContainerDelta> delta = new HashSet<TaskContainerDelta>(); >+ delta.add(new TaskContainerDelta(category, TaskContainerDelta.Kind.CHANGED)); >+ category.internalRemoveChild(task); >+ addOrphan(task, delta); >+ for (ITaskListChangeListener listener : changeListeners) { >+ listener.containersChanged(delta); >+ } >+ //moveToContainer(task, null); > } > > /** >@@ -218,11 +380,21 @@ > * @since 2.1 > */ > public void removeFromQuery(AbstractRepositoryQuery query, AbstractTask task) { >+ >+ Set<TaskContainerDelta> delta = new HashSet<TaskContainerDelta>(); >+ delta.add(new TaskContainerDelta(task, TaskContainerDelta.Kind.CHANGED)); >+ > query.internalRemoveChild(task); >- if (task.getParentContainers().size() == 0 && task.getLastReadTimeStamp() != null) { >- task.addParentContainer(archiveContainer); >- archiveContainer.internalAddChild(task); >+ addOrphan(task, delta); >+ >+ for (ITaskListChangeListener listener : changeListeners) { >+ listener.containersChanged(delta); > } >+ >+// if (task.getParentContainers().size() == 0 && task.getLastReadTimeStamp() != null) { >+// task.addParentContainer(archiveContainer); >+// archiveContainer.internalAddChild(task); >+// } > } > > public void renameTask(AbstractTask task, String description) { >@@ -242,7 +414,7 @@ > public void renameContainer(AbstractTaskContainer container, String newDescription) { > if (container instanceof AbstractTask) { > return; >- } else if (!(container instanceof TaskArchive) && !(container instanceof UnfiledCategory)) { >+ } else if (!(container instanceof TaskArchive) && !(container instanceof OrphanedTasksContainer)) { > if (queries.remove(container.getHandleIdentifier()) != null) { > if (container instanceof AbstractTaskCategory) { > ((AbstractTaskCategory) container).setHandleIdentifier(newDescription); >@@ -284,8 +456,8 @@ > * deletion of subtasks) > */ > public void deleteTask(AbstractTask task) { >- archiveContainer.internalRemoveChild(task); >- defaultCategory.internalRemoveChild(task); >+// archiveContainer.internalRemoveChild(task); >+// defaultCategory.internalRemoveChild(task); > > for (AbstractTaskContainer container : task.getParentContainers()) { > container.internalRemoveChild(task); >@@ -294,6 +466,7 @@ > tasks.remove(task.getHandleIdentifier()); > > Set<TaskContainerDelta> delta = new HashSet<TaskContainerDelta>(); >+ removeOrphan(task, delta); > delta.add(new TaskContainerDelta(task, TaskContainerDelta.Kind.REMOVED)); > for (ITaskListChangeListener listener : changeListeners) { > listener.containersChanged(delta); >@@ -301,13 +474,13 @@ > } > > public void deleteCategory(AbstractTaskCategory category) { >- for (AbstractTask task : category.getChildren()) { >- defaultCategory.internalAddChild(task); >- } >+ Set<TaskContainerDelta> delta = new HashSet<TaskContainerDelta>(); > categories.remove(category.getHandleIdentifier()); >+ addOrphanedTasks(category.getChildren(), delta); >+// for (AbstractTask task : category.getChildren()) { >+// defaultCategory.internalAddChild(task); >+// } > >- Set<TaskContainerDelta> delta = new HashSet<TaskContainerDelta>(); >- delta.add(new TaskContainerDelta(defaultCategory, TaskContainerDelta.Kind.CHANGED)); > delta.add(new TaskContainerDelta(category, TaskContainerDelta.Kind.REMOVED)); > > for (ITaskListChangeListener listener : changeListeners) { >@@ -316,16 +489,17 @@ > } > > public void deleteQuery(AbstractRepositoryQuery query) { >- queries.remove(query.getHandleIdentifier()); >+ Set<TaskContainerDelta> delta = new HashSet<TaskContainerDelta>(); > >- for (AbstractTask task : query.getChildren()) { >- if (task.getParentContainers().size() == 0 && task.getLastReadTimeStamp() != null) { >- task.addParentContainer(archiveContainer); >- archiveContainer.internalAddChild(task); >- } >- } >+ queries.remove(query.getHandleIdentifier()); >+ addOrphanedTasks(query.getChildren(), delta); >+// for (AbstractTask task : query.getChildren()) { >+// if (task.getParentContainers().size() == 0 && task.getLastReadTimeStamp() != null) { >+// task.addParentContainer(archiveContainer); >+// archiveContainer.internalAddChild(task); >+// } >+// } > >- Set<TaskContainerDelta> delta = new HashSet<TaskContainerDelta>(); > delta.add(new TaskContainerDelta(query, TaskContainerDelta.Kind.REMOVED)); > for (ITaskListChangeListener listener : changeListeners) { > listener.containersChanged(delta); >@@ -357,21 +531,51 @@ > categories.put(category.getHandleIdentifier(), category); > } > >+ /** >+ * @deprecated >+ */ > public void internalAddTask(AbstractTask task, AbstractTaskCategory container) { >+ internalAddTask(task, (AbstractTaskContainer) container); >+// //tasks.put(task.getHandleIdentifier(), task); >+// if (container != null) { >+// tasks.put(task.getHandleIdentifier(), task); >+// container.internalAddChild(task); >+// if (container instanceof TaskCategory || container instanceof OrphanedTasksContainer) { >+// task.addParentContainer(container); >+// } >+// } else { >+// if (task.getLastReadTimeStamp() != null) { >+// // any unread task (hit) that is an orphan is discarded >+// tasks.put(task.getHandleIdentifier(), task); >+// addOrphan(task, null); >+// } >+//// defaultCategory.internalAddChild(task); >+//// task.addParentContainer(defaultCategory); >+// } >+ } >+ >+ public void internalAddTask(AbstractTask task, AbstractTaskContainer container) { > tasks.put(task.getHandleIdentifier(), task); > if (container != null) { > container.internalAddChild(task); >- if (container instanceof TaskCategory || container instanceof UnfiledCategory) { >+ if (container instanceof TaskCategory || container instanceof OrphanedTasksContainer) { > task.addParentContainer(container); > } > } else { >- defaultCategory.internalAddChild(task); >- task.addParentContainer(defaultCategory); >+ //if (task.getLastReadTimeStamp() != null) { >+ // any unread task (hit) that is an orphan is discarded >+ addOrphan(task, null); >+ //} >+// defaultCategory.internalAddChild(task); >+// task.addParentContainer(defaultCategory); > } > } > >+ /** >+ * @API-3.0 remove >+ */ > public void internalAddRootTask(AbstractTask task) { >- internalAddTask(task, defaultCategory); >+ internalAddTask(task, null); > } > > public void internalAddQuery(AbstractRepositoryQuery query) { >@@ -412,7 +616,7 @@ > public List<AbstractTaskCategory> getUserCategories() { > List<AbstractTaskCategory> included = new ArrayList<AbstractTaskCategory>(); > for (AbstractTaskCategory category : categories.values()) { >- if (!(category instanceof TaskArchive)) { >+ if (!(category instanceof OrphanedTasksContainer)) { > included.add(category); > } > } >@@ -426,11 +630,13 @@ > > public Set<AbstractTaskContainer> getRootElements() { > Set<AbstractTaskContainer> roots = new HashSet<AbstractTaskContainer>(); >- roots.add(defaultCategory); >+ //roots.add(defaultCategory); > for (AbstractTaskCategory cat : categories.values()) > roots.add(cat); > for (AbstractRepositoryQuery query : queries.values()) > roots.add(query); >+ for (OrphanedTasksContainer orphanContainer : repositoryOrphansMap.values()) >+ roots.add(orphanContainer); > return roots; > } > >@@ -460,10 +666,23 @@ > return null; > } > >+ private AbstractTaskCategory getCategoryForHandle(String handle) { >+ if (handle == null) { >+ return null; >+ } >+ for (AbstractTaskCategory category : categories.values()) { >+ if (!(category instanceof OrphanedTasksContainer) && category.contains(handle)) { >+ return category; >+ } >+ } >+ return null; >+ } >+ > public boolean isEmpty() { >- boolean archiveIsEmpty = getCategories().size() == 2 && getCategories().contains(archiveContainer) >- && getCategories().contains(defaultCategory) && archiveContainer.getChildren().isEmpty(); >- return getAllTasks().size() == 0 && archiveIsEmpty && getQueries().size() == 0; >+// boolean archiveIsEmpty = getCategories().size() == 2 && getCategories().contains(archiveContainer) >+// && getCategories().contains(defaultCategory) && archiveContainer.getChildren().isEmpty(); >+ return getAllTasks().size() == 0 /*&& archiveIsEmpty*/&& getQueries().size() == 0 >+ && getCategories().size() == 0; > } > > /** >@@ -536,10 +755,16 @@ > return null; > } > >+ /** >+ * @deprecated >+ */ > public AbstractTaskCategory getDefaultCategory() { >- return defaultCategory; >+ return getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL); > } > >+ /** >+ * @deprecated >+ */ > public TaskArchive getArchiveContainer() { > return archiveContainer; > } >@@ -658,7 +883,7 @@ > if (containers == null) { > delta = new HashSet<TaskContainerDelta>(); > delta.add(new TaskContainerDelta(null, TaskContainerDelta.Kind.ROOT)); >- } else { >+ } else { > delta = new HashSet<TaskContainerDelta>(); > for (AbstractTaskContainer abstractTaskContainer : containers) { > delta.add(new TaskContainerDelta(abstractTaskContainer, TaskContainerDelta.Kind.CHANGED)); >@@ -708,8 +933,8 @@ > int max = 0; > for (AbstractTask task : tasks) { > if (task instanceof LocalTask) { >- String string = task.getHandleIdentifier().substring(task.getHandleIdentifier().lastIndexOf('-') + 1, >- task.getHandleIdentifier().length()); >+ String string = task.getHandleIdentifier().substring( >+ task.getHandleIdentifier().lastIndexOf('-') + 1, task.getHandleIdentifier().length()); > try { > ihandle = Integer.parseInt(string); > } catch (NumberFormatException nfe) { >@@ -741,12 +966,28 @@ > task.addParentContainer(legacyCategory); > legacyCategory.internalAddChild(task); > } else { >- this.internalAddTask(task, this.getArchiveContainer()); >+ this.internalAddTask(task, null); > } > > this.setActive(task, task.isActive()); > } > >+ /** >+ * Internal API >+ */ >+ public void addOrphanContainer(OrphanedTasksContainer orphanedTasksContainer) { >+ repositoryOrphansMap.put(orphanedTasksContainer.getRepositoryUrl(), orphanedTasksContainer); >+ } >+ >+ /** >+ * Internal API >+ */ >+ public void removeOrphanContainer(String url) { >+ if (url != null && !url.equals(LocalRepositoryConnector.REPOSITORY_URL)) { >+ repositoryOrphansMap.remove(url); >+ } >+ } >+ > // /** > // * Orphaned hits arise when no query in the tasklist references a hit in the > // * master list maintained by the tasklist. Orphaned hits don't span >Index: src/org/eclipse/mylyn/internal/tasks/core/LocalTask.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/LocalTask.java,v >retrieving revision 1.8 >diff -u -r1.8 LocalTask.java >--- src/org/eclipse/mylyn/internal/tasks/core/LocalTask.java 26 Jun 2007 01:16:32 -0000 1.8 >+++ src/org/eclipse/mylyn/internal/tasks/core/LocalTask.java 12 Dec 2007 02:31:17 -0000 >@@ -28,7 +28,7 @@ > > @Override > public String getConnectorKind() { >- return LocalRepositoryConnector.REPOSITORY_KIND; >+ return LocalRepositoryConnector.CONNECTOR_KIND; > } > > @Override >@@ -43,7 +43,7 @@ > > @Override > public String getOwner() { >- return LocalRepositoryConnector.REPOSITORY_KIND; >+ return LocalRepositoryConnector.CONNECTOR_KIND; > } > > @Override >Index: src/org/eclipse/mylyn/internal/tasks/core/LocalRepositoryConnector.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/LocalRepositoryConnector.java,v >retrieving revision 1.10 >diff -u -r1.10 LocalRepositoryConnector.java >--- src/org/eclipse/mylyn/internal/tasks/core/LocalRepositoryConnector.java 26 Jun 2007 02:01:17 -0000 1.10 >+++ src/org/eclipse/mylyn/internal/tasks/core/LocalRepositoryConnector.java 12 Dec 2007 02:31:17 -0000 >@@ -29,7 +29,7 @@ > > public static final String REPOSITORY_LABEL = "Local Tasks"; > >- public static final String REPOSITORY_KIND = "local"; >+ public static final String CONNECTOR_KIND = "local"; > > public static final String REPOSITORY_URL = "local"; > >@@ -70,7 +70,7 @@ > > @Override > public String getConnectorKind() { >- return REPOSITORY_KIND; >+ return CONNECTOR_KIND; > } > > @Override >Index: src/org/eclipse/mylyn/internal/tasks/core/TaskArchive.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskArchive.java,v >retrieving revision 1.5 >diff -u -r1.5 TaskArchive.java >--- src/org/eclipse/mylyn/internal/tasks/core/TaskArchive.java 26 Jun 2007 01:16:32 -0000 1.5 >+++ src/org/eclipse/mylyn/internal/tasks/core/TaskArchive.java 12 Dec 2007 02:31:17 -0000 >@@ -8,7 +8,12 @@ > > package org.eclipse.mylyn.internal.tasks.core; > >+import java.util.HashSet; >+import java.util.Set; >+ >+import org.eclipse.mylyn.tasks.core.AbstractTask; > import org.eclipse.mylyn.tasks.core.AbstractTaskCategory; >+import org.eclipse.mylyn.tasks.core.TaskList; > import org.eclipse.mylyn.tasks.core.AbstractTask.PriorityLevel; > > /** >@@ -20,8 +25,11 @@ > > public static final String LABEL_ARCHIVE = "Archive (all tasks)"; > >- public TaskArchive() { >+ public TaskList taskList; >+ >+ public TaskArchive(TaskList taskList) { > super(HANDLE); >+ this.taskList = taskList; > } > > @Override >@@ -43,4 +51,28 @@ > public boolean isUserDefined() { > return false; > } >+ >+ @Override >+ public Set<AbstractTask> getChildren() { >+ Set<AbstractTask> children = new HashSet<AbstractTask>(); >+ for (OrphanedTasksContainer container : taskList.getOrphanContainers()) { >+ children.addAll(container.getChildren()); >+ } >+ return children; >+ } >+ >+ @Override >+ public Set<AbstractTask> getChildrenInternal() { >+ return getChildren(); >+ } >+ >+ @Override >+ public void internalAddChild(AbstractTask task) { >+ // ignore >+ } >+ >+ @Override >+ public void internalRemoveChild(AbstractTask task) { >+ // ignore >+ } > } >Index: .refactorings/2007/12/49/refactorings.history >=================================================================== >RCS file: .refactorings/2007/12/49/refactorings.history >diff -N .refactorings/2007/12/49/refactorings.history >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ .refactorings/2007/12/49/refactorings.history 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,3 @@ >+<?xml version="1.0" encoding="UTF-8"?> >+<session version="1.0">
<refactoring comment="Copy 1 elements(s) to 'org.eclipse.mylyn.tasks.core/src/org.eclipse.mylyn.internal.tasks.core'
- Original project: 'org.eclipse.mylyn.tasks.core'
- Destination element: 'org.eclipse.mylyn.tasks.core/src/org.eclipse.mylyn.internal.tasks.core'
- Original element: 'org.eclipse.mylyn.internal.tasks.core.UnfiledCategory.java'" description="Copy compilation unit" destination="/src<org.eclipse.mylyn.internal.tasks.core" element1="/src<org.eclipse.mylyn.internal.tasks.core{UnfiledCategory.java" files="0" flags="589830" folders="0" id="org.eclipse.jdt.ui.copy" policy="org.eclipse.jdt.ui.copyResources" stamp="1196888061065" units="1" version="1.0"/>
<refactoring comment="Rename type 'org.eclipse.mylyn.internal.tasks.core.OrphanedTasks' to 'OrphanedTasksContainer'
- Original project: 'org.eclipse.mylyn.tasks.core'
- Original element: 'org.eclipse.mylyn.internal.tasks.core.OrphanedTasks'
- Renamed element: 'org.eclipse.mylyn.internal.tasks.core.OrphanedTasksContainer'
- Update references to refactored element
- Rename similarly named elements
- Update fully qualified names in '*.xml, *.xsd' files
- Update textual occurrences in comments and strings" description="Rename type 'OrphanedTasks'" flags="589830" id="org.eclipse.jdt.ui.rename.type" input="/src<org.eclipse.mylyn.internal.tasks.core{OrphanedTasks.java[OrphanedTasks" matchStrategy="1" name="OrphanedTasksContainer" patterns="*.xml, *.xsd" qualified="true" references="true" similarDeclarations="true" stamp="1196889544235" textual="false" version="1.0"/>
<refactoring comment="Rename field 'orphanedTaskContainers' in 'org.eclipse.mylyn.tasks.core.TaskList' to 'repositoryOrphansMap'
- Original project: 'org.eclipse.mylyn.tasks.core'
- Original element: 'org.eclipse.mylyn.tasks.core.TaskList.orphanedTaskContainers'
- Renamed element: 'org.eclipse.mylyn.tasks.core.TaskList.repositoryOrphansMap'
- Update references to refactored element
- Update textual occurrences in comments and strings" delegate="false" deprecate="false" description="Rename field 'orphanedTaskContainers'" flags="589826" getter="false" id="org.eclipse.jdt.ui.rename.field" input="/src<org.eclipse.mylyn.tasks.core{TaskList.java[TaskList^orphanedTaskContainers" name="repositoryOrphansMap" references="true" setter="false" stamp="1196902163343" textual="false" version="1.0"/>
<refactoring comment="Rename method 'org.eclipse.mylyn.tasks.core.TaskList.getOrphanedContainer(...)' to 'getOrphanContainer'
- Original project: 'org.eclipse.mylyn.tasks.core'
- Original element: 'org.eclipse.mylyn.tasks.core.TaskList.getOrphanedContainer(...)'
- Renamed element: 'org.eclipse.mylyn.tasks.core.TaskList.getOrphanContainer(...)'
- Update references to refactored element" delegate="false" deprecate="false" description="Rename method 'getOrphanedContainer'" flags="589830" id="org.eclipse.jdt.ui.rename.method" input="/src<org.eclipse.mylyn.tasks.core{TaskList.java[TaskList~getOrphanedContainer~QString;" name="getOrphanContainer" references="true" stamp="1196916697413" version="1.0"/>
<refactoring comment="Rename field 'REPOSITORY_KIND' in 'org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector' to 'CONNECTOR_KIND'
- Original project: 'org.eclipse.mylyn.tasks.core'
- Original element: 'org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector.REPOSITORY_KIND'
- Renamed element: 'org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector.CONNECTOR_KIND'
- Update references to refactored element
- Update textual occurrences in comments and strings" delegate="false" deprecate="false" description="Rename field 'REPOSITORY_KIND'" flags="589830" getter="false" id="org.eclipse.jdt.ui.rename.field" input="/src<org.eclipse.mylyn.internal.tasks.core{LocalRepositoryConnector.java[LocalRepositoryConnector^REPOSITORY_KIND" name="CONNECTOR_KIND" references="true" setter="false" stamp="1196923680591" textual="false" version="1.0"/> >+</session> >Index: .refactorings/2007/12/49/refactorings.index >=================================================================== >RCS file: .refactorings/2007/12/49/refactorings.index >diff -N .refactorings/2007/12/49/refactorings.index >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ .refactorings/2007/12/49/refactorings.index 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,5 @@ >+1196888061065 Copy compilation unit >+1196889544235 Rename type 'OrphanedTasks' >+1196902163343 Rename field 'orphanedTaskContainers' >+1196916697413 Rename method 'getOrphanedContainer' >+1196923680591 Rename field 'REPOSITORY_KIND' >Index: src/org/eclipse/mylyn/internal/tasks/core/OrphanedTasksContainer.java >=================================================================== >RCS file: src/org/eclipse/mylyn/internal/tasks/core/OrphanedTasksContainer.java >diff -N src/org/eclipse/mylyn/internal/tasks/core/OrphanedTasksContainer.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/mylyn/internal/tasks/core/OrphanedTasksContainer.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,65 @@ >+/******************************************************************************* >+ * Copyright (c) 2004, 2007 Mylyn project committers 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 >+ *******************************************************************************/ >+ >+package org.eclipse.mylyn.internal.tasks.core; >+ >+import org.eclipse.mylyn.tasks.core.AbstractTaskCategory; >+import org.eclipse.mylyn.tasks.core.AbstractTask.PriorityLevel; >+ >+/** >+ * Holds orphaned or uncategorized tasks for a given repository >+ * >+ * @author Rob Elves >+ */ >+public class OrphanedTasksContainer extends AbstractTaskCategory { >+ >+ public static final String LABEL = "Uncategorized"; >+ >+ public static final String HANDLE = "orphans"; >+ >+ private String repositoryUrl; >+ >+ private String connectorKind; >+ >+ public OrphanedTasksContainer(String connectorKind, String repositoryUrl) { >+ super(repositoryUrl + "-" + HANDLE); >+ this.repositoryUrl = repositoryUrl; >+ this.connectorKind = connectorKind; >+ } >+ >+ @Override >+ public String getPriority() { >+ return PriorityLevel.P1.toString(); >+ } >+ >+ @Override >+ public String getSummary() { >+ return "Archive: " + getRepositoryUrl(); >+ } >+ >+ @Override >+ public boolean isUserDefined() { >+ return false; >+ } >+ >+ public String getRepositoryUrl() { >+ return repositoryUrl; >+ } >+ >+ public String getConnectorKind() { >+ return connectorKind; >+ } >+ >+ /** >+ * setting will also refactor handle >+ */ >+ public void setRepositoryUrl(String repositoryUrl) { >+ this.repositoryUrl = repositoryUrl; >+ this.setHandleIdentifier(repositoryUrl + "-" + HANDLE); >+ } >+} >#P org.eclipse.mylyn.tasks.ui >Index: src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListTableSorter.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListTableSorter.java,v >retrieving revision 1.31 >diff -u -r1.31 TaskListTableSorter.java >--- src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListTableSorter.java 26 Nov 2007 19:31:39 -0000 1.31 >+++ src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListTableSorter.java 12 Dec 2007 02:31:18 -0000 >@@ -11,13 +11,14 @@ > import org.eclipse.jface.dialogs.MessageDialog; > import org.eclipse.jface.viewers.Viewer; > import org.eclipse.jface.viewers.ViewerSorter; >+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; >+import org.eclipse.mylyn.internal.tasks.core.OrphanedTasksContainer; > import org.eclipse.mylyn.internal.tasks.core.ScheduledTaskContainer; >-import org.eclipse.mylyn.internal.tasks.core.TaskArchive; >-import org.eclipse.mylyn.internal.tasks.core.UnfiledCategory; > import org.eclipse.mylyn.internal.tasks.ui.ITasksUiConstants; > import org.eclipse.mylyn.tasks.core.AbstractRepositoryQuery; > import org.eclipse.mylyn.tasks.core.AbstractTask; > import org.eclipse.mylyn.tasks.core.AbstractTaskContainer; >+import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; > import org.eclipse.ui.PlatformUI; > > /** >@@ -74,15 +75,17 @@ > return 1; > } > >- if (o1 instanceof UnfiledCategory && o2 instanceof AbstractTaskContainer) { >+ OrphanedTasksContainer localArchive = TasksUiPlugin.getTaskListManager().getTaskList().getOrphanContainer( >+ LocalRepositoryConnector.REPOSITORY_URL); >+ if (o1 == localArchive && o2 instanceof AbstractTaskContainer) { > return -1; >- } else if (o1 instanceof AbstractTaskContainer && o2 instanceof UnfiledCategory) { >+ } else if (o1 instanceof AbstractTaskContainer && o2 == localArchive) { > return 1; > } > >- if (o1 instanceof AbstractTaskContainer && o2 instanceof TaskArchive) { >+ if (o1 instanceof AbstractTaskContainer && o2 instanceof OrphanedTasksContainer) { > return -1; >- } else if (o2 instanceof AbstractTaskContainer && o1 instanceof TaskArchive) { >+ } else if (o2 instanceof AbstractTaskContainer && o1 instanceof OrphanedTasksContainer) { > return 1; > } > >@@ -150,7 +153,7 @@ > > /** > * Determine the sort order of two tasks by id/summary >- * >+ * > * @param element1 > * @param element2 > * @return sort order >@@ -162,7 +165,7 @@ > > /** > * Return a sortable string in the format "key: summary" >- * >+ * > * @param element > * @return sortable string > * @deprecated Use getSortableFromElement() >@@ -181,12 +184,12 @@ > > /** > * Return a array of values to pass to taskKeyComparator.compare() for sorting >- * >+ * > * @param element > * @return String array[component, taskId, summary] > */ > public static String[] getSortableFromElement(AbstractTaskContainer element) { >- final String a[] = new String[] {"", null, element.getSummary()}; >+ final String a[] = new String[] { "", null, element.getSummary() }; > > if (element instanceof AbstractTask) { > AbstractTask task1 = (AbstractTask) element; >Index: src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListView.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListView.java,v >retrieving revision 1.215 >diff -u -r1.215 TaskListView.java >--- src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListView.java 11 Dec 2007 20:17:08 -0000 1.215 >+++ src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListView.java 12 Dec 2007 02:31:18 -0000 >@@ -458,8 +458,7 @@ > refreshJob.refresh(); > break; > default: >- if (taskContainerDelta.getContainer().equals( >- TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory())) { >+ if (taskContainerDelta.getContainer() == null) { > refreshJob.refresh(); > } else { > refreshJob.refreshTask(taskContainerDelta.getContainer()); >@@ -1135,7 +1134,7 @@ > subMenu = new MenuManager("New", ID_MENU_NEW); > manager.add(subMenu); > } >- >+ > subMenu.add(new Separator(ID_SEPARATOR_NEW_REPOSITORY)); > subMenu.add(action); > subMenu.add(new Separator(ID_SEPARATOR_NEW_LOCAL)); >@@ -1177,7 +1176,7 @@ > manager.add(new Separator()); > > addAction(copyDetailsAction, manager, element); >- if (task != null && !task.isLocal()) { >+ if (task != null && task.isLocal()) { > // addAction(cloneThisBugAction, manager, element); > addAction(removeFromCategoryAction, manager, element); > } >@@ -1407,7 +1406,7 @@ > refreshJob.forceRefresh(); > } > } >- >+ > public void refresh() { > refreshJob.forceRefresh(); > // if (expand) { >@@ -1698,8 +1697,9 @@ > Set<AbstractTaskContainer> containers = new HashSet<AbstractTaskContainer>( > TasksUiPlugin.getTaskListManager().getTaskList().getQueriesForHandle(task.getHandleIdentifier())); > containers.addAll(task.getParentContainers()); >- containers.add(TasksUiPlugin.getTaskListManager().getTaskList().getArchiveContainer()); >- containers.add(TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory()); >+ containers.add(TasksUiPlugin.getTaskListManager().getTaskList().getOrphanContainer(task.getRepositoryUrl())); >+// containers.add(TasksUiPlugin.getTaskListManager().getTaskList().getArchiveContainer()); >+// containers.add(TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory()); > for (AbstractTaskContainer container : containers) { > refreshJob.refreshTask(container); > } >Index: src/org/eclipse/mylyn/internal/tasks/ui/views/TaskElementLabelProvider.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskElementLabelProvider.java,v >retrieving revision 1.77 >diff -u -r1.77 TaskElementLabelProvider.java >--- src/org/eclipse/mylyn/internal/tasks/ui/views/TaskElementLabelProvider.java 1 Nov 2007 22:25:14 -0000 1.77 >+++ src/org/eclipse/mylyn/internal/tasks/ui/views/TaskElementLabelProvider.java 12 Dec 2007 02:31:18 -0000 >@@ -14,6 +14,7 @@ > import org.eclipse.jface.viewers.IColorProvider; > import org.eclipse.jface.viewers.IFontProvider; > import org.eclipse.jface.viewers.LabelProvider; >+import org.eclipse.mylyn.internal.tasks.core.OrphanedTasksContainer; > import org.eclipse.mylyn.internal.tasks.core.Person; > import org.eclipse.mylyn.internal.tasks.core.ScheduledTaskContainer; > import org.eclipse.mylyn.internal.tasks.core.TaskActivityManager; >@@ -87,7 +88,8 @@ > > private CompositeImageDescriptor getImageDescriptor(Object object) { > CompositeImageDescriptor compositeDescriptor = new CompositeImageDescriptor(); >- if (object instanceof TaskArchive || object instanceof UnfiledCategory) { >+ if (object instanceof TaskArchive || object instanceof UnfiledCategory >+ || object instanceof OrphanedTasksContainer) { > compositeDescriptor.icon = TasksUiImages.CATEGORY_ARCHIVE; > return compositeDescriptor; > } else if (object instanceof TaskCategory || object instanceof UnfiledCategory) { >@@ -223,6 +225,25 @@ > } else if (object instanceof TaskGroup) { > TaskGroup element = (TaskGroup) object; > return element.getSummary();// + " / " + element.getChildren().size(); >+ } else if (object instanceof OrphanedTasksContainer) { >+ >+ OrphanedTasksContainer container = (OrphanedTasksContainer) object; >+ >+// OrphanedTasksContainer localArchive = TasksUiPlugin.getTaskListManager().getTaskList().getOrphanContainer( >+// LocalRepositoryConnector.REPOSITORY_URL); >+// if (container == localArchive) { >+// return "Local Tasks"; >+// } >+ >+ String result = container.getSummary(); >+ TaskRepository repository = TasksUiPlugin.getRepositoryManager().getRepository( >+ container.getConnectorKind(), container.getRepositoryUrl()); >+ if (repository != null) { >+ result = "Archive: " + repository.getRepositoryLabel(); >+ } >+ >+ return result; >+ > } else if (object instanceof AbstractTaskContainer) { > AbstractTaskContainer element = (AbstractTaskContainer) object; > return element.getSummary(); >Index: src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java,v >retrieving revision 1.46 >diff -u -r1.46 TaskListDropAdapter.java >--- src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java 30 Nov 2007 20:07:03 -0000 1.46 >+++ src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java 12 Dec 2007 02:31:18 -0000 >@@ -25,6 +25,8 @@ > import org.eclipse.jface.viewers.ViewerDropAdapter; > import org.eclipse.mylyn.context.core.ContextCorePlugin; > import org.eclipse.mylyn.internal.context.core.InteractionContext; >+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; >+import org.eclipse.mylyn.internal.tasks.core.OrphanedTasksContainer; > import org.eclipse.mylyn.internal.tasks.core.ScheduledTaskContainer; > import org.eclipse.mylyn.internal.tasks.core.TaskActivityUtil; > import org.eclipse.mylyn.internal.tasks.core.TaskCategory; >@@ -153,21 +155,30 @@ > > for (AbstractTask task : tasksToMove) { > if (currentTarget instanceof UnfiledCategory) { >- TasksUiPlugin.getTaskListManager().getTaskList().moveToContainer(task, (UnfiledCategory) currentTarget); >+ TasksUiPlugin.getTaskListManager().getTaskList().moveTask(task, (UnfiledCategory) currentTarget); > } else if (currentTarget instanceof TaskCategory) { >- TasksUiPlugin.getTaskListManager().getTaskList().moveToContainer(task, (TaskCategory) currentTarget); >+ TasksUiPlugin.getTaskListManager().getTaskList().moveTask(task, (TaskCategory) currentTarget); >+ } else if (currentTarget instanceof OrphanedTasksContainer) { >+ if (((OrphanedTasksContainer) currentTarget).getRepositoryUrl().equals(task.getRepositoryUrl())) { >+ TasksUiPlugin.getTaskListManager().getTaskList().moveTask(task, >+ (AbstractTaskCategory) currentTarget); >+ } > } else if (currentTarget instanceof AbstractTask) { > AbstractTask targetTask = (AbstractTask) currentTarget; > AbstractTaskCategory targetCategory = null; > // TODO: just look for categories? > if (targetTask.getParentContainers().size() > 0) { > AbstractTaskContainer container = targetTask.getParentContainers().iterator().next(); >- if (container instanceof TaskCategory || container instanceof UnfiledCategory) { >+ if (container instanceof TaskCategory) { > targetCategory = (AbstractTaskCategory) container; >+ } else if (container instanceof OrphanedTasksContainer) { >+ if (((OrphanedTasksContainer) container).getRepositoryUrl().equals(task.getRepositoryUrl())) { >+ targetCategory = (AbstractTaskCategory) container; >+ } > } > } > if (targetCategory != null) { >- TasksUiPlugin.getTaskListManager().getTaskList().moveToContainer(task, targetCategory); >+ TasksUiPlugin.getTaskListManager().getTaskList().moveTask(task, targetCategory); > } > } else if (currentTarget instanceof ScheduledTaskContainer) { > ScheduledTaskContainer container = (ScheduledTaskContainer) currentTarget; >@@ -176,8 +187,10 @@ > TaskActivityUtil.snapEndOfWorkDay(newSchedule); > TasksUiPlugin.getTaskActivityManager().setScheduledFor(task, newSchedule.getTime()); > } else if (currentTarget == null) { >- TasksUiPlugin.getTaskListManager().getTaskList().moveToContainer(newTask, >- TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory()); >+ TasksUiPlugin.getTaskListManager().getTaskList().moveTask( >+ newTask, >+ TasksUiPlugin.getTaskListManager().getTaskList().getOrphanContainer( >+ LocalRepositoryConnector.REPOSITORY_URL)); > } > } > >@@ -298,7 +311,7 @@ > // handle all files > return true; > } else if (TaskTransfer.getInstance().isSupportedType(currentTransfer)) { >- if (getCurrentTarget() instanceof TaskCategory || getCurrentTarget() instanceof UnfiledCategory >+ if (getCurrentTarget() instanceof TaskCategory || getCurrentTarget() instanceof OrphanedTasksContainer > || getCurrentTarget() instanceof ScheduledTaskContainer) { > return true; > } else if (getCurrentTarget() instanceof AbstractTaskContainer >Index: src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorActionContributor.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorActionContributor.java,v >retrieving revision 1.39 >diff -u -r1.39 TaskEditorActionContributor.java >--- src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorActionContributor.java 21 Nov 2007 21:17:43 -0000 1.39 >+++ src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorActionContributor.java 12 Dec 2007 02:31:18 -0000 >@@ -26,6 +26,7 @@ > import org.eclipse.jface.viewers.IStructuredSelection; > import org.eclipse.jface.viewers.SelectionChangedEvent; > import org.eclipse.jface.viewers.StructuredSelection; >+import org.eclipse.mylyn.internal.tasks.core.OrphanedTasksContainer; > import org.eclipse.mylyn.internal.tasks.ui.AddExistingTaskJob; > import org.eclipse.mylyn.internal.tasks.ui.IDynamicSubMenuContributor; > import org.eclipse.mylyn.internal.tasks.ui.TasksUiImages; >@@ -180,7 +181,7 @@ > > Collections.sort(categories); > for (final AbstractTaskCategory category : categories) { >- if (!category.equals(TasksUiPlugin.getTaskListManager().getTaskList().getArchiveContainer())) { >+ if (!(category instanceof OrphanedTasksContainer)) {//.equals(TasksUiPlugin.getTaskListManager().getTaskList().getArchiveContainer())) { > Action action = new Action() { > @Override > public void run() { >Index: src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java,v >retrieving revision 1.90 >diff -u -r1.90 TaskPlanningEditor.java >--- src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java 11 Dec 2007 23:05:43 -0000 1.90 >+++ src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskPlanningEditor.java 12 Dec 2007 02:31:18 -0000 >@@ -154,7 +154,9 @@ > if (PlatformUI.getWorkbench() != null && !PlatformUI.getWorkbench().isClosing()) { > PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { > public void run() { >- updateTaskData(updateTask); >+ if (summaryEditor.getTextWidget() != null) { >+ updateTaskData(updateTask); >+ } > } > }); > } >Index: src/org/eclipse/mylyn/internal/tasks/ui/actions/RemoveFromCategoryAction.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/RemoveFromCategoryAction.java,v >retrieving revision 1.16 >diff -u -r1.16 RemoveFromCategoryAction.java >--- src/org/eclipse/mylyn/internal/tasks/ui/actions/RemoveFromCategoryAction.java 19 Jul 2007 00:55:39 -0000 1.16 >+++ src/org/eclipse/mylyn/internal/tasks/ui/actions/RemoveFromCategoryAction.java 12 Dec 2007 02:31:18 -0000 >@@ -14,6 +14,7 @@ > import org.eclipse.jface.dialogs.MessageDialog; > import org.eclipse.jface.viewers.ISelection; > import org.eclipse.jface.viewers.IStructuredSelection; >+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; > import org.eclipse.mylyn.internal.tasks.core.TaskCategory; > import org.eclipse.mylyn.internal.tasks.ui.ITasksUiConstants; > import org.eclipse.mylyn.internal.tasks.ui.TasksUiImages; >@@ -59,25 +60,29 @@ > > TreeItem item = this.view.getViewer().getTree().getSelection()[0]; > Set<AbstractTaskContainer> parentContainers = task.getParentContainers(); >- >+ > if (item.getParentItem() != null && item.getParent().getData() instanceof TaskCategory) { > TaskCategory category = (TaskCategory) item.getParentItem().getData(); > TasksUiPlugin.getTaskListManager().getTaskList().removeFromCategory(category, task); >- TasksUiPlugin.getTaskListManager().getTaskList().moveToContainer(task, >- TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory()); >- } else if (!task.isLocal() && parentContainers.contains(TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory())) { >- TasksUiPlugin.getTaskListManager().getTaskList().moveToContainer(task, TasksUiPlugin.getTaskListManager().getTaskList().getArchiveContainer()); >- } else if (parentContainers.contains(TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory())) { >- MessageDialog.openInformation(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), >- LABEL, "Can not remove from the default category, move to another category instead."); >- } else { >- TasksUiPlugin.getTaskListManager().getTaskList().moveToContainer(task, >- TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory()); > } >- >- if (item.getParentItem() != null && item.getParentItem().getData() instanceof TaskCategory) { >- >+// TasksUiPlugin.getTaskListManager().getTaskList().moveToContainer(task, >+// TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory()); >+ else if (!parentContainers.isEmpty() && parentContainers.iterator().next() instanceof TaskCategory) { >+ TasksUiPlugin.getTaskListManager().getTaskList().removeFromCategory( >+ (TaskCategory) parentContainers.iterator().next(), task); >+ //TasksUiPlugin.getTaskListManager().getTaskList().moveToContainer(task, null); >+ }/* else if (parentContainers.contains(TasksUiPlugin.getTaskListManager() >+ .getTaskList() >+ .getDefaultCategory())) { >+ MessageDialog.openInformation(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), >+ LABEL, "Can not remove from the default category, move to another category instead."); >+ }*/else { >+ TasksUiPlugin.getTaskListManager().getTaskList().moveTask( >+ task, >+ TasksUiPlugin.getTaskListManager().getTaskList().getOrphanContainer( >+ LocalRepositoryConnector.REPOSITORY_URL)); > } >+ > } > } > } catch (NullPointerException npe) { >Index: src/org/eclipse/mylyn/internal/tasks/ui/actions/MarkTaskUnreadAction.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/MarkTaskUnreadAction.java,v >retrieving revision 1.14 >diff -u -r1.14 MarkTaskUnreadAction.java >--- src/org/eclipse/mylyn/internal/tasks/ui/actions/MarkTaskUnreadAction.java 1 Nov 2007 19:09:36 -0000 1.14 >+++ src/org/eclipse/mylyn/internal/tasks/ui/actions/MarkTaskUnreadAction.java 12 Dec 2007 02:31:18 -0000 >@@ -34,16 +34,16 @@ > setId(ID); > setActionDefinitionId(DEFINITION_ID); > setImageDescriptor(TasksUiImages.OVERLAY_INCOMMING); >- if (containsArchiveContainer(selectedElements)) { >- setEnabled(false); >+// if (containsArchiveContainer(selectedElements)) { >+// setEnabled(false); >+// } else { >+ if (selectedElements.size() == 1 && (selectedElements.get(0) instanceof AbstractTask)) { >+ AbstractTask task = (AbstractTask) selectedElements.get(0); >+ setEnabled(!task.isLocal()); > } else { >- if (selectedElements.size() == 1 && (selectedElements.get(0) instanceof AbstractTask)) { >- AbstractTask task = (AbstractTask) selectedElements.get(0); >- setEnabled(!task.isLocal()); >- } else { >- setEnabled(true); >- } >+ setEnabled(true); > } >+// } > } > > @Override >Index: src/org/eclipse/mylyn/internal/tasks/ui/actions/FilterArchiveContainerAction.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/FilterArchiveContainerAction.java,v >retrieving revision 1.7 >diff -u -r1.7 FilterArchiveContainerAction.java >--- src/org/eclipse/mylyn/internal/tasks/ui/actions/FilterArchiveContainerAction.java 22 Nov 2007 01:28:47 -0000 1.7 >+++ src/org/eclipse/mylyn/internal/tasks/ui/actions/FilterArchiveContainerAction.java 12 Dec 2007 02:31:18 -0000 >@@ -21,7 +21,7 @@ > > public static final String ID = "org.eclipse.mylyn.tasklist.actions.filter.archive"; > >- private static final String LABEL = "Filter Archive Category"; >+ private static final String LABEL = "Filter Archives"; > > private final TaskListView view; > >Index: src/org/eclipse/mylyn/internal/tasks/ui/actions/AbstractTaskAction.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/AbstractTaskAction.java,v >retrieving revision 1.6 >diff -u -r1.6 AbstractTaskAction.java >--- src/org/eclipse/mylyn/internal/tasks/ui/actions/AbstractTaskAction.java 10 Jul 2007 00:30:38 -0000 1.6 >+++ src/org/eclipse/mylyn/internal/tasks/ui/actions/AbstractTaskAction.java 12 Dec 2007 02:31:18 -0000 >@@ -14,7 +14,6 @@ > import org.eclipse.mylyn.tasks.core.AbstractRepositoryQuery; > import org.eclipse.mylyn.tasks.core.AbstractTask; > import org.eclipse.mylyn.tasks.core.AbstractTaskContainer; >-import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; > > /** > * @author Rob Elves >@@ -49,7 +48,7 @@ > protected abstract void performActionOnTask(AbstractTask repositoryTask); > > protected boolean containsArchiveContainer(List<AbstractTaskContainer> selectedElements) { >- return selectedElements.contains(TasksUiPlugin.getTaskListManager().getTaskList().getArchiveContainer()); >+ return false;//selectedElements.contains(TasksUiPlugin.getTaskListManager().getTaskList().getArchiveContainer()); > } > > } >Index: src/org/eclipse/mylyn/internal/tasks/ui/actions/OpenRepositoryTask.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/OpenRepositoryTask.java,v >retrieving revision 1.10 >diff -u -r1.10 OpenRepositoryTask.java >--- src/org/eclipse/mylyn/internal/tasks/ui/actions/OpenRepositoryTask.java 10 Jul 2007 00:30:38 -0000 1.10 >+++ src/org/eclipse/mylyn/internal/tasks/ui/actions/OpenRepositoryTask.java 12 Dec 2007 02:31:18 -0000 >@@ -61,8 +61,7 @@ > */ > private void openExistingTask(RemoteTaskSelectionDialog dlg) { > if (dlg.shouldAddToTaskList()) { >- TasksUiPlugin.getTaskListManager().getTaskList().moveToContainer(dlg.getSelectedTask(), >- dlg.getSelectedCategory()); >+ TasksUiPlugin.getTaskListManager().getTaskList().moveTask(dlg.getSelectedTask(), dlg.getSelectedCategory()); > } > TasksUiUtil.refreshAndOpenTaskListElement(dlg.getSelectedTask()); > } >Index: src/org/eclipse/mylyn/internal/tasks/ui/actions/MarkTaskReadAction.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/MarkTaskReadAction.java,v >retrieving revision 1.12 >diff -u -r1.12 MarkTaskReadAction.java >--- src/org/eclipse/mylyn/internal/tasks/ui/actions/MarkTaskReadAction.java 1 Nov 2007 19:09:36 -0000 1.12 >+++ src/org/eclipse/mylyn/internal/tasks/ui/actions/MarkTaskReadAction.java 12 Dec 2007 02:31:18 -0000 >@@ -25,24 +25,24 @@ > public static final String ID = "org.eclipse.mylyn.tasklist.actions.mark.read"; > > public static final String DEFINITION_ID = "org.eclipse.mylyn.tasks.ui.command.markTaskRead"; >- >+ > public MarkTaskReadAction(List<AbstractTaskContainer> selectedElements) { > super.selectedElements = selectedElements; > setText(ACTION_NAME); > setToolTipText("Mark " + ACTION_NAME); > setId(ID); > setActionDefinitionId(DEFINITION_ID); >- if (containsArchiveContainer(selectedElements)) { >- setEnabled(false); >+// if (containsArchiveContainer(selectedElements)) { >+// setEnabled(false); >+// } else { >+ setEnabled(selectedElements.size() > 0); >+ if (selectedElements.size() == 1 && (selectedElements.get(0) instanceof AbstractTask)) { >+ AbstractTask task = (AbstractTask) selectedElements.get(0); >+ setEnabled(!(task instanceof LocalTask)); > } else { >- setEnabled(selectedElements.size() > 0); >- if (selectedElements.size() == 1 && (selectedElements.get(0) instanceof AbstractTask)) { >- AbstractTask task = (AbstractTask) selectedElements.get(0); >- setEnabled(!(task instanceof LocalTask)); >- } else { >- setEnabled(true); >- } >+ setEnabled(true); > } >+// } > } > > @Override >Index: src/org/eclipse/mylyn/tasks/ui/editors/AbstractNewRepositoryTaskEditor.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AbstractNewRepositoryTaskEditor.java,v >retrieving revision 1.52 >diff -u -r1.52 AbstractNewRepositoryTaskEditor.java >--- src/org/eclipse/mylyn/tasks/ui/editors/AbstractNewRepositoryTaskEditor.java 27 Nov 2007 04:07:42 -0000 1.52 >+++ src/org/eclipse/mylyn/tasks/ui/editors/AbstractNewRepositoryTaskEditor.java 12 Dec 2007 02:31:19 -0000 >@@ -23,6 +23,7 @@ > import org.eclipse.jface.viewers.IStructuredSelection; > import org.eclipse.jface.viewers.SelectionChangedEvent; > import org.eclipse.jface.viewers.StructuredSelection; >+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; > import org.eclipse.mylyn.internal.tasks.core.TaskActivityUtil; > import org.eclipse.mylyn.internal.tasks.core.TaskCategory; > import org.eclipse.mylyn.internal.tasks.ui.TasksUiImages; >@@ -365,9 +366,11 @@ > Collections.sort(categories, new Comparator<AbstractTaskContainer>() { > > public int compare(AbstractTaskContainer c1, AbstractTaskContainer c2) { >- if (c1.equals(TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory())) { >+ if (c1.equals(TasksUiPlugin.getTaskListManager().getTaskList().getOrphanContainer( >+ LocalRepositoryConnector.REPOSITORY_URL))) { > return -1; >- } else if (c2.equals(TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory())) { >+ } else if (c2.equals(TasksUiPlugin.getTaskListManager().getTaskList().getOrphanContainer( >+ LocalRepositoryConnector.REPOSITORY_URL))) { > return 1; > } else { > return c1.getSummary().compareToIgnoreCase(c2.getSummary()); >@@ -492,7 +495,7 @@ > .getSelection()).getFirstElement(); > > if (selectedObject instanceof TaskCategory) { >- TasksUiPlugin.getTaskListManager().getTaskList().moveToContainer(newTask, >+ TasksUiPlugin.getTaskListManager().getTaskList().moveTask(newTask, > ((TaskCategory) selectedObject)); > } > } >Index: src/org/eclipse/mylyn/tasks/ui/editors/AbstractRepositoryTaskEditor.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/editors/AbstractRepositoryTaskEditor.java,v >retrieving revision 1.250 >diff -u -r1.250 AbstractRepositoryTaskEditor.java >--- src/org/eclipse/mylyn/tasks/ui/editors/AbstractRepositoryTaskEditor.java 27 Nov 2007 02:22:54 -0000 1.250 >+++ src/org/eclipse/mylyn/tasks/ui/editors/AbstractRepositoryTaskEditor.java 12 Dec 2007 02:31:19 -0000 >@@ -3545,7 +3545,7 @@ > PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { > public void run() { > if (getCategory() != null) { >- TasksUiPlugin.getTaskListManager().getTaskList().moveToContainer(newTask, getCategory()); >+ TasksUiPlugin.getTaskListManager().getTaskList().moveTask(newTask, getCategory()); > } > } > }); >Index: src/org/eclipse/mylyn/internal/tasks/ui/util/DelegatingTaskExternalizer.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/DelegatingTaskExternalizer.java,v >retrieving revision 1.11 >diff -u -r1.11 DelegatingTaskExternalizer.java >--- src/org/eclipse/mylyn/internal/tasks/ui/util/DelegatingTaskExternalizer.java 11 Sep 2007 22:06:36 -0000 1.11 >+++ src/org/eclipse/mylyn/internal/tasks/ui/util/DelegatingTaskExternalizer.java 12 Dec 2007 02:31:18 -0000 >@@ -296,13 +296,14 @@ > boolean hasCaughtException = false; > Element element = (Element) node; > >- AbstractTaskCategory category; >+ AbstractTaskCategory category = null; > if (element.hasAttribute(DelegatingTaskExternalizer.KEY_NAME)) { > category = new TaskCategory(element.getAttribute(DelegatingTaskExternalizer.KEY_NAME)); > taskList.internalAddCategory((TaskCategory) category); > } else { > // LEGACY: registry categories did not have names >- category = taskList.getArchiveContainer(); >+ // category = taskList.getArchiveContainer(); >+ // a null category will now go into appropriate orphaned category > } > > NodeList list = node.getChildNodes(); >@@ -311,7 +312,9 @@ > try { > // LEGACY: categories used to contain tasks? > AbstractTask task = readTask(child, category, null); >- category.internalAddChild(task); >+ if (category != null) { >+ category.internalAddChild(task); >+ } > taskList.insertTask(task, category, null); > } catch (Throwable t) { > hasCaughtException = true; >@@ -379,7 +382,8 @@ > // return task; > // } > >- private void readTaskInfo(AbstractTask task, Element element, AbstractTask parent, AbstractTaskCategory legacyCategory) throws TaskExternalizationException { >+ private void readTaskInfo(AbstractTask task, Element element, AbstractTask parent, >+ AbstractTaskCategory legacyCategory) throws TaskExternalizationException { > if (task == null) { > return; > } >@@ -404,7 +408,7 @@ > // taskList.internalAddTask(task, taskList.getArchiveContainer()); > // } > task.setCategoryHandle(element.getAttribute(KEY_CATEGORY)); >- >+ > if (element.hasAttribute(KEY_PRIORITY)) { > task.setPriority(element.getAttribute(KEY_PRIORITY)); > } else { >Index: src/org/eclipse/mylyn/tasks/ui/TasksUiPlugin.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiPlugin.java,v >retrieving revision 1.165 >diff -u -r1.165 TasksUiPlugin.java >--- src/org/eclipse/mylyn/tasks/ui/TasksUiPlugin.java 11 Dec 2007 01:54:19 -0000 1.165 >+++ src/org/eclipse/mylyn/tasks/ui/TasksUiPlugin.java 12 Dec 2007 02:31:19 -0000 >@@ -442,6 +442,7 @@ > // initialized > taskListManager.init(); > taskListManager.addActivityListener(CONTEXT_TASK_ACTIVITY_LISTENER); >+ // readExistingOrCreateNewList() must be called after repositories have been read in > taskListManager.readExistingOrCreateNewList(); > initialized = true; > >@@ -482,7 +483,7 @@ > > // Add standard local task repository > if (taskRepositoryManager.getRepository(LocalRepositoryConnector.REPOSITORY_URL) == null) { >- TaskRepository localRepository = new TaskRepository(LocalRepositoryConnector.REPOSITORY_KIND, >+ TaskRepository localRepository = new TaskRepository(LocalRepositoryConnector.CONNECTOR_KIND, > LocalRepositoryConnector.REPOSITORY_URL, LocalRepositoryConnector.REPOSITORY_VERSION); > localRepository.setRepositoryLabel(LocalRepositoryConnector.REPOSITORY_LABEL); > localRepository.setAnonymous(true); >@@ -639,13 +640,13 @@ > * @param withProgress > */ > public void reloadDataDirectory(boolean withProgress) { >- getTaskListManager().resetTaskList(); > getTaskListManager().getTaskActivationHistory().clear(); > getRepositoryManager().readRepositories(getRepositoriesFilePath()); > loadTemplateRepositories(); >- ContextCorePlugin.getContextManager().loadActivityMetaContext(); >+ getTaskListManager().resetTaskList(); > getTaskListManager().setTaskListFile( > new File(getDataDirectory() + File.separator + ITasksUiConstants.DEFAULT_TASK_LIST_FILE)); >+ ContextCorePlugin.getContextManager().loadActivityMetaContext(); > getTaskListManager().readExistingOrCreateNewList(); > getTaskListManager().initActivityHistory(); > checkForCredentials(); >@@ -956,8 +957,7 @@ > * > * @Deprecated > */ >- public TaskListNotification getIncommingNotification(AbstractRepositoryConnector connector, >- AbstractTask task) { >+ public TaskListNotification getIncommingNotification(AbstractRepositoryConnector connector, AbstractTask task) { > > TaskListNotification notification = new TaskListNotification(task); > RepositoryTaskData newTaskData = getTaskDataManager().getNewTaskData(task.getRepositoryUrl(), task.getTaskId()); >@@ -980,7 +980,7 @@ > if (!"".equals(chnagedAttributes)) { > description.append(chnagedAttributes); > } >- >+ > notification.setDescription(description.toString()); > > if (connector != null) { >Index: src/org/eclipse/mylyn/tasks/ui/TaskListManager.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TaskListManager.java,v >retrieving revision 1.116 >diff -u -r1.116 TaskListManager.java >--- src/org/eclipse/mylyn/tasks/ui/TaskListManager.java 5 Sep 2007 21:03:22 -0000 1.116 >+++ src/org/eclipse/mylyn/tasks/ui/TaskListManager.java 12 Dec 2007 02:31:19 -0000 >@@ -33,6 +33,7 @@ > import org.eclipse.mylyn.internal.context.core.InteractionContextManager; > import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; > import org.eclipse.mylyn.internal.tasks.core.LocalTask; >+import org.eclipse.mylyn.internal.tasks.core.OrphanedTasksContainer; > import org.eclipse.mylyn.internal.tasks.core.RepositoryTaskHandleUtil; > import org.eclipse.mylyn.internal.tasks.core.ScheduledTaskContainer; > import org.eclipse.mylyn.internal.tasks.core.TaskActivityManager; >@@ -109,8 +110,7 @@ > > private TaskListSaveManager taskListSaveManager; > >- // TODO: guard against overwriting the single instance? >- private TaskList taskList = new TaskList(); >+ private final TaskList taskList = new TaskList(); > > private TaskActivationHistory taskActivityHistory = new TaskActivationHistory(); > >@@ -157,10 +157,21 @@ > public TaskList resetTaskList() { > resetAndRollOver(); > taskList.reset(); >+ prepareOrphanContainers(); >+ > taskListInitialized = true; > return taskList; > } > >+ private void prepareOrphanContainers() { >+ for (TaskRepository repository : TasksUiPlugin.getRepositoryManager().getAllRepositories()) { >+ taskList.addOrphanContainer(new OrphanedTasksContainer(repository.getConnectorKind(), repository.getUrl())); >+ } >+ >+ taskList.addOrphanContainer(new OrphanedTasksContainer(LocalRepositoryConnector.CONNECTOR_KIND, >+ LocalRepositoryConnector.REPOSITORY_URL)); >+ } >+ > public void refactorRepositoryUrl(String oldUrl, String newUrl) { > if (oldUrl == null || newUrl == null || oldUrl.equals(newUrl)) { > return; >@@ -262,6 +273,7 @@ > public boolean readExistingOrCreateNewList() { > try { > if (taskListFile.exists()) { >+ prepareOrphanContainers(); > taskListWriter.readTaskList(taskList, taskListFile, TasksUiPlugin.getTaskDataManager()); > } else { > resetTaskList(); >@@ -497,7 +509,7 @@ > } else if (view != null && view.getDrilledIntoCategory() instanceof TaskCategory) { > taskList.addTask(newTask, view.getDrilledIntoCategory()); > } else { >- taskList.addTask(newTask, TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory()); >+ taskList.addTask(newTask);//, TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory()); > } > } else if (view != null && view.getDrilledIntoCategory() instanceof TaskCategory) { > taskList.addTask(newTask, view.getDrilledIntoCategory()); >@@ -506,7 +518,7 @@ > MessageDialog.openInformation(Display.getCurrent().getActiveShell(), ITasksUiConstants.TITLE_DIALOG, > "The new task has been added to the root of the list, since tasks can not be added to a query."); > } >- taskList.addTask(newTask, taskList.getDefaultCategory()); >+ taskList.addTask(newTask); > } > return newTask; > } >Index: src/org/eclipse/mylyn/internal/tasks/ui/LocalTaskConnectorUi.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/LocalTaskConnectorUi.java,v >retrieving revision 1.6 >diff -u -r1.6 LocalTaskConnectorUi.java >--- src/org/eclipse/mylyn/internal/tasks/ui/LocalTaskConnectorUi.java 15 Nov 2007 22:52:49 -0000 1.6 >+++ src/org/eclipse/mylyn/internal/tasks/ui/LocalTaskConnectorUi.java 12 Dec 2007 02:31:18 -0000 >@@ -47,7 +47,7 @@ > > @Override > public String getConnectorKind() { >- return LocalRepositoryConnector.REPOSITORY_KIND; >+ return LocalRepositoryConnector.CONNECTOR_KIND; > } > > @Override >Index: src/org/eclipse/mylyn/internal/tasks/ui/TaskRepositoryAdapterFactory.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskRepositoryAdapterFactory.java,v >retrieving revision 1.3 >diff -u -r1.3 TaskRepositoryAdapterFactory.java >--- src/org/eclipse/mylyn/internal/tasks/ui/TaskRepositoryAdapterFactory.java 5 Dec 2007 03:27:41 -0000 1.3 >+++ src/org/eclipse/mylyn/internal/tasks/ui/TaskRepositoryAdapterFactory.java 12 Dec 2007 02:31:18 -0000 >@@ -47,7 +47,7 @@ > .getRepositoryConnector(repository.getConnectorKind()); > return connector.canCreateNewTask(repository); > } else if ("hasRepository".equals(name)) { >- return !repository.getConnectorKind().equals(LocalRepositoryConnector.REPOSITORY_KIND); >+ return !repository.getConnectorKind().equals(LocalRepositoryConnector.CONNECTOR_KIND); > } > return false; > } >Index: src/org/eclipse/mylyn/internal/tasks/ui/TaskArchiveFilter.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskArchiveFilter.java,v >retrieving revision 1.7 >diff -u -r1.7 TaskArchiveFilter.java >--- src/org/eclipse/mylyn/internal/tasks/ui/TaskArchiveFilter.java 26 Jun 2007 01:16:40 -0000 1.7 >+++ src/org/eclipse/mylyn/internal/tasks/ui/TaskArchiveFilter.java 12 Dec 2007 02:31:18 -0000 >@@ -7,6 +7,8 @@ > *******************************************************************************/ > package org.eclipse.mylyn.internal.tasks.ui; > >+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; >+import org.eclipse.mylyn.internal.tasks.core.OrphanedTasksContainer; > import org.eclipse.mylyn.internal.tasks.core.TaskArchive; > > /** >@@ -16,6 +18,12 @@ > > @Override > public boolean select(Object parent, Object element) { >+ if (element instanceof OrphanedTasksContainer) { >+ if (((OrphanedTasksContainer) element).getRepositoryUrl().equals(LocalRepositoryConnector.REPOSITORY_URL)) { >+ return true; >+ } >+ return false; >+ } > if (element instanceof TaskArchive) { > return false; > } >Index: src/org/eclipse/mylyn/internal/tasks/ui/MoveToCategoryMenuContributor.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/MoveToCategoryMenuContributor.java,v >retrieving revision 1.20 >diff -u -r1.20 MoveToCategoryMenuContributor.java >--- src/org/eclipse/mylyn/internal/tasks/ui/MoveToCategoryMenuContributor.java 10 Jul 2007 00:30:39 -0000 1.20 >+++ src/org/eclipse/mylyn/internal/tasks/ui/MoveToCategoryMenuContributor.java 12 Dec 2007 02:31:18 -0000 >@@ -15,6 +15,7 @@ > import org.eclipse.jface.action.Action; > import org.eclipse.jface.action.MenuManager; > import org.eclipse.jface.action.Separator; >+import org.eclipse.mylyn.internal.tasks.core.OrphanedTasksContainer; > import org.eclipse.mylyn.internal.tasks.ui.actions.NewCategoryAction; > import org.eclipse.mylyn.tasks.core.AbstractTask; > import org.eclipse.mylyn.tasks.core.AbstractTaskCategory; >@@ -41,7 +42,7 @@ > .getCategories()); > Collections.sort(categories); > for (final AbstractTaskCategory category : categories) { >- if (!category.equals(TasksUiPlugin.getTaskListManager().getTaskList().getArchiveContainer())) { >+ if (!(category instanceof OrphanedTasksContainer)) { > Action action = new Action() { > @Override > public void run() { >@@ -99,7 +100,7 @@ > private void moveToCategory(final List<AbstractTaskContainer> selectedElements, AbstractTaskCategory category) { > for (AbstractTaskContainer element : selectedElements) { > if (element instanceof AbstractTask) { >- TasksUiPlugin.getTaskListManager().getTaskList().moveToContainer((AbstractTask) element, category); >+ TasksUiPlugin.getTaskListManager().getTaskList().moveTask((AbstractTask) element, category); > } > } > } >Index: src/org/eclipse/mylyn/internal/tasks/ui/AddExistingTaskJob.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/AddExistingTaskJob.java,v >retrieving revision 1.27 >diff -u -r1.27 AddExistingTaskJob.java >--- src/org/eclipse/mylyn/internal/tasks/ui/AddExistingTaskJob.java 28 Aug 2007 03:55:26 -0000 1.27 >+++ src/org/eclipse/mylyn/internal/tasks/ui/AddExistingTaskJob.java 12 Dec 2007 02:31:18 -0000 >@@ -18,6 +18,7 @@ > import org.eclipse.jface.dialogs.MessageDialog; > import org.eclipse.jface.viewers.IStructuredSelection; > import org.eclipse.jface.viewers.StructuredSelection; >+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; > import org.eclipse.mylyn.internal.tasks.core.TaskActivityUtil; > import org.eclipse.mylyn.internal.tasks.core.TaskCategory; > import org.eclipse.mylyn.internal.tasks.ui.views.TaskListView; >@@ -87,10 +88,11 @@ > if (selectedObject instanceof TaskCategory) { > category = (TaskCategory) selectedObject; > } else { >- category = TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory(); >+ category = TasksUiPlugin.getTaskListManager().getTaskList().getOrphanContainer( >+ LocalRepositoryConnector.REPOSITORY_URL); > } > } >- TasksUiPlugin.getTaskListManager().getTaskList().moveToContainer(newTask, category); >+ TasksUiPlugin.getTaskListManager().getTaskList().moveTask(newTask, category); > taskListView.getViewer().setSelection(new StructuredSelection(newTask)); > } > }); >@@ -114,5 +116,4 @@ > } > return Status.OK_STATUS; > } >- > } >Index: src/org/eclipse/mylyn/internal/tasks/ui/wizards/SelectRepositoryPage.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/SelectRepositoryPage.java,v >retrieving revision 1.28 >diff -u -r1.28 SelectRepositoryPage.java >--- src/org/eclipse/mylyn/internal/tasks/ui/wizards/SelectRepositoryPage.java 18 Oct 2007 21:46:13 -0000 1.28 >+++ src/org/eclipse/mylyn/internal/tasks/ui/wizards/SelectRepositoryPage.java 12 Dec 2007 02:31:18 -0000 >@@ -159,7 +159,7 @@ > viewer.setSelection(new StructuredSelection(selectedRepository)); > } else { > TaskRepository localRepository = TasksUiPlugin.getRepositoryManager().getRepository( >- LocalRepositoryConnector.REPOSITORY_KIND, LocalRepositoryConnector.REPOSITORY_URL); >+ LocalRepositoryConnector.CONNECTOR_KIND, LocalRepositoryConnector.REPOSITORY_URL); > viewer.setSelection(new StructuredSelection(localRepository)); > } > >Index: src/org/eclipse/mylyn/internal/tasks/ui/wizards/TaskDataImportWizard.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/TaskDataImportWizard.java,v >retrieving revision 1.24 >diff -u -r1.24 TaskDataImportWizard.java >--- src/org/eclipse/mylyn/internal/tasks/ui/wizards/TaskDataImportWizard.java 26 Jun 2007 01:16:40 -0000 1.24 >+++ src/org/eclipse/mylyn/internal/tasks/ui/wizards/TaskDataImportWizard.java 12 Dec 2007 02:31:18 -0000 >@@ -25,6 +25,7 @@ > import org.eclipse.jface.wizard.Wizard; > import org.eclipse.mylyn.internal.context.core.InteractionContextManager; > import org.eclipse.mylyn.internal.monitor.core.util.ZipFileUtil; >+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; > import org.eclipse.mylyn.internal.tasks.ui.ITasksUiConstants; > import org.eclipse.mylyn.monitor.core.StatusHandler; > import org.eclipse.mylyn.tasks.core.AbstractTaskContainer; >@@ -220,7 +221,7 @@ > List<AbstractTask> allTasks = new ArrayList<AbstractTask>(); > TaskList taskList = TasksUiPlugin.getTaskListManager().getTaskList(); > >- allTasks.addAll(taskList.getDefaultCategory().getChildren()); >+ allTasks.addAll(taskList.getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL).getChildren()); > > for (AbstractTaskContainer category : taskList.getCategories()) { > allTasks.addAll(category.getChildren()); >Index: src/org/eclipse/mylyn/internal/tasks/ui/search/RepositorySearchResultView.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/search/RepositorySearchResultView.java,v >retrieving revision 1.30 >diff -u -r1.30 RepositorySearchResultView.java >--- src/org/eclipse/mylyn/internal/tasks/ui/search/RepositorySearchResultView.java 10 Dec 2007 22:02:16 -0000 1.30 >+++ src/org/eclipse/mylyn/internal/tasks/ui/search/RepositorySearchResultView.java 12 Dec 2007 02:31:18 -0000 >@@ -21,6 +21,7 @@ > import org.eclipse.jface.viewers.StructuredViewer; > import org.eclipse.jface.viewers.TableViewer; > import org.eclipse.jface.viewers.TreeViewer; >+import org.eclipse.mylyn.internal.tasks.core.OrphanedTasksContainer; > import org.eclipse.mylyn.internal.tasks.ui.AddExistingTaskJob; > import org.eclipse.mylyn.internal.tasks.ui.TasksUiImages; > import org.eclipse.mylyn.internal.tasks.ui.views.TaskElementLabelProvider; >@@ -281,7 +282,7 @@ > > Collections.sort(categories); > for (final AbstractTaskCategory category : categories) { >- if (!category.equals(TasksUiPlugin.getTaskListManager().getTaskList().getArchiveContainer())) { >+ if (!(category instanceof OrphanedTasksContainer)) {//.equals(TasksUiPlugin.getTaskListManager().getTaskList().getArchiveContainer())) { > Action action = new Action() { > @Override > public void run() { >Index: src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetPage.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetPage.java,v >retrieving revision 1.13 >diff -u -r1.13 TaskWorkingSetPage.java >--- src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetPage.java 23 Nov 2007 21:46:37 -0000 1.13 >+++ src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetPage.java 12 Dec 2007 02:31:18 -0000 >@@ -31,6 +31,7 @@ > import org.eclipse.jface.viewers.Viewer; > import org.eclipse.jface.viewers.ViewerSorter; > import org.eclipse.jface.wizard.WizardPage; >+import org.eclipse.mylyn.internal.tasks.core.OrphanedTasksContainer; > import org.eclipse.mylyn.internal.tasks.core.TaskArchive; > import org.eclipse.mylyn.internal.tasks.ui.TasksUiImages; > import org.eclipse.mylyn.internal.tasks.ui.views.TaskElementLabelProvider; >@@ -138,6 +139,14 @@ > taskContainers.add(element); > } > } >+ >+ OrphanedTasksContainer orphansContainer = TasksUiPlugin.getTaskListManager() >+ .getTaskList() >+ .getOrphanContainer(((TaskRepository) parentElement).getUrl()); >+ if (orphansContainer != null) { >+ taskContainers.add(orphansContainer); >+ } >+ > return taskContainers.toArray(); > } else if (parentElement instanceof TaskRepositoryProjectMapping) { > return ((TaskRepositoryProjectMapping) parentElement).getProjects().toArray(); >Index: src/org/eclipse/mylyn/internal/tasks/ui/commands/RemoteTaskSelectionDialog.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/commands/RemoteTaskSelectionDialog.java,v >retrieving revision 1.30 >diff -u -r1.30 RemoteTaskSelectionDialog.java >--- src/org/eclipse/mylyn/internal/tasks/ui/commands/RemoteTaskSelectionDialog.java 20 Sep 2007 23:01:50 -0000 1.30 >+++ src/org/eclipse/mylyn/internal/tasks/ui/commands/RemoteTaskSelectionDialog.java 12 Dec 2007 02:31:18 -0000 >@@ -33,6 +33,7 @@ > import org.eclipse.jface.viewers.Viewer; > import org.eclipse.jface.viewers.ViewerFilter; > import org.eclipse.mylyn.internal.tasks.core.ITaskRepositoryFilter; >+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; > import org.eclipse.mylyn.internal.tasks.ui.ITaskCommandIds; > import org.eclipse.mylyn.internal.tasks.ui.views.TaskElementLabelProvider; > import org.eclipse.mylyn.internal.tasks.ui.views.TaskRepositoryLabelProvider; >@@ -221,7 +222,7 @@ > TaskList taskList = TasksUiPlugin.getTaskListManager().getTaskList(); > LinkedList<AbstractTaskContainer> categories = new LinkedList<AbstractTaskContainer>( > taskList.getUserCategories()); >- categories.addFirst(taskList.getDefaultCategory()); >+ categories.addFirst(taskList.getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL)); > categoryViewer.setInput(categories); > categoryViewer.setLabelProvider(new LabelProvider() { > >@@ -234,7 +235,8 @@ > } > > }); >- categoryViewer.setSelection(new StructuredSelection(taskList.getDefaultCategory())); >+ categoryViewer.setSelection(new StructuredSelection( >+ taskList.getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL))); > > categoryViewer.getControl().setEnabled(addToTaskListCheck.getSelection()); > addToTaskListCheck.addSelectionListener(new SelectionAdapter() { >Index: src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityWizardPage.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityWizardPage.java,v >retrieving revision 1.16 >diff -u -r1.16 TaskActivityWizardPage.java >--- src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityWizardPage.java 28 Aug 2007 03:55:26 -0000 1.16 >+++ src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityWizardPage.java 12 Dec 2007 02:31:18 -0000 >@@ -19,6 +19,7 @@ > > import org.eclipse.jface.layout.GridDataFactory; > import org.eclipse.jface.wizard.WizardPage; >+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; > import org.eclipse.mylyn.internal.tasks.core.TaskActivityUtil; > import org.eclipse.mylyn.internal.tasks.ui.views.TaskElementLabelProvider; > import org.eclipse.mylyn.tasks.core.AbstractTaskContainer; >@@ -217,13 +218,15 @@ > List<AbstractTaskContainer> containers = new ArrayList<AbstractTaskContainer>(); > containers.addAll(manager.getTaskList().getUserCategories()); > containers.addAll(manager.getTaskList().getQueries()); >- containers.add(manager.getTaskList().getArchiveContainer()); >+ //containers.add(manager.getTaskList().getArchiveContainer()); > Collections.sort(containers, new Comparator<AbstractTaskContainer>() { > > public int compare(AbstractTaskContainer c1, AbstractTaskContainer c2) { >- if (c1.equals(TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory())) { >+ if (c1.equals(TasksUiPlugin.getTaskListManager().getTaskList().getOrphanContainer( >+ LocalRepositoryConnector.REPOSITORY_URL))) { > return -1; >- } else if (c2.equals(TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory())) { >+ } else if (c2.equals(TasksUiPlugin.getTaskListManager().getTaskList().getOrphanContainer( >+ LocalRepositoryConnector.REPOSITORY_URL))) { > return 1; > } else { > return c1.getSummary().compareToIgnoreCase(c2.getSummary()); >#P org.eclipse.mylyn.java.tests >Index: src/org/eclipse/mylyn/java/tests/RefactoringTest.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.java.tests/src/org/eclipse/mylyn/java/tests/RefactoringTest.java,v >retrieving revision 1.26 >diff -u -r1.26 RefactoringTest.java >--- src/org/eclipse/mylyn/java/tests/RefactoringTest.java 20 Sep 2007 15:17:20 -0000 1.26 >+++ src/org/eclipse/mylyn/java/tests/RefactoringTest.java 12 Dec 2007 02:31:20 -0000 >@@ -83,7 +83,6 @@ > IInteractionElement oldParentNode = ContextCorePlugin.getContextManager().getElement( > parentNode.getHandleIdentifier()); > assertFalse(oldParentNode.getInterest().isInteresting()); >- // XXX: put back? > IInteractionElement newParentNode = ContextCorePlugin.getContextManager().getElement( > newType.getParent().getHandleIdentifier()); > assertTrue(newParentNode.getInterest().isInteresting()); >#P org.eclipse.mylyn.sandbox.ui >Index: src/org/eclipse/mylyn/internal/sandbox/bridge/bugs/BugzillaMylynSearchOperation.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/sandbox/org.eclipse.mylyn.sandbox.ui/src/org/eclipse/mylyn/internal/sandbox/bridge/bugs/BugzillaMylynSearchOperation.java,v >retrieving revision 1.1 >diff -u -r1.1 BugzillaMylynSearchOperation.java >--- src/org/eclipse/mylyn/internal/sandbox/bridge/bugs/BugzillaMylynSearchOperation.java 10 Jul 2007 00:30:55 -0000 1.1 >+++ src/org/eclipse/mylyn/internal/sandbox/bridge/bugs/BugzillaMylynSearchOperation.java 12 Dec 2007 02:31:21 -0000 >@@ -27,6 +27,7 @@ > import org.eclipse.mylyn.internal.bugzilla.core.BugzillaCorePlugin; > import org.eclipse.mylyn.internal.bugzilla.core.BugzillaTask; > import org.eclipse.mylyn.internal.bugzilla.ui.tasklist.StackTrace; >+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; > import org.eclipse.mylyn.internal.tasks.ui.search.AbstractRepositorySearchQuery; > import org.eclipse.mylyn.monitor.core.StatusHandler; > import org.eclipse.mylyn.tasks.core.AbstractTask; >@@ -149,7 +150,8 @@ > collector.setProgressMonitor(monitor); > > // get all of the root tasks and start the search >- Set<AbstractTask> tasks = TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory().getChildren(); >+ Set<AbstractTask> tasks = TasksUiPlugin.getTaskListManager().getTaskList().getOrphanContainer( >+ LocalRepositoryConnector.REPOSITORY_URL).getChildren(); > searchLocal(tasks, collector, elementName, monitor); > for (AbstractTaskContainer cat : TasksUiPlugin.getTaskListManager().getTaskList().getTaskContainers()) { > searchLocal(cat.getChildren(), collector, elementName, monitor); >@@ -179,7 +181,8 @@ > collector.setProgressMonitor(monitor); > > // get all of the root tasks and start the search >- Set<AbstractTask> tasks = TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory().getChildren(); >+ Set<AbstractTask> tasks = TasksUiPlugin.getTaskListManager().getTaskList().getOrphanContainer( >+ LocalRepositoryConnector.REPOSITORY_URL).getChildren(); > searchLocal(tasks, collector, elementName, monitor); > for (AbstractTaskContainer cat : TasksUiPlugin.getTaskListManager().getTaskList().getTaskContainers()) { > searchLocal(cat.getChildren(), collector, elementName, monitor); >#P org.eclipse.mylyn.tests >Index: src/org/eclipse/mylyn/tests/integration/ChangeDataDirTest.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tests/src/org/eclipse/mylyn/tests/integration/ChangeDataDirTest.java,v >retrieving revision 1.59 >diff -u -r1.59 ChangeDataDirTest.java >--- src/org/eclipse/mylyn/tests/integration/ChangeDataDirTest.java 10 Jul 2007 00:30:24 -0000 1.59 >+++ src/org/eclipse/mylyn/tests/integration/ChangeDataDirTest.java 12 Dec 2007 02:31:21 -0000 >@@ -18,6 +18,7 @@ > import org.eclipse.mylyn.internal.bugzilla.core.BugzillaTask; > import org.eclipse.mylyn.internal.context.core.InteractionContextManager; > import org.eclipse.mylyn.internal.monitor.usage.UiUsageMonitorPlugin; >+import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; > import org.eclipse.mylyn.monitor.core.InteractionEvent; > import org.eclipse.mylyn.tasks.core.AbstractTask; > import org.eclipse.mylyn.tasks.ui.TaskListManager; >@@ -95,7 +96,8 @@ > public void testTaskMove() { > AbstractTask task = manager.createNewLocalTask("label"); > String handle = task.getHandleIdentifier(); >- manager.getTaskList().moveToContainer(task, manager.getTaskList().getDefaultCategory()); >+ manager.getTaskList().moveTask(task, >+ manager.getTaskList().getOrphanContainer(LocalRepositoryConnector.REPOSITORY_URL)); > > AbstractTask readTaskBeforeMove = manager.getTaskList().getTask(handle); > TasksUiPlugin.getTaskListManager().copyDataDirContentsTo(newDataDir); >@@ -127,7 +129,6 @@ > } > > private void addBugzillaTask(BugzillaTask newTask) { >- TasksUiPlugin.getTaskListManager().getTaskList().moveToContainer(newTask, >- TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory()); >+ TasksUiPlugin.getTaskListManager().getTaskList().addTask(newTask); > } > } >Index: src/org/eclipse/mylyn/tests/integration/TaskListFilterTest.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.tests/src/org/eclipse/mylyn/tests/integration/TaskListFilterTest.java,v >retrieving revision 1.22 >diff -u -r1.22 TaskListFilterTest.java >--- src/org/eclipse/mylyn/tests/integration/TaskListFilterTest.java 21 Nov 2007 19:47:11 -0000 1.22 >+++ src/org/eclipse/mylyn/tests/integration/TaskListFilterTest.java 12 Dec 2007 02:31:21 -0000 >@@ -59,23 +59,23 @@ > taskCompleted = new LocalTask("1", "completed"); > taskCompleted.setCompleted(true); > taskCompleted.setCompletionDate(TaskActivityUtil.snapForwardNumDays(Calendar.getInstance(), -1).getTime()); >- manager.getTaskList().addTask(taskCompleted, manager.getTaskList().getDefaultCategory()); >+ manager.getTaskList().addTask(taskCompleted); > > taskIncomplete = new LocalTask("2", "t-incomplete"); >- manager.getTaskList().addTask(taskIncomplete, manager.getTaskList().getDefaultCategory()); >+ manager.getTaskList().addTask(taskIncomplete); > > taskOverdue = new LocalTask("3", "t-overdue"); > taskOverdue.setScheduledForDate(TaskActivityUtil.snapForwardNumDays(Calendar.getInstance(), -1).getTime()); >- manager.getTaskList().addTask(taskOverdue, manager.getTaskList().getDefaultCategory()); >+ manager.getTaskList().addTask(taskOverdue); > > taskDueToday = new LocalTask("4", "t-today"); > taskDueToday.setScheduledForDate(TaskActivityUtil.snapEndOfWorkDay(Calendar.getInstance()).getTime()); >- manager.getTaskList().addTask(taskDueToday, manager.getTaskList().getDefaultCategory()); >+ manager.getTaskList().addTask(taskDueToday); > > taskCompletedToday = new LocalTask("5", "t-donetoday"); > taskCompletedToday.setScheduledForDate(TaskActivityUtil.snapEndOfWorkDay(Calendar.getInstance()).getTime()); > taskCompletedToday.setCompleted(true); >- manager.getTaskList().addTask(taskCompletedToday, manager.getTaskList().getDefaultCategory()); >+ manager.getTaskList().addTask(taskCompletedToday); > } > > @Override >#P org.eclipse.mylyn.jira.tests >Index: src/org/eclipse/mylyn/jira/tests/JiraTaskExternalizationTest.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.jira.tests/src/org/eclipse/mylyn/jira/tests/JiraTaskExternalizationTest.java,v >retrieving revision 1.61 >diff -u -r1.61 JiraTaskExternalizationTest.java >--- src/org/eclipse/mylyn/jira/tests/JiraTaskExternalizationTest.java 10 Jul 2007 00:29:38 -0000 1.61 >+++ src/org/eclipse/mylyn/jira/tests/JiraTaskExternalizationTest.java 12 Dec 2007 02:31:22 -0000 >@@ -120,7 +120,7 @@ > public void testCompletionSave() { > JiraTask jiraTask = new JiraTask(SERVER_URL, TEST_TASK, TEST_LABEL); > jiraTask.setCompleted(true); >- manager.getTaskList().moveToContainer(jiraTask, manager.getTaskList().getDefaultCategory()); >+ manager.getTaskList().addTask(jiraTask); > > manager.saveTaskList(); > manager.resetTaskList(); >@@ -133,7 +133,7 @@ > JiraTask jiraTask = new JiraTask(SERVER_URL + "testSave", TEST_TASK, TEST_LABEL); > String testUrl = "http://foo"; > jiraTask.setUrl(testUrl); >- manager.getTaskList().moveToContainer(jiraTask, manager.getTaskList().getDefaultCategory()); >+ manager.getTaskList().addTask(jiraTask); > > manager.saveTaskList(); > manager.resetTaskList(); >Index: src/org/eclipse/mylyn/jira/tests/JiraTaskArchiveTest.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.jira.tests/src/org/eclipse/mylyn/jira/tests/JiraTaskArchiveTest.java,v >retrieving revision 1.32 >diff -u -r1.32 JiraTaskArchiveTest.java >--- src/org/eclipse/mylyn/jira/tests/JiraTaskArchiveTest.java 10 Jul 2007 00:29:36 -0000 1.32 >+++ src/org/eclipse/mylyn/jira/tests/JiraTaskArchiveTest.java 12 Dec 2007 02:31:22 -0000 >@@ -14,6 +14,7 @@ > import org.eclipse.mylyn.internal.jira.ui.JiraUiPlugin; > import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector; > import org.eclipse.mylyn.tasks.core.TaskList; >+import org.eclipse.mylyn.tasks.core.TaskRepository; > import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; > > /** >@@ -58,14 +59,23 @@ > AbstractRepositoryConnector client = TasksUiPlugin.getRepositoryManager().getRepositoryConnector( > JiraUiPlugin.REPOSITORY_KIND); > assertNotNull(client); >- assertEquals(0, taskList.getArchiveContainer().getChildren().size()); >+ >+ TaskRepository repository = new TaskRepository(JiraUiPlugin.REPOSITORY_KIND, "repo"); >+ TasksUiPlugin.getRepositoryManager().addRepository(repository, >+ TasksUiPlugin.getDefault().getRepositoriesFilePath()); >+ > JiraTask task1 = new JiraTask("repo", HANDLE1, LABEL); >+ task1.setLastReadTimeStamp("now"); > JiraTask task2 = new JiraTask("repo", HANDLE1, LABEL); >- >+ task2.setLastReadTimeStamp("now"); > taskList.addTask(task1); > taskList.addTask(task2); > >- assertEquals(1, taskList.getArchiveContainer().getChildren().size()); >+ assertEquals(1, taskList.getOrphanContainer("repo").getChildren().size()); > assertEquals(taskList.getTask("repo-" + HANDLE1), task1); >+ >+ TasksUiPlugin.getRepositoryManager().removeRepository(repository, >+ TasksUiPlugin.getDefault().getRepositoriesFilePath()); >+ TasksUiPlugin.getTaskListManager().resetTaskList(); > } > } >\ No newline at end of file
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 181388
:
84602
|
84662
|
84842
| 85021 |
85034
|
85037
|
85039
|
85098
|
85142