diff options
author | Steffen Pingel | 2011-07-22 21:47:28 +0000 |
---|---|---|
committer | Steffen Pingel | 2011-07-22 21:47:28 +0000 |
commit | 11303ccd712dfd8fb7fa3f639fa8a8381170e553 (patch) | |
tree | eec11fbb0e0d5b5e2a185bc1df331dd28c5aa4e9 | |
parent | d02ba239c8c77469ff137cbf4d939a834ff39c97 (diff) | |
download | org.eclipse.mylyn.tasks-11303ccd712dfd8fb7fa3f639fa8a8381170e553.tar.gz org.eclipse.mylyn.tasks-11303ccd712dfd8fb7fa3f639fa8a8381170e553.tar.xz org.eclipse.mylyn.tasks-11303ccd712dfd8fb7fa3f639fa8a8381170e553.zip |
NEW - bug 336430: separate Context framework from Tasks
https://bugs.eclipse.org/bugs/show_bug.cgi?id=336430
32 files changed, 521 insertions, 2304 deletions
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaAttachmentHandlerTest.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaAttachmentHandlerTest.java index e39d557ed..2405cd891 100644 --- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaAttachmentHandlerTest.java +++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaAttachmentHandlerTest.java @@ -476,7 +476,7 @@ public class BugzillaAttachmentHandlerTest extends AbstractBugzillaTest { ITask task = TasksUi.getRepositoryModel().createTask(repository, taskData.getTaskId()); TasksUiPlugin.getTaskList().addTask(task); TasksUi.getTaskActivityManager().activateTask(task); - File sourceContextFile = TasksUiPlugin.getContextStore().getFileForContext(repository, task); + File sourceContextFile = TasksUiPlugin.getContextStore().getFileForContext(task); sourceContextFile.createNewFile(); sourceContextFile.deleteOnExit(); repository.setCredentials(AuthenticationType.REPOSITORY, new AuthenticationCredentials("wrong", "wrong"), false); diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest.java index e6decda2f..05b28b446 100644 --- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest.java +++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest.java @@ -829,7 +829,7 @@ public class BugzillaRepositoryConnectorTest extends AbstractBugzillaTest { ITask task = generateLocalTaskAndDownload(data.getTaskId()); assertNotNull(task); TasksUiPlugin.getTaskActivityManager().activateTask(task); - File sourceContextFile = TasksUiPlugin.getContextStore().getFileForContext(repository, task); + File sourceContextFile = TasksUiPlugin.getContextStore().getFileForContext(task); assertEquals(SynchronizationState.SYNCHRONIZED, task.getSynchronizationState()); sourceContextFile.createNewFile(); sourceContextFile.deleteOnExit(); diff --git a/org.eclipse.mylyn.tasks.core/META-INF/MANIFEST.MF b/org.eclipse.mylyn.tasks.core/META-INF/MANIFEST.MF index 24f80728d..bfc2eee9c 100644 --- a/org.eclipse.mylyn.tasks.core/META-INF/MANIFEST.MF +++ b/org.eclipse.mylyn.tasks.core/META-INF/MANIFEST.MF @@ -12,11 +12,14 @@ Require-Bundle: org.eclipse.core.runtime, org.eclipse.mylyn.commons.net;bundle-version="[3.0.0,4.0.0)" Export-Package: org.eclipse.mylyn.internal.provisional.tasks.core;x-internal:=true, org.eclipse.mylyn.internal.tasks.core;x-friends:="org.eclipse.mylyn.tasks.ui,org.eclipse.mylyn.tasks.bugs", + org.eclipse.mylyn.internal.tasks.core.activity;x-friends:="org.eclipse.mylyn.tasks.ui,org.eclipse.mylyn.tasks.bugs", + org.eclipse.mylyn.internal.tasks.core.context;x-friends:="org.eclipse.mylyn.tasks.ui,org.eclipse.mylyn.tasks.bugs", org.eclipse.mylyn.internal.tasks.core.data;x-friends:="org.eclipse.mylyn.tasks.ui,org.eclipse.mylyn.tasks.bugs", org.eclipse.mylyn.internal.tasks.core.externalization;x-friends:="org.eclipse.mylyn.tasks.ui,org.eclipse.mylyn.tasks.bugs", org.eclipse.mylyn.internal.tasks.core.notifications;x-friends:="org.eclipse.mylyn.tasks.ui,org.eclipse.mylyn.tasks.bugs", org.eclipse.mylyn.internal.tasks.core.sync;x-friends:="org.eclipse.mylyn.tasks.ui,org.eclipse.mylyn.tasks.bugs", org.eclipse.mylyn.tasks.core, + org.eclipse.mylyn.tasks.core.activity, org.eclipse.mylyn.tasks.core.context, org.eclipse.mylyn.tasks.core.data, org.eclipse.mylyn.tasks.core.sync diff --git a/org.eclipse.mylyn.tasks.core/plugin.xml b/org.eclipse.mylyn.tasks.core/plugin.xml index 2e643afcc..0aeab1a63 100644 --- a/org.eclipse.mylyn.tasks.core/plugin.xml +++ b/org.eclipse.mylyn.tasks.core/plugin.xml @@ -13,4 +13,6 @@ <plugin> <extension-point id="templates" name="templates" schema="schema/templates.exsd"/> <extension-point id="synchronizationParticipants" name="Synchronization Participants" schema="schema/synchronizationParticipants.exsd"/> + <extension-point id="activityMonitor" name="Task Activity Monitor" schema="schema/activityMonitor.exsd"/> + <extension-point id="contextStore" name="Task Context Store" schema="schema/contextStore.exsd"/> </plugin> diff --git a/org.eclipse.mylyn.tasks.core/schema/activityMonitor.exsd b/org.eclipse.mylyn.tasks.core/schema/activityMonitor.exsd new file mode 100644 index 000000000..07cc78536 --- /dev/null +++ b/org.eclipse.mylyn.tasks.core/schema/activityMonitor.exsd @@ -0,0 +1,97 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!-- Schema file written by PDE --> +<schema targetNamespace="org.eclipse.mylyn.tasks.core" xmlns="http://www.w3.org/2001/XMLSchema"> +<annotation> + <appInfo> + <meta.schema plugin="org.eclipse.mylyn.tasks.core" id="activityMonitor" name="Task Activity Monitor"/> + </appInfo> + <documentation> + Provides activity monitoring, only one should be specified. + </documentation> + </annotation> + + <element name="extension"> + <annotation> + <appInfo> + <meta.element internal="true" /> + </appInfo> + </annotation> + <complexType> + <sequence> + <element ref="activityMonitor"/> + </sequence> + <attribute name="point" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="id" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="name" type="string"> + <annotation> + <documentation> + + </documentation> + <appInfo> + <meta.attribute translatable="true"/> + </appInfo> + </annotation> + </attribute> + </complexType> + </element> + + <element name="activityMonitor"> + <complexType> + <attribute name="id" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="class" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + <appInfo> + <meta.attribute kind="java" basedOn="org.eclipse.mylyn.tasks.core.activity.AbstractTaskActivityMonitor:"/> + </appInfo> + </annotation> + </attribute> + </complexType> + </element> + + <annotation> + <appInfo> + <meta.section type="since"/> + </appInfo> + <documentation> + 3.7 + </documentation> + </annotation> + + + + + <annotation> + <appInfo> + <meta.section type="copyright"/> + </appInfo> + <documentation> + Copyright (c) 2011 Tasktop Technologies. +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 + </documentation> + </annotation> + +</schema> diff --git a/org.eclipse.mylyn.tasks.core/schema/contextStore.exsd b/org.eclipse.mylyn.tasks.core/schema/contextStore.exsd new file mode 100644 index 000000000..cbc5c3ff2 --- /dev/null +++ b/org.eclipse.mylyn.tasks.core/schema/contextStore.exsd @@ -0,0 +1,97 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!-- Schema file written by PDE --> +<schema targetNamespace="org.eclipse.mylyn.tasks.core" xmlns="http://www.w3.org/2001/XMLSchema"> +<annotation> + <appInfo> + <meta.schema plugin="org.eclipse.mylyn.tasks.core" id="contextStore" name="Task Context Monitor"/> + </appInfo> + <documentation> + Provides a store for task contexts, only one should be specified. + </documentation> + </annotation> + + <element name="extension"> + <annotation> + <appInfo> + <meta.element internal="true" /> + </appInfo> + </annotation> + <complexType> + <sequence> + <element ref="contextStore"/> + </sequence> + <attribute name="point" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="id" type="string"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="name" type="string"> + <annotation> + <documentation> + + </documentation> + <appInfo> + <meta.attribute translatable="true"/> + </appInfo> + </annotation> + </attribute> + </complexType> + </element> + + <element name="contextStore"> + <complexType> + <attribute name="id" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + </annotation> + </attribute> + <attribute name="class" type="string" use="required"> + <annotation> + <documentation> + + </documentation> + <appInfo> + <meta.attribute kind="java" basedOn="org.eclipse.mylyn.tasks.core.context.AbstractTaskContextStore:"/> + </appInfo> + </annotation> + </attribute> + </complexType> + </element> + + <annotation> + <appInfo> + <meta.section type="since"/> + </appInfo> + <documentation> + 3.7 + </documentation> + </annotation> + + + + + <annotation> + <appInfo> + <meta.section type="copyright"/> + </appInfo> + <documentation> + Copyright (c) 2011 Tasktop Technologies. +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 + </documentation> + </annotation> + +</schema> diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/activity/DefaultTaskActivityMonitor.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/activity/DefaultTaskActivityMonitor.java new file mode 100644 index 000000000..87a246361 --- /dev/null +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/activity/DefaultTaskActivityMonitor.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2011 Tasktop Technologies and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Tasktop Technologies - initial API and implementation + *******************************************************************************/ + +package org.eclipse.mylyn.internal.tasks.core.activity; + +import java.util.Collections; +import java.util.List; + +import org.eclipse.mylyn.tasks.core.ITask; +import org.eclipse.mylyn.tasks.core.ITaskActivityManager; +import org.eclipse.mylyn.tasks.core.activity.AbstractTaskActivityMonitor; + +/** + * @author Steffen Pingel + */ +public class DefaultTaskActivityMonitor extends AbstractTaskActivityMonitor { + + @Override + public List<ITask> getActivationHistory() { + return Collections.emptyList(); + } + + @Override + public void loadActivityTime() { + // ignore + } + + @Override + public void reloadActivityTime() { + // ignore + } + + @Override + public void start(ITaskActivityManager taskActivityManager) { + // ignore + } + + @Override + public void stop() { + // ignore + } + +} diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/context/DefaultTaskContextStore.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/context/DefaultTaskContextStore.java new file mode 100644 index 000000000..386ddfb4c --- /dev/null +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/context/DefaultTaskContextStore.java @@ -0,0 +1,57 @@ +/******************************************************************************* + * Copyright (c) 2011 Tasktop Technologies and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Tasktop Technologies - initial API and implementation + *******************************************************************************/ + +package org.eclipse.mylyn.internal.tasks.core.context; + +import java.io.File; + +import org.eclipse.mylyn.tasks.core.ITask; +import org.eclipse.mylyn.tasks.core.context.AbstractTaskContextStore; + +/** + * @author Steffen Pingel + */ +public class DefaultTaskContextStore extends AbstractTaskContextStore { + + @Override + public boolean hasContext(ITask task) { + return false; + } + + @Override + public void cloneContext(ITask sourceTask, ITask destinationTask) { + } + + @Override + public File getFileForContext(ITask task) { + return null; + } + + @Override + public void deleteContext(ITask oldTask) { + } + + @Override + public void saveActiveContext() { + // ignore + } + + @Override + public void refactorRepositoryUrl(String oldRepositoryUrl, String newRepositoryUrl) { + // ignore + } + + @Override + public void setContextDirectory(File contextStoreDir) { + // ignore + } + +} diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/activity/AbstractTaskActivityMonitor.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/activity/AbstractTaskActivityMonitor.java new file mode 100644 index 000000000..4d9bf4d41 --- /dev/null +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/activity/AbstractTaskActivityMonitor.java @@ -0,0 +1,50 @@ +/******************************************************************************* + * Copyright (c) 2011 Tasktop Technologies and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Tasktop Technologies - initial API and implementation + *******************************************************************************/ + +package org.eclipse.mylyn.tasks.core.activity; + +import java.util.List; + +import org.eclipse.mylyn.tasks.core.ITask; +import org.eclipse.mylyn.tasks.core.ITaskActivityManager; + +/** + * @author Steffen Pingel + * @since 3.7 + */ +public abstract class AbstractTaskActivityMonitor { + + /** + * @since 3.7 + */ + public abstract List<ITask> getActivationHistory(); + + /** + * @since 3.7 + */ + public abstract void loadActivityTime(); + + /** + * @since 3.7 + */ + public abstract void reloadActivityTime(); + + /** + * @since 3.7 + */ + public abstract void start(ITaskActivityManager taskActivityManager); + + /** + * @since 3.7 + */ + public abstract void stop(); + +} diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/context/AbstractTaskContextStore.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/context/AbstractTaskContextStore.java index 0187ba72c..542d87d8f 100644 --- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/context/AbstractTaskContextStore.java +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/context/AbstractTaskContextStore.java @@ -12,11 +12,8 @@ package org.eclipse.mylyn.tasks.core.context; import java.io.File; -import java.io.InputStream; -import org.eclipse.core.runtime.CoreException; import org.eclipse.mylyn.tasks.core.ITask; -import org.eclipse.mylyn.tasks.core.TaskRepository; /** * A store for persisting task context. @@ -27,35 +24,44 @@ import org.eclipse.mylyn.tasks.core.TaskRepository; public abstract class AbstractTaskContextStore { /** + * Copies the context from <code>sourceTask</code> to <code>destinationTask</code>. Creates a new context if a + * <code>sourceTask</code> does not have a context. + * * @since 3.7 */ - public abstract boolean hasContext(ITask task); + public abstract void cloneContext(ITask sourceTask, ITask destinationTask); /** - * @throws CoreException - * thrown when the import fails * @since 3.7 */ - public abstract void importContext(ITask task, InputStream source) throws CoreException; + public abstract void deleteContext(ITask oldTask); /** - * Copies the context from <code>sourceTask</code> to <code>destinationTask</code>. Creates a new context if a - * <code>sourceTask</code> does not have a context. + * Return the location of the context for <code>task</code>. * + * @return null, if context for <code>task</code> does not exist * @since 3.7 */ - public abstract void cloneContext(ITask sourceTask, ITask destinationTask); + public abstract File getFileForContext(ITask task); /** - * Return the location of the context for <code>task</code>. - * - * @return null, if context for <code>task</code> does not exist * @since 3.7 */ - public abstract File getFileForContext(TaskRepository repository, ITask task); + public abstract boolean hasContext(ITask task); - public abstract void deleteContext(ITask oldTask); + /** + * @since 3.7 + */ + public abstract void refactorRepositoryUrl(String oldRepositoryUrl, String newRepositoryUrl); + /** + * @since 3.7 + */ public abstract void saveActiveContext(); + /** + * @since 3.7 + */ + public abstract void setContextDirectory(File contextStoreDir); + } diff --git a/org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF b/org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF index 74fc76d2c..a4ae7218f 100644 --- a/org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF +++ b/org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF @@ -5,34 +5,30 @@ Bundle-SymbolicName: org.eclipse.mylyn.tasks.tests;singleton:=true Bundle-Version: 3.7.0.qualifier Bundle-Activator: org.eclipse.mylyn.tasks.tests.TasksTestsPlugin Bundle-Vendor: Eclipse Mylyn -Require-Bundle: org.eclipse.core.runtime, +Require-Bundle: org.junit, + org.eclipse.core.expressions, + org.eclipse.core.resources, + org.eclipse.core.runtime, org.eclipse.core.net, - org.junit, - org.eclipse.mylyn.context.core, - org.eclipse.mylyn.context.tests, - org.eclipse.mylyn.commons.tests, + org.eclipse.equinox.security, org.eclipse.jdt.core, - org.eclipse.core.resources, + org.eclipse.jface.text, org.eclipse.ui, - org.eclipse.mylyn.tasks.ui, - org.eclipse.mylyn.context.ui, - org.eclipse.mylyn.tasks.core, - org.eclipse.mylyn.monitor.ui, + org.eclipse.ui.browser, + org.eclipse.ui.ide, org.eclipse.ui.forms, - org.eclipse.mylyn.resources.tests, - org.eclipse.mylyn.monitor.core, + org.eclipse.mylyn.commons.core, org.eclipse.mylyn.commons.net, org.eclipse.mylyn.commons.ui, - org.eclipse.jface.text, - org.eclipse.ui.ide, - org.eclipse.mylyn.tasks.bugs, - org.eclipse.mylyn.commons.core, org.eclipse.mylyn.commons.tests, - org.eclipse.ui.browser, - org.eclipse.core.expressions, - org.eclipse.equinox.security, - org.eclipse.mylyn.tests.util, - org.eclipse.mylyn.tasks.search + org.eclipse.mylyn.monitor.core, + org.eclipse.mylyn.monitor.ui, + org.eclipse.mylyn.resources.tests, + org.eclipse.mylyn.tasks.core, + org.eclipse.mylyn.tasks.bugs, + org.eclipse.mylyn.tasks.ui, + org.eclipse.mylyn.tasks.search, + org.eclipse.mylyn.tests.util Import-Package: com.sun.syndication.feed.synd;version="0.9.0";resolution:=optional Export-Package: org.eclipse.mylyn.tasks.tests;x-internal:=true, org.eclipse.mylyn.tasks.tests.connector;x-internal:=true, diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AllTasksTests.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AllTasksTests.java index 896c9c720..a55247efb 100644 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AllTasksTests.java +++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AllTasksTests.java @@ -20,7 +20,6 @@ import org.eclipse.mylyn.tasks.tests.core.TaskListUnmatchedContainerTest; import org.eclipse.mylyn.tasks.tests.core.TaskRepositoryLocationTest; import org.eclipse.mylyn.tasks.tests.data.TaskDataExternalizerTest; import org.eclipse.mylyn.tasks.tests.data.Xml11InputStreamTest; -import org.eclipse.mylyn.tasks.tests.ui.ContextPerspectiveManagerTest; import org.eclipse.mylyn.tasks.tests.ui.RetrieveTitleFromUrlTest; import org.eclipse.mylyn.tasks.tests.ui.TaskAttachmentPropertyTesterTest; import org.eclipse.mylyn.tasks.tests.ui.TaskHyperlinkDetectorTest; @@ -69,7 +68,6 @@ public class AllTasksTests { suite.addTestSuite(TaskDataExportTest.class); suite.addTestSuite(TaskDataImportTest.class); suite.addTestSuite(ScheduledPresentationTest.class); - suite.addTestSuite(TaskActivityTimingTest.class); suite.addTestSuite(TaskAttachmentTest.class); suite.addTestSuite(RepositorySettingsPageTest.class); suite.addTestSuite(CommentQuoterTest.class); @@ -97,7 +95,6 @@ public class AllTasksTests { suite.addTestSuite(TaskEditorPartDescriptorTest.class); suite.addTestSuite(TaskAttachmentPropertyTesterTest.class); suite.addTestSuite(CommentGroupStrategyTest.class); - suite.addTestSuite(ContextPerspectiveManagerTest.class); suite.addTestSuite(ITasksCoreConstantsTest.class); suite.addTestSuite(RetrieveTitleFromUrlTest.class); suite.addTestSuite(EditorUtilTest.class); diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/RefactorRepositoryUrlOperationTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/RefactorRepositoryUrlOperationTest.java index 382685ee3..2053d39e4 100644 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/RefactorRepositoryUrlOperationTest.java +++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/RefactorRepositoryUrlOperationTest.java @@ -11,22 +11,15 @@ package org.eclipse.mylyn.tasks.tests; -import java.io.File; -import java.util.Calendar; - import junit.framework.TestCase; import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.mylyn.internal.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.AbstractTask; import org.eclipse.mylyn.internal.tasks.core.ITasksCoreConstants; import org.eclipse.mylyn.internal.tasks.core.RepositoryQuery; import org.eclipse.mylyn.internal.tasks.core.TaskList; import org.eclipse.mylyn.internal.tasks.ui.RefactorRepositoryUrlOperation; import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin; -import org.eclipse.mylyn.monitor.core.InteractionEvent; import org.eclipse.mylyn.tasks.core.IRepositoryQuery; import org.eclipse.mylyn.tasks.core.ITask; import org.eclipse.mylyn.tasks.core.TaskRepository; @@ -54,17 +47,6 @@ public class RefactorRepositoryUrlOperationTest extends TestCase { TaskTestUtil.resetTaskList(); } - public void testMigrateTaskContextFiles() throws Exception { - File fileA = ContextCorePlugin.getContextStore().getFileForContext("http://a-1"); - fileA.createNewFile(); - fileA.deleteOnExit(); - assertTrue(fileA.exists()); - new RefactorRepositoryUrlOperation("http://a", "http://b").run(new NullProgressMonitor()); - File fileB = ContextCorePlugin.getContextStore().getFileForContext("http://b-1"); - assertTrue(fileB.exists()); - assertFalse(fileA.exists()); - } - public void testMigrateQueryUrlHandles() throws Exception { RepositoryQuery query = new MockRepositoryQuery("mquery"); query.setRepositoryUrl("http://foo.bar"); @@ -132,50 +114,6 @@ public class RefactorRepositoryUrlOperationTest extends TestCase { assertEquals("http://bb/task/123", task.getUrl()); } - public void testRefactorMetaContextHandles() throws Exception { - String firstUrl = "http://repository1.com/bugs"; - String secondUrl = "http://repository2.com/bugs"; - AbstractTask task1 = new MockTask(firstUrl, "1"); - AbstractTask task2 = new MockTask(firstUrl, "2"); - taskList.addTask(task1); - taskList.addTask(task2); - Calendar startDate = Calendar.getInstance(); - Calendar endDate = Calendar.getInstance(); - endDate.add(Calendar.MINUTE, 5); - - Calendar startDate2 = Calendar.getInstance(); - startDate2.add(Calendar.MINUTE, 15); - Calendar endDate2 = Calendar.getInstance(); - endDate2.add(Calendar.MINUTE, 25); - - ContextCorePlugin.getContextManager().resetActivityMetaContext(); - InteractionContext metaContext = ContextCorePlugin.getContextManager().getActivityMetaContext(); - assertEquals(0, metaContext.getInteractionHistory().size()); - - ContextCorePlugin.getContextManager().processActivityMetaContextEvent( - new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, task1.getHandleIdentifier(), "origin", - null, InteractionContextManager.ACTIVITY_DELTA_ADDED, 1f, startDate.getTime(), - endDate.getTime())); - - ContextCorePlugin.getContextManager().processActivityMetaContextEvent( - new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, task2.getHandleIdentifier(), "origin", - null, InteractionContextManager.ACTIVITY_DELTA_ADDED, 1f, startDate2.getTime(), - endDate2.getTime())); - - assertEquals(2, metaContext.getInteractionHistory().size()); - assertEquals(60 * 1000 * 5, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1)); - assertEquals(2 * 60 * 1000 * 5, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task2)); - new RefactorRepositoryUrlOperation(firstUrl, secondUrl).run(new NullProgressMonitor()); - metaContext = ContextCorePlugin.getContextManager().getActivityMetaContext(); - assertEquals(2, metaContext.getInteractionHistory().size()); - assertEquals(60 * 1000 * 5, TasksUiPlugin.getTaskActivityManager().getElapsedTime(new MockTask(secondUrl, "1"))); - assertEquals(2 * 60 * 1000 * 5, - TasksUiPlugin.getTaskActivityManager().getElapsedTime(new MockTask(secondUrl, "2"))); - assertEquals(secondUrl + "-1", metaContext.getInteractionHistory().get(0).getStructureHandle()); - } - public void testMigrateTaskHandlesUnsubmittedTask() throws Exception { ITask task = TasksUiUtil.createOutgoingNewTask(MockRepositoryConnector.CONNECTOR_KIND, "http://a"); String handleIdentifier = task.getHandleIdentifier(); diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/ScheduledPresentationTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/ScheduledPresentationTest.java index 0ea5e2862..11abdc267 100644 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/ScheduledPresentationTest.java +++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/ScheduledPresentationTest.java @@ -15,14 +15,11 @@ import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.Map; -import java.util.Set; import junit.framework.TestCase; import org.eclipse.mylyn.commons.net.AuthenticationCredentials; import org.eclipse.mylyn.commons.net.AuthenticationType; -import org.eclipse.mylyn.internal.context.core.ContextCorePlugin; -import org.eclipse.mylyn.internal.context.core.InteractionContextManager; import org.eclipse.mylyn.internal.tasks.core.AbstractTask; import org.eclipse.mylyn.internal.tasks.core.DateRange; import org.eclipse.mylyn.internal.tasks.core.DayDateRange; @@ -33,7 +30,6 @@ import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin; import org.eclipse.mylyn.internal.tasks.ui.views.TaskListInterestFilter; import org.eclipse.mylyn.internal.tasks.ui.views.TaskListView; import org.eclipse.mylyn.internal.tasks.ui.views.TaskScheduleContentProvider; -import org.eclipse.mylyn.monitor.core.InteractionEvent; import org.eclipse.mylyn.tasks.core.ITask; import org.eclipse.mylyn.tasks.core.ITask.SynchronizationState; import org.eclipse.mylyn.tasks.core.TaskRepository; @@ -47,8 +43,8 @@ public class ScheduledPresentationTest extends TestCase { @Override protected void setUp() throws Exception { - ContextCorePlugin.getContextManager().getActivityMetaContext().reset(); - ContextCorePlugin.getContextManager().saveActivityMetaContext(); +// ContextCorePlugin.getContextManager().getActivityMetaContext().reset(); +// ContextCorePlugin.getContextManager().saveActivityMetaContext(); TaskTestUtil.resetTaskList(); TasksUiPlugin.getExternalizationManager().requestSave(); } @@ -284,38 +280,4 @@ public class ScheduledPresentationTest extends TestCase { // TasksUiPlugin.getTaskActivityMonitor().reloadActivityTime(); // } - public void testScheduledTaskContainer() { - - Calendar startDate = Calendar.getInstance(); - startDate.setTimeInMillis(1000); - Calendar endDate = Calendar.getInstance(); - endDate.setTimeInMillis(2000); - - AbstractTask task1 = new LocalTask("task 1", "Task 1"); - AbstractTask task2 = new LocalTask("task 2", "Task 2"); - TasksUiPlugin.getTaskList().addTask(task1); - TasksUiPlugin.getTaskList().addTask(task2); - - InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, task1.getHandleIdentifier(), - InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, null, - InteractionContextManager.ACTIVITY_DELTA_ADDED, 2f, startDate.getTime(), endDate.getTime()); - - InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, task2.getHandleIdentifier(), - InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, null, - InteractionContextManager.ACTIVITY_DELTA_ADDED, 2f, startDate.getTime(), endDate.getTime()); - - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event1, false); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event2, false); - Calendar start = TaskActivityUtil.getCalendar(); - start.setTimeInMillis(0); - Calendar end = TaskActivityUtil.getCalendar(); - end.add(Calendar.MINUTE, 2); - Set<AbstractTask> tasks = TasksUiPlugin.getTaskActivityManager().getActiveTasks(start, end); - assertEquals(2, tasks.size()); - assertEquals(1000, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1)); - assertEquals(1000, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task2)); - - } } diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivationHistoryTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivationHistoryTest.java index 2582c920b..c01a491e8 100644 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivationHistoryTest.java +++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivationHistoryTest.java @@ -19,8 +19,6 @@ import java.util.Set; import junit.framework.TestCase; import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.mylyn.internal.context.core.ContextCorePlugin; -import org.eclipse.mylyn.internal.context.ui.ContextUiPlugin; import org.eclipse.mylyn.internal.tasks.core.AbstractTask; import org.eclipse.mylyn.internal.tasks.core.AbstractTaskContainer; import org.eclipse.mylyn.internal.tasks.core.TaskActivationHistory; @@ -69,7 +67,7 @@ public class TaskActivationHistoryTest extends TestCase { taskActivityManager.deactivateActiveTask(); taskActivityManager.clear(); - ContextCorePlugin.getContextManager().resetActivityMetaContext(); +// ContextCorePlugin.getContextManager().resetActivityMetaContext(); TaskTestUtil.resetTaskList(); @@ -146,7 +144,7 @@ public class TaskActivationHistoryTest extends TestCase { } private IWorkingSet createWorkingSet(IAdaptable element) { - IWorkingSetManager workingSetManager1 = ContextUiPlugin.getDefault().getWorkbench().getWorkingSetManager(); + IWorkingSetManager workingSetManager1 = PlatformUI.getWorkbench().getWorkingSetManager(); IWorkingSet workingSet = workingSetManager1.createWorkingSet("Task Working Set", new IAdaptable[] { element }); workingSet.setId(TaskWorkingSetUpdater.ID_TASK_WORKING_SET); assertTrue(Arrays.asList(workingSet.getElements()).contains(element)); diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivityTimingTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivityTimingTest.java deleted file mode 100644 index e35a45211..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivityTimingTest.java +++ /dev/null @@ -1,1321 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2010 Tasktop Technologies and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Tasktop Technologies - initial API and implementation - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import java.io.File; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.List; - -import junit.framework.TestCase; - -import org.eclipse.mylyn.commons.tests.support.CommonTestUtil; -import org.eclipse.mylyn.internal.context.core.ContextCorePlugin; -import org.eclipse.mylyn.internal.context.core.InteractionContext; -import org.eclipse.mylyn.internal.context.core.InteractionContextManager; -import org.eclipse.mylyn.internal.context.core.InteractionContextScaling; -import org.eclipse.mylyn.internal.context.core.LegacyActivityAdaptor; -import org.eclipse.mylyn.internal.monitor.ui.MonitorUiPlugin; -import org.eclipse.mylyn.internal.tasks.core.AbstractTask; -import org.eclipse.mylyn.internal.tasks.core.ITaskList; -import org.eclipse.mylyn.internal.tasks.core.LocalTask; -import org.eclipse.mylyn.internal.tasks.core.ScheduledTaskContainer; -import org.eclipse.mylyn.internal.tasks.core.TaskActivityManager; -import org.eclipse.mylyn.internal.tasks.core.TaskActivityUtil; -import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin; -import org.eclipse.mylyn.internal.tasks.ui.util.TasksUiInternal; -import org.eclipse.mylyn.monitor.core.InteractionEvent; -import org.eclipse.mylyn.tasks.core.ITask; -import org.eclipse.mylyn.tasks.ui.TasksUi; - -/** - * @author Rob Elves - */ -public class TaskActivityTimingTest extends TestCase { - - private TaskActivityManager activityManager; - - private ITaskList taskList; - - @Override - protected void setUp() throws Exception { - activityManager = (TaskActivityManager) TasksUi.getTaskActivityManager(); - taskList = TasksUiInternal.getTaskList(); - TaskTestUtil.resetTaskListAndRepositories(); - TaskTestUtil.saveAndReadTasklist(); - ContextCorePlugin.getContextManager().getActivityMetaContext().reset(); - ContextCorePlugin.getContextManager().saveActivityMetaContext(); - TasksUiPlugin.getTaskActivityMonitor().reloadActivityTime(); - } - - @Override - protected void tearDown() throws Exception { - ContextCorePlugin.getContextManager().getActivityMetaContext().reset(); - TaskTestUtil.resetTaskList(); - } - - public void testLoadCorruptContext() throws Exception { - String contextPath = TasksUiPlugin.getDefault().getDataDirectory() + '/' + "contexts" + '/'; - File contexts = new File(contextPath); - if (!contexts.exists()) { - contexts.mkdir(); - } - File backup = new File(contexts, ".activity.xml.zip"); - - File good = CommonTestUtil.getFile(this, "testdata/activityTests/.activity.xml.zip"); - - CommonTestUtil.copy(good, backup); - - File corrupt = new File(contexts, "activity.xml.zip"); - - File corruptSource = CommonTestUtil.getFile(this, "testdata/activityTests/.activity.xml.zip"); - - CommonTestUtil.copy(corruptSource, corrupt); - - InteractionContextManager manager = ContextCorePlugin.getContextManager(); - manager.loadActivityMetaContext(); - assertFalse(manager.getActivityMetaContext().getInteractionHistory().isEmpty()); - } - - public void testConstantWriting() throws Exception { - - String contextPath = TasksUiPlugin.getDefault().getDataDirectory() + '/' + "contexts" + '/'; - File contexts = new File(contextPath); - if (!contexts.exists()) { - contexts.mkdir(); - } - File backup = new File(contexts, ".activity.xml.zip"); - - File good = CommonTestUtil.getFile(this, "testdata/activityTests/.activity.xml.zip"); - - CommonTestUtil.copy(good, backup); - - InteractionContextManager manager = ContextCorePlugin.getContextManager(); - manager.loadActivityMetaContext(); - assertFalse(manager.getActivityMetaContext().getInteractionHistory().isEmpty()); - - for (int i = 0; i < 50; i++) { - manager.saveActivityMetaContext(); - } - - manager.loadActivityMetaContext(); - assertFalse(manager.getActivityMetaContext().getInteractionHistory().isEmpty()); - - } - - public void testActivityWithNoTaskActive() { - Calendar start = Calendar.getInstance(); - Calendar end = Calendar.getInstance(); - end.setTimeInMillis(start.getTimeInMillis()); - end.add(Calendar.HOUR_OF_DAY, 2); - - Calendar start2 = Calendar.getInstance(); - start2.add(Calendar.DAY_OF_MONTH, 1); - Calendar end2 = Calendar.getInstance(); - end2.setTime(start2.getTime()); - end2.add(Calendar.HOUR_OF_DAY, 2); - - InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_WORKINGSET, "none", "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ADDED, 2f, start.getTime(), end.getTime()); - InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_WORKINGSET, "none", "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ADDED, 2f, start2.getTime(), end2.getTime()); - - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event1, false); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event2, false); - - long expectedTotalTime = end.getTime().getTime() - start.getTime().getTime(); - assertEquals(2 * expectedTotalTime, activityManager.getElapsedForWorkingSet("none", start, end2)); - - } - - public void testActivityWithNoTaskActive2() { - Calendar start = Calendar.getInstance(); - Calendar end = Calendar.getInstance(); - end.setTimeInMillis(start.getTimeInMillis()); - end.add(Calendar.HOUR_OF_DAY, 2); - - Calendar start2 = Calendar.getInstance(); - start2.add(Calendar.DAY_OF_MONTH, 1); - Calendar end2 = Calendar.getInstance(); - end2.setTime(start2.getTime()); - end2.add(Calendar.HOUR_OF_DAY, 2); - - InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_WORKINGSET, "set 1", "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ADDED, 2f, start.getTime(), end.getTime()); - InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_WORKINGSET, "set 2", "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ADDED, 2f, start2.getTime(), end2.getTime()); - - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event1, false); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event2, false); - - long expectedTotalTime = end.getTime().getTime() - start.getTime().getTime(); - assertEquals(0, activityManager.getElapsedForWorkingSet("bogus", start, end2)); - assertEquals(0, activityManager.getElapsedForWorkingSet("none", start, end2)); - assertEquals(expectedTotalTime, activityManager.getElapsedForWorkingSet("set 1", start, end2)); - assertEquals(expectedTotalTime, activityManager.getElapsedForWorkingSet("set 2", start, end2)); - assertTrue(activityManager.getWorkingSets().contains("set 1")); - assertTrue(activityManager.getWorkingSets().contains("set 2")); - } - - public void testActivityCaptured() { - AbstractTask task1 = new LocalTask("task 1", "Task 1"); - taskList.addTask(task1); - assertEquals(0, activityManager.getElapsedTime(task1)); - - Calendar start = Calendar.getInstance(); - Calendar end = Calendar.getInstance(); - end.setTimeInMillis(start.getTimeInMillis()); - end.add(Calendar.HOUR_OF_DAY, 2); - - Calendar start2 = Calendar.getInstance(); - start2.add(Calendar.DAY_OF_MONTH, 1); - Calendar end2 = Calendar.getInstance(); - end2.setTime(start2.getTime()); - end2.add(Calendar.HOUR_OF_DAY, 2); - - InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, "structureKind", - task1.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ADDED, 2f, start.getTime(), end.getTime()); - InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, "structureKind", - task1.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ADDED, 2f, start2.getTime(), end2.getTime()); - - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event1, false); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event2, false); - - long expectedTotalTime = end.getTime().getTime() - start.getTime().getTime(); - assertEquals(2 * expectedTotalTime, activityManager.getElapsedTime(task1)); - Calendar startEarly = Calendar.getInstance(); - startEarly.setTimeInMillis(start.getTimeInMillis()); - startEarly.add(Calendar.MONTH, -1); - Calendar endLate = Calendar.getInstance(); - endLate.setTimeInMillis(end.getTimeInMillis() + 60 * 5000); - assertEquals(expectedTotalTime, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, startEarly, end)); - assertEquals(expectedTotalTime, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, start2, end2)); - assertEquals(2 * expectedTotalTime, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, start, end2)); - } - - public void testActivityDelete() { - - AbstractTask task1 = new LocalTask("1", "Task 1"); - taskList.addTask(task1); - assertEquals(0, activityManager.getElapsedTime(task1)); - - Calendar start = Calendar.getInstance(); - Calendar end = Calendar.getInstance(); - end.setTimeInMillis(start.getTimeInMillis()); - end.add(Calendar.HOUR_OF_DAY, 2); - - Calendar start2 = Calendar.getInstance(); - start2.add(Calendar.DAY_OF_MONTH, 1); - Calendar end2 = Calendar.getInstance(); - end2.setTime(start2.getTime()); - end2.add(Calendar.HOUR_OF_DAY, 2); - - InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, "structureKind", - task1.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ADDED, 2f, start.getTime(), end.getTime()); - InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, "structureKind", - task1.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ADDED, 2f, start2.getTime(), end2.getTime()); - - ContextCorePlugin.getContextManager().getActivityMetaContext().parseEvent(event1); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event1, false); - ContextCorePlugin.getContextManager().getActivityMetaContext().parseEvent(event2); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event2, false); - - long expectedTotalTime = end.getTime().getTime() - start.getTime().getTime(); - assertEquals(2 * expectedTotalTime, activityManager.getElapsedTime(task1)); - Calendar startEarly = Calendar.getInstance(); - startEarly.setTimeInMillis(start.getTimeInMillis()); - startEarly.add(Calendar.MONTH, -1); - Calendar endLate = Calendar.getInstance(); - endLate.setTimeInMillis(end.getTimeInMillis() + 60 * 5000); - assertEquals(expectedTotalTime, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, startEarly, end)); - assertEquals(expectedTotalTime, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, start2, end2)); - assertEquals(2 * expectedTotalTime, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, start, end2)); - - MonitorUiPlugin.getDefault() - .getActivityContextManager() - .removeActivityTime(task1.getHandleIdentifier(), start.getTimeInMillis(), end.getTimeInMillis()); - // Half gone since end date is exclusive (removes up to but not including hour) - assertEquals(expectedTotalTime, activityManager.getElapsedTime(task1)); - - ContextCorePlugin.getContextManager().saveActivityMetaContext(); - ContextCorePlugin.getContextManager().loadActivityMetaContext(); - TasksUiPlugin.getTaskActivityMonitor().reloadActivityTime(); - - assertEquals(expectedTotalTime, activityManager.getElapsedTime(task1)); - - MonitorUiPlugin.getDefault() - .getActivityContextManager() - .removeActivityTime(task1.getHandleIdentifier(), start2.getTimeInMillis(), end2.getTimeInMillis()); - - assertEquals(0, activityManager.getElapsedTime(task1)); - } - -// public void testActivityReset() { -// -// AbstractTask task1 = new LocalTask("1", "Task 1"); -// taskList.addTask(task1); -// assertEquals(0, activityManager.getElapsedTime(task1)); -// -// Calendar start = Calendar.getInstance(); -// Calendar end = Calendar.getInstance(); -// end.setTimeInMillis(start.getTimeInMillis()); -// end.add(Calendar.HOUR_OF_DAY, 2); -// -// Calendar start2 = Calendar.getInstance(); -// start2.add(Calendar.DAY_OF_MONTH, 1); -// Calendar end2 = Calendar.getInstance(); -// end2.setTime(start2.getTime()); -// end2.add(Calendar.HOUR_OF_DAY, 2); -// -// InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, "structureKind", -// task1.getHandleIdentifier(), "originId", "navigatedRelation", -// IInteractionContextManager.ACTIVITY_DELTA_ADDED, 2f, start.getTime(), end.getTime()); -// InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, "structureKind", -// task1.getHandleIdentifier(), "originId", "navigatedRelation", -// IInteractionContextManager.ACTIVITY_DELTA_ADDED, 2f, start2.getTime(), end2.getTime()); -// -// ContextCore.getContextManager().getActivityMetaContext().parseEvent(event1); -// TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event1); -// ContextCore.getContextManager().getActivityMetaContext().parseEvent(event2); -// TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event2); -// -// long expectedTotalTime = end.getTime().getTime() - start.getTime().getTime(); -// assertEquals(2 * expectedTotalTime, activityManager.getElapsedTime(task1)); -// Calendar startEarly = Calendar.getInstance(); -// startEarly.setTimeInMillis(start.getTimeInMillis()); -// startEarly.add(Calendar.MONTH, -1); -// Calendar endLate = Calendar.getInstance(); -// endLate.setTimeInMillis(end.getTimeInMillis() + 60 * 5000); -// assertEquals(expectedTotalTime, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, startEarly, end)); -// assertEquals(expectedTotalTime, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, start2, end2)); -// assertEquals(2 * expectedTotalTime, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, start, end2)); -// -// MonitorUiPlugin.getDefault().getActivityContextManager().clearActivityTime(task1.getHandleIdentifier(), -// start.getTimeInMillis(), end.getTimeInMillis()); -// // Half gone since end date is exclusive (removes up to but not including hour) -// assertEquals(expectedTotalTime, activityManager.getElapsedTime(task1)); -// assertTrue(activityManager.getActiveTasks(start, end).isEmpty()); -// assertFalse(activityManager.getActiveTasks(start2, end2).isEmpty()); -// -// MonitorUiPlugin.getDefault().getActivityContextManager().clearActivityTime(task1.getHandleIdentifier(), -// start.getTimeInMillis(), end2.getTimeInMillis() + (1000 * 60 * 60)); -// -// // with end = hour beyond should result in zero -// assertEquals(0, activityManager.getElapsedTime(task1)); -// -// TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event1); -// TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event2); -// // one event blocked now by activity date filter so only half time collected -// assertEquals(expectedTotalTime, activityManager.getElapsedTime(task1)); -// assertFalse(activityManager.getActiveTasks(start, end).isEmpty()); -// assertTrue(activityManager.getActiveTasks(start2, end2).isEmpty()); -// -// ContextCore.getContextManager().saveActivityContext(); -// ContextCore.getContextManager().loadActivityMetaContext(); -// TasksUiPlugin.getTaskListManager().resetAndRollOver(); -// -//// assertEquals(expectedTotalTime, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, startEarly, end)); -//// assertEquals(expectedTotalTime, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, start2, end2)); -//// assertEquals(2 * expectedTotalTime, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, start, end2)); -// -// // reset still valid after restart -// assertEquals(expectedTotalTime, activityManager.getElapsedTime(task1)); -// assertFalse(activityManager.getActiveTasks(start, end).isEmpty()); -// assertTrue(activityManager.getActiveTasks(start2, end2).isEmpty()); -// -// } - - public void testNegativeActivity() { - - AbstractTask task1 = new LocalTask("task 1", "Task 1"); - taskList.addTask(task1); - assertEquals(0, activityManager.getElapsedTime(task1)); - - Calendar start = Calendar.getInstance(); - Calendar end = Calendar.getInstance(); - end.setTimeInMillis(start.getTimeInMillis()); - end.add(Calendar.HOUR_OF_DAY, 2); - - Calendar start2 = Calendar.getInstance(); - start2.add(Calendar.DAY_OF_MONTH, 1); - Calendar end2 = Calendar.getInstance(); - end2.setTime(start2.getTime()); - end2.add(Calendar.HOUR_OF_DAY, 2); - - InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, "structureKind", - task1.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ADDED, 2f, end.getTime(), start.getTime()); - InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, "structureKind", - task1.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ADDED, 2f, end2.getTime(), start2.getTime()); - - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event1, false); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event2, false); - - assertEquals(0, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1)); - assertEquals(0, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, start, end)); - assertEquals(0, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, start2, end2)); - assertEquals(0, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1, start, end2)); - - } - - public void testNullTaskHandle() { - AbstractTask task1 = new LocalTask("task 1", "Task 1"); - taskList.addTask(task1); - assertEquals(0, activityManager.getElapsedTime(task1)); - - Calendar start = Calendar.getInstance(); - Calendar end = Calendar.getInstance(); - end.setTimeInMillis(start.getTimeInMillis()); - end.add(Calendar.HOUR_OF_DAY, 2); - - InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, "structureKind", null, - "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_ADDED, 2f, start.getTime(), - end.getTime()); - InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, "structureKind", "", - "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_ADDED, 2f, start.getTime(), - end.getTime()); - - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event1, false); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event2, false); - assertEquals(0, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1)); - } - - public void testActivityNotLoggedTwice() { - InteractionContext metaContext = ContextCorePlugin.getContextManager().getActivityMetaContext(); - metaContext.reset(); - assertEquals(0, metaContext.getInteractionHistory().size()); - - ITask task1 = new LocalTask("local 1", "Task 1"); - ITask task2 = new LocalTask("local 2", "Task 2"); - - Calendar startTime1 = Calendar.getInstance(); - TaskActivityUtil.snapStartOfHour(startTime1); - Calendar endTime1 = Calendar.getInstance(); - endTime1.setTime(startTime1.getTime()); - endTime1.add(Calendar.SECOND, 20); - - Calendar startTime2 = Calendar.getInstance(); - startTime2.setTime(endTime1.getTime()); - startTime2.add(Calendar.SECOND, 20); - Calendar endTime2 = Calendar.getInstance(); - endTime2.setTime(startTime2.getTime()); - endTime2.add(Calendar.MINUTE, 2); - - InteractionEvent activityEvent1 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, task1.getHandleIdentifier(), - InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, null, - InteractionContextManager.ACTIVITY_DELTA_ADDED, 1f, startTime1.getTime(), endTime1.getTime()); - - InteractionEvent activityEvent2 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, task1.getHandleIdentifier(), - InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, null, - InteractionContextManager.ACTIVITY_DELTA_ADDED, 1f, startTime2.getTime(), endTime2.getTime()); - - InteractionEvent activityEvent3 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, task2.getHandleIdentifier(), - InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, null, - InteractionContextManager.ACTIVITY_DELTA_ADDED, 1f, startTime1.getTime(), startTime1.getTime()); - - // to activity events both within same hour will get collapsed - metaContext.parseEvent(activityEvent1); - metaContext.parseEvent(activityEvent2); - // This is a bogus 3rd event with zero activity and shouldn't be recorded - // this use to result in a second write of activity1 to the context - metaContext.parseEvent(activityEvent3); - metaContext = ContextCorePlugin.getContextManager().collapseActivityMetaContext(metaContext); - assertEquals(1, metaContext.getInteractionHistory().size()); - } - - public void testDoubleBookKeeping() { - AbstractTask task1 = new LocalTask("testDoubleBookKeeping", "testDoubleBookKeeping"); - TasksUiPlugin.getTaskList().addTask(task1); - { - Calendar startActiveTime = Calendar.getInstance(); - Calendar endActiveTime = Calendar.getInstance(); - endActiveTime.setTime(startActiveTime.getTime()); - endActiveTime.add(Calendar.SECOND, 20); - - Calendar startTime = Calendar.getInstance(); - startTime.setTime(startActiveTime.getTime()); - startTime.add(Calendar.SECOND, 5); - Calendar endTime = Calendar.getInstance(); - endTime.setTime(endActiveTime.getTime()); - endTime.add(Calendar.SECOND, -5); - - InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task1.getHandleIdentifier(), InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, - "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, - startActiveTime.getTime(), startActiveTime.getTime()); - InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task1.getHandleIdentifier(), InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, - "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, - endActiveTime.getTime(), endActiveTime.getTime()); - - InteractionEvent activityEvent1 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, task1.getHandleIdentifier(), - InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, null, - InteractionContextManager.ACTIVITY_DELTA_ADDED, 1f, startTime.getTime(), endTime.getTime()); - - ContextCorePlugin.getContextManager().getActivityMetaContext().parseEvent(event1); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event1, false); - ContextCorePlugin.getContextManager().getActivityMetaContext().parseEvent(activityEvent1); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(activityEvent1, false); - ContextCorePlugin.getContextManager().getActivityMetaContext().parseEvent(event2); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event2, false); - - long elapsed = TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1); - assertEquals(10000, elapsed); - - // 2nd activation - no activity - ContextCorePlugin.getContextManager().getActivityMetaContext().parseEvent(event1); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event1, false); - ContextCorePlugin.getContextManager().getActivityMetaContext().parseEvent(event2); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event2, false); - - elapsed = TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1); - assertEquals(10000, elapsed); - assertTrue(TasksUiPlugin.getTaskActivityManager().isActiveThisWeek(task1)); - } - - assertEquals(10000, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1)); - ///--- 2nd activity on same task - { - Calendar startActiveTime2 = Calendar.getInstance(); - Calendar endActiveTime2 = Calendar.getInstance(); - endActiveTime2.setTimeInMillis(startActiveTime2.getTimeInMillis()); - endActiveTime2.add(Calendar.SECOND, 20); - - Calendar startTime2 = Calendar.getInstance(); - startTime2.setTimeInMillis(startActiveTime2.getTimeInMillis() + 2000); - Calendar endTime2 = Calendar.getInstance(); - endTime2.setTimeInMillis(endActiveTime2.getTimeInMillis() - 2000); - - InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task1.getHandleIdentifier(), InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, - "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, - startActiveTime2.getTime(), startActiveTime2.getTime()); - InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task1.getHandleIdentifier(), InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, - "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, - endActiveTime2.getTime(), endActiveTime2.getTime()); - - InteractionEvent activityEvent1 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, task1.getHandleIdentifier(), - InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, null, - InteractionContextManager.ACTIVITY_DELTA_ADDED, 1f, startTime2.getTime(), endTime2.getTime()); - - ContextCorePlugin.getContextManager().getActivityMetaContext().parseEvent(event1); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event1, false); - ContextCorePlugin.getContextManager().getActivityMetaContext().parseEvent(activityEvent1); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(activityEvent1, false); - ContextCorePlugin.getContextManager().getActivityMetaContext().parseEvent(event2); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event2, false); - } - - assertEquals(26000, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1)); - - ContextCorePlugin.getContextManager().saveActivityMetaContext(); - ContextCorePlugin.getContextManager().loadActivityMetaContext(); - TasksUiPlugin.getTaskActivityMonitor().reloadActivityTime(); - - assertEquals(26000, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1)); - - } - - public void testAfterReloading() { - AbstractTask task1 = new LocalTask("task 1", "Task 1"); - TasksUiPlugin.getTaskList().addTask(task1); - - Calendar startTime = Calendar.getInstance(); - Calendar endTime = Calendar.getInstance(); - endTime.setTimeInMillis(startTime.getTimeInMillis()); - endTime.add(Calendar.SECOND, 20); - - InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task1.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, startTime.getTime(), startTime.getTime()); - InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task1.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, startTime.getTime(), startTime.getTime()); - - InteractionEvent activityEvent1 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, task1.getHandleIdentifier(), - InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, null, - InteractionContextManager.ACTIVITY_DELTA_ADDED, 1f, startTime.getTime(), endTime.getTime()); - - ContextCorePlugin.getContextManager().getActivityMetaContext().parseEvent(event1); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event1, false); - ContextCorePlugin.getContextManager().getActivityMetaContext().parseEvent(activityEvent1); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(activityEvent1, false); - ContextCorePlugin.getContextManager().getActivityMetaContext().parseEvent(event2); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event2, false); - assertEquals(20000, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1)); - - ContextCorePlugin.getContextManager().saveActivityMetaContext(); - ContextCorePlugin.getContextManager().loadActivityMetaContext(); - TasksUiPlugin.getTaskActivityMonitor().reloadActivityTime(); - - assertEquals(20000, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1)); - - } - - public void testCollapsedTiming() { - Calendar startTime1 = Calendar.getInstance(); - Calendar endTime1 = Calendar.getInstance(); - endTime1.setTimeInMillis(startTime1.getTimeInMillis()); - endTime1.add(Calendar.SECOND, 20); - - Calendar startTime2 = Calendar.getInstance(); - startTime2.setTimeInMillis(endTime1.getTimeInMillis()); - Calendar endTime2 = Calendar.getInstance(); - endTime2.setTimeInMillis(startTime2.getTimeInMillis() + 20 * 1000); - - Calendar startTime3 = Calendar.getInstance(); - startTime3.setTimeInMillis(endTime2.getTimeInMillis()); - Calendar endTime3 = Calendar.getInstance(); - endTime3.setTimeInMillis(startTime3.getTimeInMillis() + 20 * 1000); - - InteractionContext mockContext = new InteractionContext("doitest", new InteractionContextScaling()); - InteractionEvent activityEvent1 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, "handle", - InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, null, - InteractionContextManager.ACTIVITY_DELTA_ADDED, 1f, startTime1.getTime(), endTime1.getTime()); - - InteractionEvent activityEvent2 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, "handle", - InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, null, - InteractionContextManager.ACTIVITY_DELTA_ADDED, 1f, startTime2.getTime(), endTime2.getTime()); - - InteractionEvent activityEvent3 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, "handle", - InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, null, - InteractionContextManager.ACTIVITY_DELTA_ADDED, 1f, startTime3.getTime(), endTime3.getTime()); - - mockContext.parseEvent(activityEvent1); - mockContext.parseEvent(activityEvent2); - mockContext.parseEvent(activityEvent3); - assertEquals(3, mockContext.getInteractionHistory().size()); - mockContext = ContextCorePlugin.getContextManager().collapseActivityMetaContext(mockContext); - assertEquals(1, mockContext.getInteractionHistory().size()); - - assertEquals(60 * 1000, mockContext.getInteractionHistory().get(0).getEndDate().getTime() - - mockContext.getInteractionHistory().get(0).getDate().getTime()); - } - - /** - * test that total collapsed time is same when events are separated in time - */ - public void testCollapsedTiming2() { - Calendar startTime1 = Calendar.getInstance(); - Calendar endTime1 = Calendar.getInstance(); - endTime1.setTimeInMillis(startTime1.getTimeInMillis()); - endTime1.add(Calendar.SECOND, 20); - - Calendar startTime2 = Calendar.getInstance(); - startTime2.setTimeInMillis(endTime1.getTimeInMillis()); - Calendar endTime2 = Calendar.getInstance(); - endTime2.setTimeInMillis(startTime2.getTimeInMillis() + 20 * 1000); - - Calendar startTime3 = Calendar.getInstance(); - startTime3.setTimeInMillis(endTime2.getTimeInMillis()); - Calendar endTime3 = Calendar.getInstance(); - endTime3.setTimeInMillis(startTime3.getTimeInMillis() + 50 * 1000); - - InteractionContext mockContext = new InteractionContext("doitest", new InteractionContextScaling()); - InteractionEvent activityEvent1 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, "handle", - InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, null, - InteractionContextManager.ACTIVITY_DELTA_ADDED, 1f, startTime1.getTime(), endTime1.getTime()); - - InteractionEvent activityEvent3 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, "handle", - InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, null, - InteractionContextManager.ACTIVITY_DELTA_ADDED, 1f, startTime3.getTime(), endTime3.getTime()); - - mockContext.parseEvent(activityEvent1); - mockContext.parseEvent(activityEvent3); - assertEquals(2, mockContext.getInteractionHistory().size()); - mockContext = ContextCorePlugin.getContextManager().collapseActivityMetaContext(mockContext); - assertEquals(1, mockContext.getInteractionHistory().size()); - assertEquals(70 * 1000, mockContext.getInteractionHistory().get(0).getEndDate().getTime() - - mockContext.getInteractionHistory().get(0).getDate().getTime()); - } - - public void testCollapsedExternalization() throws Exception { - - Calendar startTime1 = Calendar.getInstance(); - Calendar endTime1 = Calendar.getInstance(); - endTime1.setTime(startTime1.getTime()); - endTime1.add(Calendar.SECOND, 20); - - Calendar startTime2 = Calendar.getInstance(); - startTime2.add(Calendar.DAY_OF_MONTH, 1); - Calendar endTime2 = Calendar.getInstance(); - endTime2.setTime(startTime2.getTime()); - endTime2.add(Calendar.SECOND, 20); - - AbstractTask task1 = new LocalTask("task 1", "Task 1"); - TasksUiPlugin.getTaskList().addTask(task1); - InteractionContext metaContext = ContextCorePlugin.getContextManager().getActivityMetaContext(); - metaContext.reset(); - assertEquals(0, metaContext.getInteractionHistory().size()); - - TasksUiPlugin.getTaskActivityManager().activateTask(task1); - - InteractionEvent activityEvent1 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, task1.getHandleIdentifier(), - InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, null, - InteractionContextManager.ACTIVITY_DELTA_ADDED, 1f, startTime1.getTime(), endTime1.getTime()); - - InteractionEvent activityEvent2 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, task1.getHandleIdentifier(), - InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, null, - InteractionContextManager.ACTIVITY_DELTA_ADDED, 1f, startTime2.getTime(), endTime2.getTime()); - - metaContext.parseEvent(activityEvent1); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(activityEvent1, false); - metaContext.parseEvent(activityEvent2); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(activityEvent2, false); - TasksUiPlugin.getTaskActivityManager().deactivateActiveTask(); - assertEquals(4, ContextCorePlugin.getContextManager().getActivityMetaContext().getInteractionHistory().size()); - - TaskTestUtil.saveNow(); - ContextCorePlugin.getContextManager().saveActivityMetaContext(); - ContextCorePlugin.getContextManager().getActivityMetaContext().reset(); - assertEquals(0, ContextCorePlugin.getContextManager().getActivityMetaContext().getInteractionHistory().size()); - ContextCorePlugin.getContextManager().loadActivityMetaContext(); - - assertEquals(4, ContextCorePlugin.getContextManager().getActivityMetaContext().getInteractionHistory().size()); - - TasksUiPlugin.getTaskActivityMonitor().reloadActivityTime(); - assertEquals((endTime1.getTimeInMillis() - startTime1.getTimeInMillis()) - + (endTime2.getTimeInMillis() - startTime2.getTimeInMillis()), TasksUiPlugin.getTaskActivityManager() - .getElapsedTime(task1)); - } - - public void testCollapsedTwoTasks() { - // test collapsing of attention events when two or more - // task attention events occur sequentially - Calendar startTime1 = Calendar.getInstance(); - Calendar endTime1 = Calendar.getInstance(); - endTime1.setTimeInMillis(startTime1.getTimeInMillis()); - endTime1.add(Calendar.SECOND, 20); - - Calendar startTime2 = Calendar.getInstance(); - startTime2.setTime(endTime1.getTime()); - startTime2.add(Calendar.SECOND, 2); - Calendar endTime2 = Calendar.getInstance(); - endTime2.setTime(startTime2.getTime()); - endTime2.add(Calendar.SECOND, 20); - - InteractionContext mockContext = new InteractionContext("doitest", new InteractionContextScaling()); - InteractionEvent activityEvent1 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, "handle1", - InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, null, - InteractionContextManager.ACTIVITY_DELTA_ADDED, 1f, startTime1.getTime(), endTime1.getTime()); - - InteractionEvent activityEvent2 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, "handle2", - InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, null, - InteractionContextManager.ACTIVITY_DELTA_ADDED, 1f, startTime2.getTime(), endTime2.getTime()); - - mockContext.parseEvent(activityEvent1); - mockContext.parseEvent(activityEvent2); - - // Since these event times are within same hour, normally they would get collapsed - // here we test that if the event belongs to two different tasks remain discrete - - assertEquals(2, mockContext.getInteractionHistory().size()); - mockContext = ContextCorePlugin.getContextManager().collapseActivityMetaContext(mockContext); - assertEquals(2, mockContext.getInteractionHistory().size()); - } - - public void testCollapeedByTheHour() { - Calendar startTime1 = Calendar.getInstance(); - startTime1.set(Calendar.MINUTE, 2); - startTime1.set(Calendar.SECOND, 0); - startTime1.set(Calendar.MILLISECOND, 0); - - Calendar endTime1 = Calendar.getInstance(); - endTime1.setTime(startTime1.getTime()); - endTime1.add(Calendar.MINUTE, 2); - - Calendar startTime2 = Calendar.getInstance(); - startTime2.add(Calendar.HOUR_OF_DAY, 1); - startTime2.set(Calendar.MINUTE, 2); - startTime2.set(Calendar.SECOND, 0); - startTime2.set(Calendar.MILLISECOND, 0); - - Calendar endTime2 = Calendar.getInstance(); - endTime2.setTime(startTime2.getTime()); - endTime2.add(Calendar.MINUTE, 3); - - Calendar startTime3 = Calendar.getInstance(); - startTime3.add(Calendar.HOUR_OF_DAY, 1); - startTime3.set(Calendar.MINUTE, 20); - startTime3.set(Calendar.SECOND, 0); - startTime3.set(Calendar.MILLISECOND, 0); - - Calendar endTime3 = Calendar.getInstance(); - endTime3.setTime(startTime3.getTime()); - endTime3.add(Calendar.MINUTE, 5); - - AbstractTask task1 = new LocalTask("task 1", "Task 1"); - TasksUiPlugin.getTaskList().addTask(task1); - - InteractionEvent activityEvent1 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, task1.getHandleIdentifier(), - InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, null, - InteractionContextManager.ACTIVITY_DELTA_ADDED, 1f, startTime1.getTime(), endTime1.getTime()); - - InteractionEvent activityEvent2 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, task1.getHandleIdentifier(), - InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, null, - InteractionContextManager.ACTIVITY_DELTA_ADDED, 1f, startTime2.getTime(), endTime2.getTime()); - - InteractionEvent activityEvent3 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, task1.getHandleIdentifier(), - InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, null, - InteractionContextManager.ACTIVITY_DELTA_ADDED, 1f, startTime3.getTime(), endTime3.getTime()); - - List<InteractionEvent> events = new ArrayList<InteractionEvent>(); - events.add(activityEvent1); - events.add(activityEvent2); - events.add(activityEvent3); - List<InteractionEvent> collapsedEvents = ContextCorePlugin.getContextManager().collapseEventsByHour(events); - - assertEquals(2, collapsedEvents.size()); - } - - public void testTaskListManagerInactivity() { - - AbstractTask task1 = new LocalTask("task 1", "Task 1"); - TasksUiPlugin.getTaskList().addTask(task1); - - ScheduledTaskContainer activityThisWeek = new ScheduledTaskContainer(TasksUiPlugin.getTaskActivityManager(), - TaskActivityUtil.getCurrentWeek()); - assertNotNull(activityThisWeek); - assertEquals(0, activityThisWeek.getChildren().size()); - - InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task1.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, activityThisWeek.getStart().getTime(), - activityThisWeek.getStart().getTime()); - InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task1.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, activityThisWeek.getEnd().getTime(), - activityThisWeek.getEnd().getTime()); - - Calendar activityStart = Calendar.getInstance(); - Calendar activityEnd = Calendar.getInstance(); - activityEnd.setTimeInMillis(activityStart.getTimeInMillis()); - activityEnd.add(Calendar.HOUR_OF_DAY, 1); - - InteractionEvent activityEvent = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, task1.getHandleIdentifier(), - InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, null, - InteractionContextManager.ACTIVITY_DELTA_ADDED, 1f, activityStart.getTime(), activityEnd.getTime()); - - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event1, false); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(activityEvent, false); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(event2, false); - - long expectedTotalTime = (activityEnd.getTime().getTime() - activityStart.getTime().getTime()); - assertEquals(expectedTotalTime, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1)); - } - - public void testElapsedSameAfterRead() throws Exception { - // test that granularity of elapsed time map is retained after - // being re-read from disk - - Calendar startTime1 = Calendar.getInstance(); - startTime1.set(Calendar.MINUTE, 2); - startTime1.set(Calendar.SECOND, 0); - startTime1.set(Calendar.MILLISECOND, 0); - - Calendar endTime1 = Calendar.getInstance(); - endTime1.setTime(startTime1.getTime()); - endTime1.add(Calendar.MINUTE, 2); - - Calendar startTime2 = Calendar.getInstance(); - startTime2.add(Calendar.HOUR_OF_DAY, 1); - startTime2.set(Calendar.MINUTE, 2); - startTime2.set(Calendar.SECOND, 0); - startTime2.set(Calendar.MILLISECOND, 0); - - Calendar endTime2 = Calendar.getInstance(); - endTime2.setTime(startTime2.getTime()); - endTime2.add(Calendar.MINUTE, 3); - - Calendar startTime3 = Calendar.getInstance(); - startTime3.add(Calendar.HOUR_OF_DAY, 1); - startTime3.set(Calendar.MINUTE, 20); - startTime3.set(Calendar.SECOND, 0); - startTime3.set(Calendar.MILLISECOND, 0); - - Calendar endTime3 = Calendar.getInstance(); - endTime3.setTime(startTime3.getTime()); - endTime3.add(Calendar.MINUTE, 5); - - AbstractTask task1 = new LocalTask("task 1", "Task 1"); - TasksUiPlugin.getTaskList().addTask(task1); - TasksUiPlugin.getTaskActivityManager().activateTask(task1); - InteractionContext metaContext = ContextCorePlugin.getContextManager().getActivityMetaContext(); - metaContext.reset(); - assertEquals(0, metaContext.getInteractionHistory().size()); - - InteractionEvent activityEvent1 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, task1.getHandleIdentifier(), - InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, null, - InteractionContextManager.ACTIVITY_DELTA_ADDED, 1f, startTime1.getTime(), endTime1.getTime()); - - InteractionEvent activityEvent2 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, task1.getHandleIdentifier(), - InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, null, - InteractionContextManager.ACTIVITY_DELTA_ADDED, 1f, startTime2.getTime(), endTime2.getTime()); - - InteractionEvent activityEvent3 = new InteractionEvent(InteractionEvent.Kind.ATTENTION, - InteractionContextManager.ACTIVITY_STRUCTUREKIND_TIMING, task1.getHandleIdentifier(), - InteractionContextManager.ACTIVITY_ORIGINID_WORKBENCH, null, - InteractionContextManager.ACTIVITY_DELTA_ADDED, 1f, startTime3.getTime(), endTime3.getTime()); - - metaContext.parseEvent(activityEvent1); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(activityEvent1, false); - metaContext.parseEvent(activityEvent2); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(activityEvent2, false); - metaContext.parseEvent(activityEvent3); - TasksUiPlugin.getTaskActivityMonitor().parseInteractionEvent(activityEvent3, false); - - assertEquals(1000 * 60 * 10, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1)); - assertEquals(1000 * 60 * 2, activityManager.getElapsedTime(task1, startTime1, endTime1)); - assertEquals(1000 * 60 * 8, activityManager.getElapsedTime(task1, startTime2, endTime2)); - - TasksUi.getTaskActivityManager().deactivateActiveTask(); - assertEquals(4, ContextCorePlugin.getContextManager().getActivityMetaContext().getInteractionHistory().size()); - TaskTestUtil.saveNow(); - ContextCorePlugin.getContextManager().saveActivityMetaContext(); - ContextCorePlugin.getContextManager().getActivityMetaContext().reset(); - assertEquals(0, ContextCorePlugin.getContextManager().getActivityMetaContext().getInteractionHistory().size()); - TasksUiPlugin.getTaskActivityMonitor().reloadActivityTime(); - assertEquals(0, activityManager.getElapsedTime(task1)); - assertEquals(0, activityManager.getElapsedTime(task1, startTime1, endTime1)); - assertEquals(0, activityManager.getElapsedTime(task1, startTime2, endTime2)); - - ContextCorePlugin.getContextManager().loadActivityMetaContext(); - assertEquals(3, ContextCorePlugin.getContextManager().getActivityMetaContext().getInteractionHistory().size()); - TasksUiPlugin.getTaskActivityMonitor().reloadActivityTime(); - - startTime1 = Calendar.getInstance(); - startTime1.set(Calendar.MINUTE, 0); - startTime1.set(Calendar.SECOND, 0); - startTime1.set(Calendar.MILLISECOND, 0); - - assertEquals(1000 * 60 * 10, activityManager.getElapsedTime(task1)); - assertEquals(1000 * 60 * 2, activityManager.getElapsedTime(task1, startTime1, endTime1)); - assertEquals(1000 * 60 * 8, activityManager.getElapsedTime(task1, startTime2, endTime2)); - } - - /** - * @author Yuri Baburov (burchik@gmail.com) - * @author Rob Elves adaption to test LegacyActivityAdaptor - */ - public void testLegacyTimingMigration() { - AbstractTask task1 = new LocalTask("task 1", "Task 1"); - TasksUiPlugin.getTaskList().addTask(task1); - -// ScheduledTaskContainer thisWeekActivity = new ScheduledTaskContainer(TasksUiPlugin.getTaskActivityManager(), -// TaskActivityUtil.getCurrentWeek()); -// -// assertNotNull(thisWeekActivity); -// assertEquals(0, thisWeekActivity.getChildren().size()); -// thisWeekActivity.getStart().setTimeInMillis(1149490800000L); -// // Start -// // of -// // the -// // week -// // Jun 5 -// // 2006 -// // - Jun -// // 11 -// // 2006, -// // NOVST -// thisWeekActivity.getEnd().setTimeInMillis(1150095600000L); // End of -// // the week - - Date time1 = new Date(1150007053171L); // Sun Jun 11 13:24:13 NOVST - // 2006 - task 1 - activated - Date time2 = new Date(1150007263468L); // Sun Jun 11 13:27:43 NOVST - // 2006 - attention - - // deactivated - Date time3 = new Date(1150021535953L); // Sun Jun 11 17:25:35 NOVST - // 2006 - attention - activated - Date time4 = new Date(1150021658500L); // Sun Jun 11 17:27:38 NOVST - // 2006 - attention - - // deactivated - Date time5 = new Date(1150031089250L); // Sun Jun 11 20:04:49 NOVST - // 2006 - attention - activated - Date time6 = new Date(1150031111578L); // Sun Jun 11 20:05:11 NOVST - // 2006 - attention - - // deactivated - Date time7 = new Date(1150031111578L); // Sun Jun 11 20:05:11 NOVST - // 2006 - task 1 - deactivated - - String task1handle = task1.getHandleIdentifier(); - InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", task1handle, - "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, time1, time1); - - InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", "attention", - "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, time1, time2); - InteractionEvent event3 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", "attention", - "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, time3, time4); - InteractionEvent event5 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", "attention", - "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, time5, time6); - InteractionEvent event7 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", task1handle, - "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, time7, time7); - - LegacyActivityAdaptor legacyAdaptor = new LegacyActivityAdaptor(); - TasksUiPlugin.getTaskActivityMonitor() - .parseInteractionEvent(legacyAdaptor.parseInteractionEvent(event1), false); - TasksUiPlugin.getTaskActivityMonitor() - .parseInteractionEvent(legacyAdaptor.parseInteractionEvent(event2), false); - TasksUiPlugin.getTaskActivityMonitor() - .parseInteractionEvent(legacyAdaptor.parseInteractionEvent(event3), false); - // TasksUiPlugin.getTaskListManager().parseInteractionEvent(event4); - TasksUiPlugin.getTaskActivityMonitor() - .parseInteractionEvent(legacyAdaptor.parseInteractionEvent(event5), false); - // TaskActivityManager.getInstance().parseInteractionEvent(event6); - TasksUiPlugin.getTaskActivityMonitor() - .parseInteractionEvent(legacyAdaptor.parseInteractionEvent(event7), false); - long expectedTotalTime = time6.getTime() - time5.getTime() + time4.getTime() - time3.getTime() - + time2.getTime() - time1.getTime(); - assertEquals(expectedTotalTime, TasksUiPlugin.getTaskActivityManager().getElapsedTime(task1)); - } - -// DND: OLD ACTIVITY TESTS - Will be using to test activity report/view -// public void testInterleavedActivation() { -// -// AbstractTask task1 = new LocalTask("task 1", "Task 1"); -// TasksUiPlugin.getTaskList().addTask(task1); -// -// ScheduledTaskContainer activityThisWeek = TasksUiPlugin.getTaskListManager().getActivityThisWeek(); -// assertNotNull(activityThisWeek); -// assertEquals(0, activityThisWeek.getChildren().size()); -// -// Calendar taskActivationStart = GregorianCalendar.getInstance(); -// taskActivationStart.add(Calendar.MILLISECOND, 15); -// Calendar taskActivationStop = GregorianCalendar.getInstance(); -// taskActivationStop.add(Calendar.MILLISECOND, 25); -// -// Calendar inactivityStart1 = GregorianCalendar.getInstance(); -// inactivityStart1.add(Calendar.MILLISECOND, 5); -// Calendar inactivityStop1 = GregorianCalendar.getInstance(); -// inactivityStop1.add(Calendar.MILLISECOND, 10); -// -// Calendar inactivityStart2 = GregorianCalendar.getInstance(); -// inactivityStart2.add(Calendar.MILLISECOND, 18); -// Calendar inactivityStop2 = GregorianCalendar.getInstance(); -// inactivityStop2.add(Calendar.MILLISECOND, 25); -// -// InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", -// task1.getHandleIdentifier(), "originId", "navigatedRelation", -// InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, taskActivationStart.getTime(), -// taskActivationStart.getTime()); -// InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", -// task1.getHandleIdentifier(), "originId", "navigatedRelation", -// InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, taskActivationStop.getTime(), -// taskActivationStop.getTime()); -// -// InteractionEvent inactivityEvent1 = new InteractionEvent(InteractionEvent.Kind.COMMAND, "structureKind", -// task1.getHandleIdentifier(), "originId", "navigatedRelation", -// InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, inactivityStart1.getTime(), -// inactivityStop1.getTime()); -// InteractionEvent inactivityEvent2 = new InteractionEvent(InteractionEvent.Kind.COMMAND, "structureKind", -// task1.getHandleIdentifier(), "originId", "navigatedRelation", -// InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, inactivityStart2.getTime(), -// inactivityStop2.getTime()); -// -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(inactivityEvent1); -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event1); -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event2); -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(inactivityEvent2); -// assertEquals(1, activityThisWeek.getChildren().size()); -// -// // long expectedTotalTime = taskActivationStop.getTimeInMillis() - -// // taskActivationStart.getTimeInMillis(); -// long expectedTotalTime = 0; -// assertEquals(expectedTotalTime, activityThisWeek.getTotalElapsed()); -// assertEquals(expectedTotalTime, activityThisWeek.getElapsed(new ScheduledTaskDelegate(activityThisWeek, task1, -// null, null))); -// } -// -// public void testInterleavedActivation2() { -// -// AbstractTask task1 = new LocalTask("task 1", "Task 1"); -// TasksUiPlugin.getTaskList().addTask(task1); -// -// ScheduledTaskContainer activityThisWeek = TasksUiPlugin.getTaskListManager().getActivityThisWeek(); -// assertNotNull(activityThisWeek); -// assertEquals(0, activityThisWeek.getChildren().size()); -// -// Calendar taskActivationStart = GregorianCalendar.getInstance(); -// taskActivationStart.add(Calendar.MILLISECOND, 10); -// Calendar taskActivationStop = GregorianCalendar.getInstance(); -// taskActivationStop.add(Calendar.MILLISECOND, 25); -// -// Calendar inactivityStart = GregorianCalendar.getInstance(); -// inactivityStart.add(Calendar.MILLISECOND, 15); -// Calendar inactivityStop = GregorianCalendar.getInstance(); -// inactivityStop.add(Calendar.MILLISECOND, 20); -// -// InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", -// task1.getHandleIdentifier(), "originId", "navigatedRelation", -// InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, taskActivationStart.getTime(), -// taskActivationStart.getTime()); -// InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", -// task1.getHandleIdentifier(), "originId", "navigatedRelation", -// InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, taskActivationStop.getTime(), -// taskActivationStop.getTime()); -// -// InteractionEvent inactivityEvent1 = new InteractionEvent(InteractionEvent.Kind.COMMAND, "structureKind", -// task1.getHandleIdentifier(), "originId", "navigatedRelation", -// InteractionContextManager.ACTIVITY_DELTA_ADDED, 2f, inactivityStart.getTime(), -// inactivityStop.getTime()); -// -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event1); -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(inactivityEvent1); -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event1); -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(inactivityEvent1); -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event2); -// -// assertEquals(1, activityThisWeek.getChildren().size()); -// -// long expectedTotalTime = 2 * (inactivityStart.getTimeInMillis() - taskActivationStart.getTimeInMillis()); -// assertEquals(expectedTotalTime, activityThisWeek.getTotalElapsed()); -// assertEquals(expectedTotalTime, activityThisWeek.getElapsed(new ScheduledTaskDelegate(activityThisWeek, task1, -// null, null))); -// } -// -// -// /** -// * Some 'attention' events when all tasks are inactive -// * -// * @author Yuri Baburov (burchik@gmail.com) -// */ -// public void testTaskListManagerActivity2() { -// AbstractTask task1 = new LocalTask("task 1", "Task 1"); -// TasksUiPlugin.getTaskList().addTask(task1); -// ScheduledTaskContainer thisWeekActivity = TasksUiPlugin.getTaskListManager().getActivityThisWeek(); -// assertNotNull(thisWeekActivity); -// assertEquals(0, thisWeekActivity.getChildren().size()); -// assertEquals(0, thisWeekActivity.getTotalElapsed()); -// thisWeekActivity.getStart().setTimeInMillis(1149490800000L); // Start -// // of -// // the -// // week -// // Jun 5 -// // 2006 -// // - Jun -// // 11 -// // 2006, -// // NOVST -// thisWeekActivity.getEnd().setTimeInMillis(1150095600000L); // End of -// // the week -// -// Date time1 = new Date(1149911820812L); // Sat Jun 10 10:57:00 NOVST -// // 2006 - task 1 - activated -// Date time2 = new Date(1149911820812L); // Sat Jun 10 10:57:00 NOVST -// // 2006 - task 1 - deactivated -// Date time3 = new Date(1149911840812L); // Sat Jun 10 10:57:20 NOVST -// // 2006 - attention - -// // deactivated -// Date time4 = new Date(1149911941765L); // Sat Jun 10 10:59:01 NOVST -// // 2006 - attention - activated -// Date time5 = new Date(1149911948953L); // Sat Jun 10 10:59:08 NOVST -// // 2006 - task 1 - activated -// Date time6 = new Date(1149911988781L); // Sat Jun 10 10:59:48 NOVST -// // 2006 - task 1 - deactivated -// -// String task1handle = task1.getHandleIdentifier(); -// InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", task1handle, -// "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, time1, time1); -// InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", task1handle, -// "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, time2, time2); -// InteractionEvent event3 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", "attention", -// "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, time3, time3); -// InteractionEvent event4 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", "attention", -// "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, time4, time4); -// InteractionEvent event5 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", task1handle, -// "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, time5, time5); -// InteractionEvent event6 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", task1handle, -// "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, time6, time6); -// -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event1); -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event2); -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event3); -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event4); -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event5); -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event6); -// assertEquals(1, thisWeekActivity.getChildren().size()); -// long expectedTotalTime = 0;// time6.getTime() - time5.getTime() + -// // time2.getTime() - time1.getTime(); -// assertEquals(expectedTotalTime, thisWeekActivity.getTotalElapsed()); -// assertEquals(expectedTotalTime, TasksUiPlugin.getTaskListManager().getElapsedTime(task1)); -// assertEquals(expectedTotalTime, thisWeekActivity.getElapsed(new ScheduledTaskDelegate(thisWeekActivity, task1, -// null, null))); -// } -// -// public void testTaskListManagerActivity() { -// -// AbstractTask task1 = new LocalTask("task 1", "Task 1"); -// AbstractTask task2 = new LocalTask("task 2", "Task 2"); -// TasksUiPlugin.getTaskList().addTask(task1); -// TasksUiPlugin.getTaskList().addTask(task2); -// -// // test this week -// ScheduledTaskContainer thisWeekActivity = TasksUiPlugin.getTaskListManager().getActivityThisWeek(); -// assertNotNull(thisWeekActivity); -// assertEquals(0, thisWeekActivity.getChildren().size()); -// assertEquals(0, thisWeekActivity.getTotalElapsed()); -// Calendar thisWeekCalendarStart = GregorianCalendar.getInstance(); -// thisWeekCalendarStart.setTime(thisWeekActivity.getStart().getTime()); -// Calendar thisWeekCalendarStop = GregorianCalendar.getInstance(); -// thisWeekCalendarStop.setTime(thisWeekActivity.getStart().getTime()); -// thisWeekCalendarStop.add(Calendar.MILLISECOND, 2); -// assertTrue(thisWeekActivity.includes(thisWeekCalendarStart)); -// -// InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", -// task1.getHandleIdentifier(), "originId", "navigatedRelation", -// InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, thisWeekCalendarStart.getTime(), -// thisWeekCalendarStart.getTime()); -// InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", -// task1.getHandleIdentifier(), "originId", "navigatedRelation", -// InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, thisWeekCalendarStop.getTime(), -// thisWeekCalendarStop.getTime()); -// -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event1); -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event2); -// assertEquals(1, thisWeekActivity.getChildren().size()); -// assertEquals(0, thisWeekActivity.getTotalElapsed()); -// // assertEquals(thisWeekCalendarStop.getTime().getTime() - -// // thisWeekCalendarStart.getTime().getTime(), -// // thisWeekActivity.getTotalElapsed()); -// -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event1); -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event2); -// assertEquals(1, thisWeekActivity.getChildren().size()); -// // assertEquals(2 * (thisWeekCalendarStop.getTime().getTime() - -// // thisWeekCalendarStart.getTime().getTime()), -// // thisWeekActivity.getTotalElapsed()); -// // assertEquals(2 * (thisWeekCalendarStop.getTime().getTime() - -// // thisWeekCalendarStart.getTime().getTime()), -// // thisWeekActivity.getElapsed(new -// // DateRangeActivityDelegate(thisWeekActivity, task1, null, null))); -// -// // multiple tasks in category -// event1 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", task2.getHandleIdentifier(), -// "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, -// thisWeekCalendarStart.getTime(), thisWeekCalendarStart.getTime()); -// event2 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", task2.getHandleIdentifier(), -// "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, -// thisWeekCalendarStop.getTime(), thisWeekCalendarStop.getTime()); -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event1); -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event2); -// assertEquals(2, thisWeekActivity.getChildren().size()); -// -// // test Past -// ScheduledTaskContainer pastActivity = TasksUiPlugin.getTaskListManager().getActivityPast(); -// assertNotNull(pastActivity); -// assertEquals(0, pastActivity.getChildren().size()); -// -// InteractionEvent event3 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", -// task2.getHandleIdentifier(), "originId", "navigatedRelation", -// InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, pastActivity.getStart().getTime(), -// pastActivity.getStart().getTime()); -// InteractionEvent event4 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", -// task2.getHandleIdentifier(), "originId", "navigatedRelation", -// InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, pastActivity.getEnd().getTime(), -// pastActivity.getEnd().getTime()); -// -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event3); -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event4); -// assertEquals(1, pastActivity.getChildren().size()); -// -// // test Future -// ScheduledTaskContainer futureActivity = TasksUiPlugin.getTaskListManager().getActivityFuture(); -// assertNotNull(futureActivity); -// assertEquals(0, futureActivity.getChildren().size()); -// -// InteractionEvent event5 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", -// task2.getHandleIdentifier(), "originId", "navigatedRelation", -// InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, futureActivity.getStart().getTime(), -// futureActivity.getStart().getTime()); -// InteractionEvent event6 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", -// task2.getHandleIdentifier(), "originId", "navigatedRelation", -// InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, futureActivity.getEnd().getTime(), -// futureActivity.getEnd().getTime()); -// -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event5); -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event6); -// // No longer adding activity to future bins (days of week, next week, or -// // future) -// assertEquals(0, futureActivity.getChildren().size()); -// -// // test Next week activity -// ScheduledTaskContainer activityNextWeek = TasksUiPlugin.getTaskListManager().getActivityNextWeek(); -// assertNotNull(activityNextWeek); -// assertEquals(0, activityNextWeek.getChildren().size()); -// -// InteractionEvent event7 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", -// task2.getHandleIdentifier(), "originId", "navigatedRelation", -// InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, activityNextWeek.getStart().getTime(), -// activityNextWeek.getStart().getTime()); -// InteractionEvent event8 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", -// task2.getHandleIdentifier(), "originId", "navigatedRelation", -// InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, activityNextWeek.getEnd().getTime(), -// activityNextWeek.getEnd().getTime()); -// -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event7); -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event8); -// // No longer adding activity to future bins (days of week, next week, or -// // future) -// assertEquals(0, activityNextWeek.getChildren().size()); -// -// // test Previous week activity -// ScheduledTaskContainer activityPreviousWeek = TasksUiPlugin.getTaskListManager().getActivityPrevious(); -// assertNotNull(activityPreviousWeek); -// assertEquals(0, activityPreviousWeek.getChildren().size()); -// -// InteractionEvent event9 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", -// task2.getHandleIdentifier(), "originId", "navigatedRelation", -// InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, activityPreviousWeek.getStart().getTime(), -// activityPreviousWeek.getStart().getTime()); -// InteractionEvent event10 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", -// task2.getHandleIdentifier(), "originId", "navigatedRelation", -// InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, activityPreviousWeek.getEnd().getTime(), -// activityPreviousWeek.getEnd().getTime()); -// -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event9); -// TasksUiPlugin.getTaskListManager().parseInteractionEvent(event10); -// assertEquals(1, activityPreviousWeek.getChildren().size()); -// } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataImportTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataImportTest.java index ab96d6b57..7eb4436a1 100644 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataImportTest.java +++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataImportTest.java @@ -15,10 +15,9 @@ import java.util.Collection; import java.util.HashSet; import java.util.Set; +import junit.framework.TestCase; + import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.mylyn.context.tests.AbstractContextTest; -import org.eclipse.mylyn.internal.context.core.ContextCorePlugin; -import org.eclipse.mylyn.internal.context.core.InteractionContext; import org.eclipse.mylyn.internal.tasks.core.AbstractTask; import org.eclipse.mylyn.internal.tasks.core.LocalTask; import org.eclipse.mylyn.internal.tasks.core.TaskList; @@ -37,7 +36,7 @@ import org.eclipse.ui.internal.Workbench; * @author Rob Elves * @author Steffen Pingel */ -public class TaskDataImportTest extends AbstractContextTest { +public class TaskDataImportTest extends TestCase { private TaskDataImportWizard wizard = null; @@ -67,14 +66,14 @@ public class TaskDataImportTest extends AbstractContextTest { TaskTestUtil.resetTaskListAndRepositories(); taskList = TasksUiPlugin.getTaskList(); - ContextCorePlugin.getContextManager().getActivityMetaContext().reset(); +// ContextCorePlugin.getContextManager().getActivityMetaContext().reset(); } @Override protected void tearDown() throws Exception { wizard.dispose(); wizardPage.dispose(); - ContextCorePlugin.getContextManager().resetActivityMetaContext(); +// ContextCorePlugin.getContextManager().resetActivityMetaContext(); TaskTestUtil.resetTaskListAndRepositories(); super.tearDown(); } @@ -108,32 +107,32 @@ public class TaskDataImportTest extends AbstractContextTest { * Tests the wizard when it has been asked to import all task data from a zip file */ public void testImportRepositoriesZip() { - InteractionContext historyContext = ContextCorePlugin.getContextManager().getActivityMetaContext(); +// InteractionContext historyContext = ContextCorePlugin.getContextManager().getActivityMetaContext(); assertNotNull(taskList); - assertNotNull(historyContext); +// assertNotNull(historyContext); assertTrue(taskList.getAllTasks().size() == 0); - assertTrue(historyContext.getInteractionHistory().size() == 0); +// assertTrue(historyContext.getInteractionHistory().size() == 0); wizardPage.setSource(true, TaskTestUtil.getLocalFile(BACKUP_v1).getAbsolutePath()); wizard.performFinish(); Collection<AbstractTask> tasks = taskList.getAllTasks(); assertEquals(2, tasks.size()); - for (AbstractTask task : tasks) { - assertTrue(ContextCorePlugin.getContextManager().hasContext(task.getHandleIdentifier())); - } - historyContext = ContextCorePlugin.getContextManager().getActivityMetaContext(); - assertNotNull(historyContext); - assertTrue(historyContext.getInteractionHistory().size() > 0); +// for (AbstractTask task : tasks) { +// assertTrue(ContextCorePlugin.getContextManager().hasContext(task.getHandleIdentifier())); +// } +// historyContext = ContextCorePlugin.getContextManager().getActivityMetaContext(); +// assertNotNull(historyContext); +// assertTrue(historyContext.getInteractionHistory().size() > 0); assertTrue(TasksUiPlugin.getRepositoryManager().getAllRepositories().size() > 2); } public void testImportOverwritesAllTasks() { - InteractionContext historyContext = ContextCorePlugin.getContextManager().getActivityMetaContext(); +// InteractionContext historyContext = ContextCorePlugin.getContextManager().getActivityMetaContext(); assertNotNull(taskList); - assertNotNull(historyContext); +// assertNotNull(historyContext); assertTrue(taskList.getAllTasks().size() == 0); - assertTrue(historyContext.getInteractionHistory().size() == 0); +// assertTrue(historyContext.getInteractionHistory().size() == 0); AbstractTask task1 = new LocalTask("999", "label"); taskList.addTask(task1); @@ -146,12 +145,12 @@ public class TaskDataImportTest extends AbstractContextTest { tasks = taskList.getAllTasks(); assertEquals(2, tasks.size()); assertTrue(!taskList.getAllTasks().contains(task1)); - for (AbstractTask task : tasks) { - assertTrue(ContextCorePlugin.getContextManager().hasContext(task.getHandleIdentifier())); - } - historyContext = ContextCorePlugin.getContextManager().getActivityMetaContext(); - assertNotNull(historyContext); - assertTrue(historyContext.getInteractionHistory().size() > 0); +// for (AbstractTask task : tasks) { +// assertTrue(ContextCorePlugin.getContextManager().hasContext(task.getHandleIdentifier())); +// } +// historyContext = ContextCorePlugin.getContextManager().getActivityMetaContext(); +// assertNotNull(historyContext); +// assertTrue(historyContext.getInteractionHistory().size() > 0); assertTrue(TasksUiPlugin.getRepositoryManager().getAllRepositories().size() > 2); } diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskExportImportTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskExportImportTest.java index 35c9b5a90..e7c3704fd 100644 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskExportImportTest.java +++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskExportImportTest.java @@ -11,13 +11,13 @@ package org.eclipse.mylyn.tasks.tests; -import org.eclipse.mylyn.context.tests.AbstractContextTest; +import junit.framework.TestCase; /** * @author Jevgeni Holodkov */ //FIXME fix test -public class TaskExportImportTest extends AbstractContextTest { +public class TaskExportImportTest extends TestCase { public void testRewriteTestCases() { } diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/ui/ContextPerspectiveManagerTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/ui/ContextPerspectiveManagerTest.java deleted file mode 100644 index 27598ad0a..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/ui/ContextPerspectiveManagerTest.java +++ /dev/null @@ -1,106 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2010 Tasktop Technologies and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Tasktop Technologies - initial API and implementation - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests.ui; - -import junit.framework.TestCase; - -import org.eclipse.mylyn.context.tests.support.ContextTestUtil; -import org.eclipse.mylyn.internal.context.ui.ContextUiPlugin; -import org.eclipse.mylyn.internal.context.ui.IContextUiPreferenceContstants; -import org.eclipse.mylyn.internal.tasks.core.TaskTask; -import org.eclipse.mylyn.tasks.tests.TaskTestUtil; -import org.eclipse.mylyn.tasks.ui.TasksUi; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.PlatformUI; - -/** - * @author Steffen Pingel - */ -public class ContextPerspectiveManagerTest extends TestCase { - - private static final String ID_RESOURCE_PERSPECTIVE = "org.eclipse.ui.resourcePerspective"; - - private static final String ID_PLANNING_PERSPECTIVE = "org.eclipse.mylyn.tasks.ui.perspectives.planning"; - - private boolean previousSetting; - - @Override - protected void setUp() throws Exception { - ContextTestUtil.triggerContextUiLazyStart(); - - TaskTestUtil.resetTaskListAndRepositories(); - previousSetting = ContextUiPlugin.getDefault() - .getPreferenceStore() - .getBoolean(IContextUiPreferenceContstants.AUTO_MANAGE_PERSPECTIVES); - ContextUiPlugin.getDefault() - .getPreferenceStore() - .setValue(IContextUiPreferenceContstants.AUTO_MANAGE_PERSPECTIVES, true); - } - - @Override - protected void tearDown() throws Exception { - ContextUiPlugin.getDefault() - .getPreferenceStore() - .setValue(IContextUiPreferenceContstants.AUTO_MANAGE_PERSPECTIVES, previousSetting); - TaskTestUtil.resetTaskListAndRepositories(); - } - - public void testRestorePerspective() throws Exception { - PlatformUI.getWorkbench().showPerspective(ID_RESOURCE_PERSPECTIVE, getWorkbenchWindow()); - assertEquals(ID_RESOURCE_PERSPECTIVE, getActivePerspective()); - TaskTask task = TaskTestUtil.createMockTask("1"); - - // check that perspective is not switched for new task - TasksUi.getTaskActivityManager().activateTask(task); - assertEquals(ID_RESOURCE_PERSPECTIVE, getActivePerspective()); - - // check if previous perspective is restored on deactivation - PlatformUI.getWorkbench().showPerspective(ID_PLANNING_PERSPECTIVE, getWorkbenchWindow()); - assertEquals(ID_PLANNING_PERSPECTIVE, getActivePerspective()); - TasksUi.getTaskActivityManager().deactivateActiveTask(); - assertEquals(ID_RESOURCE_PERSPECTIVE, getActivePerspective()); - - // check if perspective is restored on activation - TasksUi.getTaskActivityManager().activateTask(task); - assertEquals(ID_PLANNING_PERSPECTIVE, getActivePerspective()); - } - - // FIXME 3.5 re-enable test -// public void testRecreateTask() throws Exception { -// PlatformUI.getWorkbench().showPerspective(ID_RESOURCE_PERSPECTIVE, MonitorUi.getLaunchingWorkbenchWindow()); -// TaskTask task = TaskTestUtil.createMockTask("1"); -// -// // check that deleting task switches back to original perspective -// TasksUi.getTaskActivityManager().activateTask(task); -// PlatformUI.getWorkbench().showPerspective(ID_PLANNING_PERSPECTIVE, MonitorUi.getLaunchingWorkbenchWindow()); -// TasksUiPlugin.getTaskActivityManager().deactivateActiveTask(); -// TasksUiPlugin.getTaskList().deleteTask(task); -// assertEquals(ID_RESOURCE_PERSPECTIVE, getActivePerspective()); -// -// task = TaskTestUtil.createMockTask("1"); -// -// // check that activating new task with the same id does not switch the perspective -// TasksUi.getTaskActivityManager().activateTask(task); -// assertEquals(ID_RESOURCE_PERSPECTIVE, getActivePerspective()); -// } - - private IWorkbenchWindow getWorkbenchWindow() { - IWorkbenchWindow window = ContextUiPlugin.getPerspectiveManager().getWorkbenchWindow(); - assertNotNull(window); - return window; - } - - private String getActivePerspective() { - return getWorkbenchWindow().getActivePage().getPerspective().getId(); - } - -} diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/ActiveContextExternalizationParticipant.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/ActiveContextExternalizationParticipant.java deleted file mode 100644 index 745932886..000000000 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/ActiveContextExternalizationParticipant.java +++ /dev/null @@ -1,186 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2010 Tasktop Technologies and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Tasktop Technologies - initial API and implementation - *******************************************************************************/ - -package org.eclipse.mylyn.internal.tasks.ui; - -import java.io.File; - -import org.eclipse.core.runtime.Assert; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.jobs.ISchedulingRule; -import org.eclipse.mylyn.context.core.AbstractContextListener; -import org.eclipse.mylyn.context.core.ContextChangeEvent; -import org.eclipse.mylyn.context.core.ContextCore; -import org.eclipse.mylyn.context.core.IInteractionContext; -import org.eclipse.mylyn.internal.context.core.ContextCorePlugin; -import org.eclipse.mylyn.internal.monitor.ui.MonitorUiPlugin; -import org.eclipse.mylyn.internal.tasks.core.ITasksCoreConstants; -import org.eclipse.mylyn.internal.tasks.core.externalization.AbstractExternalizationParticipant; -import org.eclipse.mylyn.internal.tasks.core.externalization.ExternalizationManager; -import org.eclipse.mylyn.internal.tasks.core.externalization.IExternalizationContext; -import org.eclipse.mylyn.monitor.ui.IUserAttentionListener; -import org.eclipse.mylyn.tasks.core.ITask; -import org.eclipse.mylyn.tasks.core.ITaskActivityListener; -import org.eclipse.mylyn.tasks.ui.TasksUi; - -/** - * This externalization participant only handles saving the active context periodically. No snapshots are taken and task - * activation and deactivation control the load and final write of the context in InteractionContextManager. - * - * @author Shawn Minto - */ -@SuppressWarnings("restriction") -public class ActiveContextExternalizationParticipant extends AbstractExternalizationParticipant implements - ITaskActivityListener, IUserAttentionListener { - private boolean isDirty = false; - - private final ExternalizationManager manager; - - private long lastUpdate; - - private IInteractionContext currentlyActiveContext; - - private final AbstractContextListener listener = new AbstractContextListener() { - @Override - public void contextChanged(ContextChangeEvent event) { - switch (event.getEventKind()) { - case ACTIVATED: - currentlyActiveContext = event.getContext(); - break; - case DEACTIVATED: - currentlyActiveContext = null; - setDirty(false); - break; - } - } - }; - - public ActiveContextExternalizationParticipant(ExternalizationManager manager) { - this.manager = manager; - } - - public void registerListeners() { - ContextCore.getContextManager().addListener(listener); - TasksUi.getTaskActivityManager().addActivityListener(this); - (MonitorUiPlugin.getDefault().getActivityContextManager()).addListener(this); - currentlyActiveContext = ContextCore.getContextManager().getActiveContext(); - } - - // currently not called since no way to remove a participant - public void dispose() { - ContextCore.getContextManager().removeListener(listener); - TasksUi.getTaskActivityManager().removeActivityListener(this); - if (MonitorUiPlugin.getDefault().getActivityContextManager() != null) { - (MonitorUiPlugin.getDefault().getActivityContextManager()).removeListener(this); - } - } - - @Override - public void execute(IExternalizationContext context, IProgressMonitor monitor) throws CoreException { - Assert.isNotNull(context); - switch (context.getKind()) { - case SAVE: - if (shouldWriteContext()) { - setDirty(false); - ContextCorePlugin.getContextManager().saveContext(currentlyActiveContext); - } - break; - case LOAD: - // ignore loads since we will do this synchronously with task activation - break; - case SNAPSHOT: - // ignore snapshots - break; - } - } - - @Override - public String getDescription() { - return Messages.ActiveContextExternalizationParticipant_Active_Task_Context; - } - - @Override - public ISchedulingRule getSchedulingRule() { - return ITasksCoreConstants.ACTIVE_CONTEXT_SCHEDULING_RULE; - } - - @Override - public boolean isDirty() { - return isDirty(false); - } - - @Override - public boolean isDirty(boolean full) { - synchronized (this) { - return isDirty || (full && shouldWriteContext()); - } - } - - public void setDirty(boolean dirty) { - synchronized (this) { - isDirty = dirty; - } - } - - @Override - public String getFileName() { - // ignore - return null; - } - - @Override - public void load(File sourceFile, IProgressMonitor monitor) throws CoreException { - // ignore see execute method - } - - @Override - public void save(File targetFile, IProgressMonitor monitor) throws CoreException { - // ignore see execute method - } - - public void elapsedTimeUpdated(ITask task, long newElapsedTime) { - if (System.currentTimeMillis() - lastUpdate > 1000 * 60 * 3) { - // TODO TYR TO CHECK IF IT IS DIRTY AND IT EXISTS - setDirty(shouldWriteContext()); - if (isDirty()) { - manager.requestSave(); - } - lastUpdate = System.currentTimeMillis(); - } - } - - private boolean shouldWriteContext() { - if (ContextCorePlugin.getContextManager() != null && currentlyActiveContext != null - && currentlyActiveContext.getAllElements().size() > 0) { - // we could add a check here for whether there were changes to the context - return true; - } - return false; - } - - public void activityReset() { - // ignore - } - - public void userAttentionGained() { - // ignore - } - - public void userAttentionLost() { - setDirty(shouldWriteContext()); - if (isDirty()) { - manager.requestSave(); - } - lastUpdate = System.currentTimeMillis(); - } - -} diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/ActivityExternalizationParticipant.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/ActivityExternalizationParticipant.java deleted file mode 100644 index 19af29c93..000000000 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/ActivityExternalizationParticipant.java +++ /dev/null @@ -1,133 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2010 Tasktop Technologies and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Tasktop Technologies - initial API and implementation - *******************************************************************************/ - -package org.eclipse.mylyn.internal.tasks.ui; - -import java.io.File; - -import org.eclipse.core.runtime.Assert; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.jobs.ISchedulingRule; -import org.eclipse.jface.util.IPropertyChangeListener; -import org.eclipse.mylyn.internal.context.core.ContextCorePlugin; -import org.eclipse.mylyn.internal.monitor.ui.MonitorUiPlugin; -import org.eclipse.mylyn.internal.tasks.core.ITasksCoreConstants; -import org.eclipse.mylyn.internal.tasks.core.externalization.AbstractExternalizationParticipant; -import org.eclipse.mylyn.internal.tasks.core.externalization.ExternalizationManager; -import org.eclipse.mylyn.internal.tasks.core.externalization.IExternalizationContext; -import org.eclipse.mylyn.tasks.core.ITask; -import org.eclipse.mylyn.tasks.core.ITaskActivityListener; - -/** - * @author Rob Elves - */ -@SuppressWarnings("restriction") -public class ActivityExternalizationParticipant extends AbstractExternalizationParticipant implements - ITaskActivityListener { - - private boolean isDirty = false; - - private final ExternalizationManager manager; - - private long lastUpdate; - - public ActivityExternalizationParticipant(ExternalizationManager manager) { - this.manager = manager; - MonitorUiPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(new IPropertyChangeListener() { - public void propertyChange(org.eclipse.jface.util.PropertyChangeEvent event) { - if (event.getProperty().equals(MonitorUiPlugin.ACTIVITY_TRACKING_ENABLED)) { - requestSave(); - } - } - }); - } - - @Override - public void execute(IExternalizationContext context, IProgressMonitor monitor) throws CoreException { - Assert.isNotNull(context); - switch (context.getKind()) { - case SAVE: - if (ContextCorePlugin.getDefault() != null && MonitorUiPlugin.getDefault().isActivityTrackingEnabled() - && ContextCorePlugin.getContextManager() != null) { - setDirty(false); - ContextCorePlugin.getContextManager().saveActivityMetaContext(); - } - break; - case LOAD: - ContextCorePlugin.getContextManager().loadActivityMetaContext(); - break; - case SNAPSHOT: - break; - } - } - - @Override - public String getDescription() { - return Messages.ActivityExternalizationParticipant_Activity_Context; - } - - @Override - public ISchedulingRule getSchedulingRule() { - return ITasksCoreConstants.ACTIVITY_SCHEDULING_RULE; - } - - @Override - public boolean isDirty() { - return isDirty(false); - } - - @Override - public boolean isDirty(boolean full) { - synchronized (this) { - return isDirty || full; - } - } - - public void setDirty(boolean dirty) { - synchronized (this) { - isDirty = dirty; - } - } - - @Override - public String getFileName() { - // ignore - return null; - } - - @Override - public void load(File sourceFile, IProgressMonitor monitor) throws CoreException { - // ignore see execute method - } - - @Override - public void save(File targetFile, IProgressMonitor monitor) throws CoreException { - // ignore see execute method - } - - public void activityReset() { - // ignore see execute method - } - - public void elapsedTimeUpdated(ITask task, long newElapsedTime) { - if (System.currentTimeMillis() - lastUpdate > 1000 * 60) { - requestSave(); - } - } - - private void requestSave() { - setDirty(true); - manager.requestSave(); - lastUpdate = System.currentTimeMillis(); - } - -} diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/ChangeActivityHandleOperation.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/ChangeActivityHandleOperation.java deleted file mode 100644 index 35a8785b1..000000000 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/ChangeActivityHandleOperation.java +++ /dev/null @@ -1,72 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2008 Tasktop Technologies and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Tasktop Technologies - initial API and implementation - *******************************************************************************/ - -package org.eclipse.mylyn.internal.tasks.ui; - -import java.lang.reflect.InvocationTargetException; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.mylyn.internal.context.core.ContextCorePlugin; -import org.eclipse.mylyn.internal.context.core.InteractionContext; -import org.eclipse.mylyn.monitor.core.InteractionEvent; - -/** - * Changes handle from oldHandle to newHandle in Activity Meta Context - * - * @author Rob Elves - */ -public class ChangeActivityHandleOperation extends TaskListModifyOperation { - - private final String oldHandle; - - private final String newHandle; - - public ChangeActivityHandleOperation(String oldHandle, String newHandle) { - this.oldHandle = oldHandle; - this.newHandle = newHandle; - } - - @Override - protected void operations(IProgressMonitor monitor) throws CoreException, InvocationTargetException, - InterruptedException { - if (oldHandle == null || newHandle == null || oldHandle.equals(newHandle)) { - return; - } - try { - monitor.beginTask(Messages.ChangeActivityHandleOperation_Activity_migration, IProgressMonitor.UNKNOWN); - refactorMetaContextHandles(oldHandle, newHandle); - TasksUiPlugin.getTaskActivityMonitor().reloadActivityTime(); - } finally { - monitor.done(); - } - } - - @SuppressWarnings("restriction") - private void refactorMetaContextHandles(String oldHandle, String newHandle) { - ContextCorePlugin.getContextManager().saveActivityMetaContext(); - InteractionContext metaContext = ContextCorePlugin.getContextManager().getActivityMetaContext(); - ContextCorePlugin.getContextManager().resetActivityMetaContext(); - InteractionContext newMetaContext = ContextCorePlugin.getContextManager().getActivityMetaContext(); - for (InteractionEvent event : metaContext.getInteractionHistory()) { - if (event.getStructureHandle() != null) { - if (event.getStructureHandle().equals(oldHandle)) { - event = new InteractionEvent(event.getKind(), event.getStructureKind(), newHandle, - event.getOriginId(), event.getNavigation(), event.getDelta(), - event.getInterestContribution(), event.getDate(), event.getEndDate()); - } - } - newMetaContext.parseEvent(event); - } - ContextCorePlugin.getContextManager().saveActivityMetaContext(); - } - -} diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/RefactorRepositoryUrlOperation.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/RefactorRepositoryUrlOperation.java index 43c04e459..2ab9c8071 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/RefactorRepositoryUrlOperation.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/RefactorRepositoryUrlOperation.java @@ -11,23 +11,13 @@ package org.eclipse.mylyn.internal.tasks.ui; -import java.io.File; import java.lang.reflect.InvocationTargetException; -import java.net.URLDecoder; import org.eclipse.core.runtime.Assert; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.mylyn.commons.core.StatusHandler; -import org.eclipse.mylyn.internal.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.ITasksCoreConstants; -import org.eclipse.mylyn.internal.tasks.core.RepositoryTaskHandleUtil; import org.eclipse.mylyn.internal.tasks.core.data.TaskDataManager; -import org.eclipse.mylyn.monitor.core.InteractionEvent; import org.eclipse.mylyn.tasks.core.ITask; /** @@ -56,48 +46,13 @@ public class RefactorRepositoryUrlOperation extends TaskListModifyOperation { monitor.beginTask(Messages.RefactorRepositoryUrlOperation_Repository_URL_update, IProgressMonitor.UNKNOWN); refactorOfflineHandles(oldUrl, newUrl); getTaskList().refactorRepositoryUrl(oldUrl, newUrl); - refactorMetaContextHandles(oldUrl, newUrl); - refactorContextFileNames(); + TasksUiPlugin.getContextStore().refactorRepositoryUrl(oldUrl, newUrl); TasksUiPlugin.getTaskActivityMonitor().reloadActivityTime(); } finally { monitor.done(); } } - @SuppressWarnings("restriction") - public void refactorContextFileNames() { - - File dataDir = new File(TasksUiPlugin.getDefault().getDataDirectory(), ITasksCoreConstants.CONTEXTS_DIRECTORY); - if (dataDir.exists() && dataDir.isDirectory()) { - File[] files = dataDir.listFiles(); - if (files != null) { - for (File file : dataDir.listFiles()) { - int dotIndex = file.getName().lastIndexOf(".xml"); //$NON-NLS-1$ - if (dotIndex != -1) { - String storedHandle; - try { - storedHandle = URLDecoder.decode(file.getName().substring(0, dotIndex), - InteractionContextManager.CONTEXT_FILENAME_ENCODING); - int delimIndex = storedHandle.lastIndexOf(RepositoryTaskHandleUtil.HANDLE_DELIM); - if (delimIndex != -1) { - String storedUrl = storedHandle.substring(0, delimIndex); - if (oldUrl.equals(storedUrl)) { - String id = RepositoryTaskHandleUtil.getTaskId(storedHandle); - String newHandle = RepositoryTaskHandleUtil.getHandle(newUrl, id); - File newFile = ContextCorePlugin.getContextStore().getFileForContext(newHandle); - file.renameTo(newFile); - } - } - } catch (Exception e) { - StatusHandler.log(new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN, - "Could not move context file: " + file.getName(), e)); //$NON-NLS-1$ - } - } - } - } - } - } - private void refactorOfflineHandles(String oldRepositoryUrl, String newRepositoryUrl) throws CoreException { TaskDataManager taskDataManager = TasksUiPlugin.getTaskDataManager(); for (ITask task : getTaskList().getAllTasks()) { @@ -130,28 +85,4 @@ public class RefactorRepositoryUrlOperation extends TaskListModifyOperation { // TasksUiPlugin.getTaskDataStorageManager().saveNow(); } - @SuppressWarnings("restriction") - private void refactorMetaContextHandles(String oldRepositoryUrl, String newRepositoryUrl) { - InteractionContext metaContext = ContextCorePlugin.getContextManager().getActivityMetaContext(); - ContextCorePlugin.getContextManager().resetActivityMetaContext(); - InteractionContext newMetaContext = ContextCorePlugin.getContextManager().getActivityMetaContext(); - for (InteractionEvent event : metaContext.getInteractionHistory()) { - if (event.getStructureHandle() != null) { - String storedUrl = RepositoryTaskHandleUtil.getRepositoryUrl(event.getStructureHandle()); - if (storedUrl != null) { - if (oldRepositoryUrl.equals(storedUrl)) { - String taskId = RepositoryTaskHandleUtil.getTaskId(event.getStructureHandle()); - if (taskId != null) { - String newHandle = RepositoryTaskHandleUtil.getHandle(newRepositoryUrl, taskId); - event = new InteractionEvent(event.getKind(), event.getStructureKind(), newHandle, - event.getOriginId(), event.getNavigation(), event.getDelta(), - event.getInterestContribution(), event.getDate(), event.getEndDate()); - } - } - } - } - newMetaContext.parseEvent(event); - } - } - } diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskActivityMonitor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskActivityMonitor.java deleted file mode 100644 index 7bb25f84a..000000000 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskActivityMonitor.java +++ /dev/null @@ -1,154 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2009 Tasktop Technologies and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Tasktop Technologies - initial API and implementation - *******************************************************************************/ - -package org.eclipse.mylyn.internal.tasks.ui; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.mylyn.commons.core.StatusHandler; -import org.eclipse.mylyn.context.core.AbstractContextListener; -import org.eclipse.mylyn.context.core.ContextChangeEvent; -import org.eclipse.mylyn.internal.context.core.InteractionContextManager; -import org.eclipse.mylyn.internal.tasks.core.AbstractTask; -import org.eclipse.mylyn.internal.tasks.core.ITasksCoreConstants; -import org.eclipse.mylyn.internal.tasks.core.TaskActivityManager; -import org.eclipse.mylyn.internal.tasks.core.TaskList; -import org.eclipse.mylyn.monitor.core.InteractionEvent; -import org.eclipse.mylyn.tasks.core.ITask; - -/** - * Monitors task activity and maintains task activation history - * - * @author Robert Elves - * @author Steffen Pingel - * @since 3.0 - */ -@SuppressWarnings("restriction") -public class TaskActivityMonitor { - - private final InteractionContextManager contextManager; - - private final TaskActivityManager taskActivityManager; - - private final TaskList taskList; - - private final List<ITask> activationHistory; - - private final AbstractContextListener CONTEXT_LISTENER = new AbstractContextListener() { - - @Override - public void contextChanged(ContextChangeEvent event) { - switch (event.getEventKind()) { - case INTEREST_CHANGED: - List<InteractionEvent> events = contextManager.getActivityMetaContext().getInteractionHistory(); - if (events.size() > 0) { - InteractionEvent interactionEvent = events.get(events.size() - 1); - parseInteractionEvent(interactionEvent, false); - } - break; - } - } - }; - - private ActivityExternalizationParticipant externalizationParticipant; - - public TaskActivityMonitor(TaskActivityManager taskActivityManager, InteractionContextManager contextManager) { - this.taskActivityManager = taskActivityManager; - this.contextManager = contextManager; - this.taskList = TasksUiPlugin.getTaskList(); - this.activationHistory = new ArrayList<ITask>(); - } - - public void start() { - contextManager.addActivityMetaContextListener(CONTEXT_LISTENER); - } - - /** public for testing */ - public boolean parseInteractionEvent(InteractionEvent event, boolean isReloading) { - try { - if (event.getKind().equals(InteractionEvent.Kind.COMMAND)) { - if ((event.getDelta().equals(InteractionContextManager.ACTIVITY_DELTA_ACTIVATED))) { - AbstractTask activatedTask = taskList.getTask(event.getStructureHandle()); - if (activatedTask != null) { - activationHistory.add(activatedTask); - return true; - } - } - } else if (event.getKind().equals(InteractionEvent.Kind.ATTENTION)) { - if ((event.getDelta().equals("added") || event.getDelta().equals("add"))) { //$NON-NLS-1$ //$NON-NLS-2$ - if (event.getDate().getTime() > 0 && event.getEndDate().getTime() > 0) { - if (event.getStructureKind() - .equals(InteractionContextManager.ACTIVITY_STRUCTUREKIND_WORKINGSET)) { - taskActivityManager.addWorkingSetElapsedTime(event.getStructureHandle(), event.getDate(), - event.getEndDate()); - if (!isReloading) { - externalizationParticipant.setDirty(true); - // save not requested for working set time updates so... - externalizationParticipant.elapsedTimeUpdated(null, 0); - } - } else { - AbstractTask activatedTask = taskList.getTask(event.getStructureHandle()); - if (activatedTask != null) { - taskActivityManager.addElapsedTime(activatedTask, event.getDate(), event.getEndDate()); - } - } - } - } else if (event.getDelta().equals("removed")) { //$NON-NLS-1$ - ITask task = taskList.getTask(event.getStructureHandle()); - if (task != null) { - taskActivityManager.removeElapsedTime(task, event.getDate(), event.getEndDate()); - } - } - } - } catch (Throwable t) { - StatusHandler.log(new Status(IStatus.ERROR, ITasksCoreConstants.ID_PLUGIN, - "Error parsing interaction event", t)); //$NON-NLS-1$ - } - return false; - } - - public void stop() { - contextManager.removeActivityMetaContextListener(CONTEXT_LISTENER); - } - - public void reloadActivityTime() { - activationHistory.clear(); - taskActivityManager.clearActivity(); - List<InteractionEvent> events = contextManager.getActivityMetaContext().getInteractionHistory(); - for (InteractionEvent event : events) { - parseInteractionEvent(event, true); - } - } - - /** - * Returns the task corresponding to the interaction event history item at the specified position - */ -// protected ITask getHistoryTaskAt(int pos) { -// InteractionEvent event = contextManager.getActivityMetaContext().getInteractionHistory().get(pos); -// if (event.getDelta().equals(InteractionContextManager.ACTIVITY_DELTA_ACTIVATED)) { -// return TasksUiPlugin.getTaskList().getTask(event.getStructureHandle()); -// } else { -// return null; -// } -// } - - public void setExternalizationParticipant(ActivityExternalizationParticipant participant) { - this.externalizationParticipant = participant; - } - - public List<ITask> getActivationHistory() { - return new ArrayList<ITask>(activationHistory); - } - -} diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskHistoryHandler.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskHistoryHandler.java index 27a81dc5c..dd184d8dc 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskHistoryHandler.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskHistoryHandler.java @@ -15,12 +15,8 @@ package org.eclipse.mylyn.internal.tasks.ui; import java.util.Map; import org.eclipse.core.commands.AbstractHandler; -import org.eclipse.core.commands.Command; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; -import org.eclipse.core.runtime.SafeRunner; -import org.eclipse.jface.util.SafeRunnable; -import org.eclipse.mylyn.context.core.ContextCore; import org.eclipse.mylyn.internal.tasks.core.AbstractTask; import org.eclipse.mylyn.internal.tasks.core.TaskActivationHistory; import org.eclipse.mylyn.internal.tasks.ui.actions.ActivateTaskDialogAction; @@ -28,7 +24,6 @@ import org.eclipse.mylyn.internal.tasks.ui.util.TasksUiInternal; import org.eclipse.mylyn.tasks.ui.TasksUi; import org.eclipse.mylyn.tasks.ui.TasksUiImages; import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.commands.ICommandService; import org.eclipse.ui.commands.IElementUpdater; import org.eclipse.ui.handlers.HandlerUtil; import org.eclipse.ui.menus.UIElement; @@ -41,24 +36,7 @@ public class TaskHistoryHandler extends AbstractHandler implements IElementUpdat public Object execute(final ExecutionEvent event) throws ExecutionException { if (TasksUi.getTaskActivityManager().getActiveTask() != null) { - if (ContextCore.getContextManager().isContextCapturePaused()) { - IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event); - if (window != null) { - ICommandService commandService = (ICommandService) window.getService(ICommandService.class); - if (commandService != null) { - final Command command = commandService.getCommand("org.eclipse.mylyn.ui.context.capture.pause.command"); //$NON-NLS-1$ - if (command != null) { - SafeRunner.run(new SafeRunnable() { - public void run() throws Exception { - command.executeWithChecks(event); - } - }); - } - } - } - } else { - TasksUi.getTaskActivityManager().deactivateActiveTask(); - } + TasksUi.getTaskActivityManager().deactivateActiveTask(); } else { TaskActivationHistory taskHistory = TasksUiPlugin.getTaskActivityManager().getTaskActivationHistory(); if (taskHistory.hasPrevious()) { @@ -83,11 +61,7 @@ public class TaskHistoryHandler extends AbstractHandler implements IElementUpdat if (TasksUi.getTaskActivityManager().getActiveTask() == null) { element.setIcon(TasksUiImages.CONTEXT_HISTORY_PREVIOUS); } else { - if (ContextCore.getContextManager().isContextCapturePaused()) { - element.setIcon(TasksUiImages.CONTEXT_HISTORY_PREVIOUS_PAUSE); - } else { - element.setIcon(TasksUiImages.CONTEXT_HISTORY_PREVIOUS_ACTIVE); - } + element.setIcon(TasksUiImages.CONTEXT_HISTORY_PREVIOUS_ACTIVE); } } diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPlugin.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPlugin.java index 75d8ade74..7c234ea2e 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPlugin.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TasksUiPlugin.java @@ -95,11 +95,10 @@ import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector; import org.eclipse.mylyn.tasks.core.IRepositoryQuery; import org.eclipse.mylyn.tasks.core.ITask; import org.eclipse.mylyn.tasks.core.ITask.PriorityLevel; -import org.eclipse.mylyn.tasks.core.ITaskActivationListener; import org.eclipse.mylyn.tasks.core.ITaskContainer; import org.eclipse.mylyn.tasks.core.RepositoryTemplate; -import org.eclipse.mylyn.tasks.core.TaskActivationAdapter; import org.eclipse.mylyn.tasks.core.TaskRepository; +import org.eclipse.mylyn.tasks.core.activity.AbstractTaskActivityMonitor; import org.eclipse.mylyn.tasks.core.context.AbstractTaskContextStore; import org.eclipse.mylyn.tasks.ui.AbstractRepositoryConnectorUi; import org.eclipse.mylyn.tasks.ui.AbstractTaskRepositoryLinkProvider; @@ -256,20 +255,6 @@ public class TasksUiPlugin extends AbstractUIPlugin { EDITOR, INTERNAL_BROWSER, EXTERNAL_BROWSER; } - private static ITaskActivationListener CONTEXT_TASK_ACTIVATION_LISTENER = new TaskActivationAdapter() { - - @Override - public void taskActivated(final ITask task) { - ContextCore.getContextManager().activateContext(task.getHandleIdentifier()); - } - - @Override - public void taskDeactivated(final ITask task) { - ContextCore.getContextManager().deactivateContext(task.getHandleIdentifier()); - } - - }; - private static ITaskListNotificationProvider REMINDER_NOTIFICATION_PROVIDER = new ITaskListNotificationProvider() { public Set<AbstractNotification> getNotifications() { @@ -370,7 +355,7 @@ public class TasksUiPlugin extends AbstractUIPlugin { } }; - private TaskActivityMonitor taskActivityMonitor; + private AbstractTaskActivityMonitor taskActivityMonitor; private ServiceReference proxyServiceReference; @@ -378,8 +363,6 @@ public class TasksUiPlugin extends AbstractUIPlugin { private static TaskListExternalizationParticipant taskListExternalizationParticipant; - private ActiveContextExternalizationParticipant activeContextExternalizationParticipant; - private final Set<IRepositoryModelListener> listeners = new HashSet<IRepositoryModelListener>(); private File activationHistoryFile; @@ -476,10 +459,6 @@ public class TasksUiPlugin extends AbstractUIPlugin { } finally { monitor.done(); } - activeContextExternalizationParticipant = new ActiveContextExternalizationParticipant( - externalizationManager); - externalizationManager.addParticipant(activeContextExternalizationParticipant); - activeContextExternalizationParticipant.registerListeners(); return new Status(IStatus.OK, TasksUiPlugin.ID_PLUGIN, IStatus.OK, "", null); //$NON-NLS-1$ } } @@ -617,10 +596,8 @@ public class TasksUiPlugin extends AbstractUIPlugin { taskJobFactory = new TaskJobFactory(taskList, taskDataManager, repositoryManager, repositoryModel); - taskActivityManager.addActivationListener(CONTEXT_TASK_ACTIVATION_LISTENER); - - taskActivityMonitor = new TaskActivityMonitor(taskActivityManager, ContextCorePlugin.getContextManager()); - taskActivityMonitor.start(); + taskActivityMonitor = TasksUiExtensionReader.loadTaskActivityMonitor(); + taskActivityMonitor.start(taskActivityManager); saveParticipant = new ISaveParticipant() { @@ -641,12 +618,6 @@ public class TasksUiPlugin extends AbstractUIPlugin { }; ResourcesPlugin.getWorkspace().addSaveParticipant(this, saveParticipant); - ActivityExternalizationParticipant ACTIVITY_EXTERNALIZTAION_PARTICIPANT = new ActivityExternalizationParticipant( - externalizationManager); - externalizationManager.addParticipant(ACTIVITY_EXTERNALIZTAION_PARTICIPANT); - taskActivityManager.addActivityListener(ACTIVITY_EXTERNALIZTAION_PARTICIPANT); - taskActivityMonitor.setExternalizationParticipant(ACTIVITY_EXTERNALIZTAION_PARTICIPANT); - // initialize externalization for task activation history IPath stateLocation = Platform.getStateLocation(getBundle()); activationHistoryFile = stateLocation.append("TaskActivationHistory.xml").toFile(); //$NON-NLS-1$ @@ -894,15 +865,14 @@ public class TasksUiPlugin extends AbstractUIPlugin { public void initializeDataSources() { taskDataManager.setDataPath(getDataDirectory()); externalizationManager.setRootFolderPath(getDataDirectory()); - ContextCorePlugin.getContextStore().setContextDirectory(getContextStoreDir()); + getContextStore().setContextDirectory(getContextStoreDir()); externalizationManager.load(); // TODO: Move management of template repositories to TaskRepositoryManager loadTemplateRepositories(); taskActivityManager.clear(); - ContextCorePlugin.getContextManager().loadActivityMetaContext(); - taskActivityMonitor.reloadActivityTime(); + taskActivityMonitor.loadActivityTime(); taskActivityManager.reloadPlanningData(); if (!activationHistoryFile.exists() && taskActivityManager.getTaskActivationHistory().getSize() == 0) { @@ -1303,7 +1273,7 @@ public class TasksUiPlugin extends AbstractUIPlugin { return externalizationManager; } - public static TaskActivityMonitor getTaskActivityMonitor() { + public static AbstractTaskActivityMonitor getTaskActivityMonitor() { return INSTANCE.taskActivityMonitor; } @@ -1420,7 +1390,10 @@ public class TasksUiPlugin extends AbstractUIPlugin { return identityModel; } - public static AbstractTaskContextStore getContextStore() { + public static synchronized AbstractTaskContextStore getContextStore() { + if (contextStore == null) { + contextStore = TasksUiExtensionReader.loadTaskContextStore(); + } return contextStore; } diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskMigrator.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskMigrator.java index 85bd4b65e..79b9f50ea 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskMigrator.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskMigrator.java @@ -11,19 +11,16 @@ package org.eclipse.mylyn.internal.tasks.ui.editors; -import java.lang.reflect.InvocationTargetException; import java.util.Date; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.ISafeRunnable; import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.SafeRunner; import org.eclipse.core.runtime.Status; import org.eclipse.mylyn.commons.core.StatusHandler; import org.eclipse.mylyn.internal.tasks.core.AbstractTask; import org.eclipse.mylyn.internal.tasks.core.DateRange; -import org.eclipse.mylyn.internal.tasks.ui.ChangeActivityHandleOperation; import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin; import org.eclipse.mylyn.internal.tasks.ui.util.TasksUiInternal; import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector; @@ -192,18 +189,6 @@ public class TaskMigrator { // migrate context TasksUiPlugin.getContextStore().cloneContext(oldTask, newTask); - - // migrate task activity - ChangeActivityHandleOperation operation = new ChangeActivityHandleOperation(oldTask.getHandleIdentifier(), - newTask.getHandleIdentifier()); - try { - operation.run(new NullProgressMonitor()); - } catch (InvocationTargetException e) { - StatusHandler.log(new Status(IStatus.WARNING, TasksUiPlugin.ID_PLUGIN, - "Failed to migrate activity to new task", e.getCause())); //$NON-NLS-1$ - } catch (InterruptedException e) { - // ignore - } } public static boolean isActive() { diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/AttachmentUtil.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/AttachmentUtil.java index faf88c226..10065c046 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/AttachmentUtil.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/AttachmentUtil.java @@ -86,7 +86,7 @@ public class AttachmentUtil { AbstractTaskAttachmentHandler attachmentHandler = connector.getTaskAttachmentHandler(); TasksUiPlugin.getContextStore().saveActiveContext(); - File file = TasksUiPlugin.getContextStore().getFileForContext(repository, task); + File file = TasksUiPlugin.getContextStore().getFileForContext(task); if (attachmentHandler != null && file != null && file.exists()) { FileTaskAttachmentSource attachment = new FileTaskAttachmentSource(file); attachment.setDescription(CONTEXT_DESCRIPTION); @@ -138,7 +138,7 @@ public class AttachmentUtil { public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { TaskRepository repository = TasksUi.getRepositoryManager().getRepository(task.getConnectorKind(), task.getRepositoryUrl()); - File targetFile = TasksUiPlugin.getContextStore().getFileForContext(repository, task); + File targetFile = TasksUiPlugin.getContextStore().getFileForContext(task); try { boolean exceptionThrown = true; OutputStream out = new BufferedOutputStream(new FileOutputStream(targetFile)); @@ -183,7 +183,7 @@ public class AttachmentUtil { public static boolean uploadContext(final TaskRepository repository, final ITask task, final String comment, final IRunnableContext context) { TasksUiPlugin.getContextStore().saveActiveContext(); - File sourceContextFile = TasksUiPlugin.getContextStore().getFileForContext(repository, task); + File sourceContextFile = TasksUiPlugin.getContextStore().getFileForContext(task); if (!sourceContextFile.exists()) { TasksUiInternal.displayStatus(Messages.AttachmentUtil_Mylyn_Information, new Status(IStatus.WARNING, TasksUiPlugin.ID_PLUGIN, Messages.AttachmentUtil_The_context_is_empty)); diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TasksUiExtensionReader.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TasksUiExtensionReader.java index 8f2a6744a..15b536962 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TasksUiExtensionReader.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TasksUiExtensionReader.java @@ -30,7 +30,10 @@ import org.eclipse.core.runtime.Status; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.mylyn.commons.core.StatusHandler; import org.eclipse.mylyn.internal.provisional.commons.ui.CommonImages; +import org.eclipse.mylyn.internal.tasks.core.ITasksCoreConstants; import org.eclipse.mylyn.internal.tasks.core.TaskRepositoryManager; +import org.eclipse.mylyn.internal.tasks.core.activity.DefaultTaskActivityMonitor; +import org.eclipse.mylyn.internal.tasks.core.context.DefaultTaskContextStore; import org.eclipse.mylyn.internal.tasks.core.externalization.TaskListExternalizer; import org.eclipse.mylyn.internal.tasks.ui.IDynamicSubMenuContributor; import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin; @@ -41,6 +44,8 @@ import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector; import org.eclipse.mylyn.tasks.core.AbstractRepositoryMigrator; import org.eclipse.mylyn.tasks.core.AbstractTaskListMigrator; import org.eclipse.mylyn.tasks.core.RepositoryTemplate; +import org.eclipse.mylyn.tasks.core.activity.AbstractTaskActivityMonitor; +import org.eclipse.mylyn.tasks.core.context.AbstractTaskContextStore; import org.eclipse.mylyn.tasks.ui.AbstractRepositoryConnectorUi; import org.eclipse.mylyn.tasks.ui.AbstractTaskRepositoryLinkProvider; import org.eclipse.mylyn.tasks.ui.TasksUi; @@ -632,4 +637,72 @@ public class TasksUiExtensionReader { } } + public static AbstractTaskActivityMonitor loadTaskActivityMonitor() { + IExtensionRegistry registry = Platform.getExtensionRegistry(); + IExtensionPoint connectorsExtensionPoint = registry.getExtensionPoint(ITasksCoreConstants.ID_PLUGIN + + ".activityMonitor"); //$NON-NLS-1$ + IExtension[] extensions = connectorsExtensionPoint.getExtensions(); + for (IExtension extension : extensions) { + IConfigurationElement[] elements = extension.getConfigurationElements(); + for (IConfigurationElement element : elements) { + if ("activityMonitor".equals(element.getName())) { //$NON-NLS-1$ + try { + Object object = element.createExecutableExtension("class"); //$NON-NLS-1$ + if (object instanceof AbstractTaskActivityMonitor) { + return (AbstractTaskActivityMonitor) object; + } else { + StatusHandler.log(new Status( + IStatus.ERROR, + ITasksCoreConstants.ID_PLUGIN, + NLS.bind( + "Task activity monitor ''{0}'' does not extend expected class for extension contributed by {1}", //$NON-NLS-1$ + object.getClass().getCanonicalName(), element.getContributor().getName()))); + } + } catch (Throwable e) { + StatusHandler.log(new Status( + IStatus.ERROR, + ITasksCoreConstants.ID_PLUGIN, + NLS.bind( + "Task activity monitor failed to load for extension contributed by {0}", element.getContributor().getName()), e)); //$NON-NLS-1$ + } + } + } + } + return new DefaultTaskActivityMonitor(); + } + + public static AbstractTaskContextStore loadTaskContextStore() { + IExtensionRegistry registry = Platform.getExtensionRegistry(); + IExtensionPoint connectorsExtensionPoint = registry.getExtensionPoint(ITasksCoreConstants.ID_PLUGIN + + ".contextStore"); //$NON-NLS-1$ + IExtension[] extensions = connectorsExtensionPoint.getExtensions(); + for (IExtension extension : extensions) { + IConfigurationElement[] elements = extension.getConfigurationElements(); + for (IConfigurationElement element : elements) { + if ("contextStore".equals(element.getName())) { //$NON-NLS-1$ + try { + Object object = element.createExecutableExtension("class"); //$NON-NLS-1$ + if (object instanceof AbstractTaskContextStore) { + return (AbstractTaskContextStore) object; + } else { + StatusHandler.log(new Status( + IStatus.ERROR, + ITasksCoreConstants.ID_PLUGIN, + NLS.bind( + "Task context store ''{0}'' does not extend expected class for extension contributed by {1}", //$NON-NLS-1$ + object.getClass().getCanonicalName(), element.getContributor().getName()))); + } + } catch (Throwable e) { + StatusHandler.log(new Status( + IStatus.ERROR, + ITasksCoreConstants.ID_PLUGIN, + NLS.bind( + "Task context store failed to load for extension contributed by {0}", element.getContributor().getName()), e)); //$NON-NLS-1$ + } + } + } + } + return new DefaultTaskContextStore(); + } + } diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiImages.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiImages.java index 558ca16b9..b2491ece8 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiImages.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TasksUiImages.java @@ -142,6 +142,7 @@ public class TasksUiImages { public static final ImageDescriptor CONTEXT_HISTORY_PREVIOUS = create(TOOL, "navigate-previous.gif"); //$NON-NLS-1$ + @Deprecated public static final ImageDescriptor CONTEXT_HISTORY_PREVIOUS_PAUSE = create(TOOL, "navigate-previous-pause.gif"); //$NON-NLS-1$ public static final ImageDescriptor CONTEXT_HISTORY_PREVIOUS_ACTIVE = create(TOOL, "navigate-previous-active.gif"); //$NON-NLS-1$ diff --git a/org.eclipse.mylyn.trac.tests/META-INF/MANIFEST.MF b/org.eclipse.mylyn.trac.tests/META-INF/MANIFEST.MF index 49f61e0c9..a7cb8b247 100644 --- a/org.eclipse.mylyn.trac.tests/META-INF/MANIFEST.MF +++ b/org.eclipse.mylyn.trac.tests/META-INF/MANIFEST.MF @@ -3,8 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: Mylyn Trac Connector Tests Bundle-SymbolicName: org.eclipse.mylyn.trac.tests;singleton:=true Bundle-Version: 3.7.0.qualifier -Require-Bundle: org.apache.xmlrpc;bundle-version="3.0.0", - org.junit, +Require-Bundle: org.junit, org.eclipse.core.runtime, org.eclipse.jface.text, org.eclipse.search, @@ -12,13 +11,13 @@ Require-Bundle: org.apache.xmlrpc;bundle-version="3.0.0", org.eclipse.ui.workbench.texteditor, org.eclipse.mylyn.commons.net, org.eclipse.mylyn.commons.tests, - org.eclipse.mylyn.context.core, org.eclipse.mylyn.tasks.ui, org.eclipse.mylyn.tasks.core, org.eclipse.mylyn.tests.util, org.eclipse.mylyn.trac.ui, org.eclipse.mylyn.trac.core, - org.apache.ws.commons.util;bundle-version="1.0.0" + org.apache.ws.commons.util;bundle-version="1.0.0", + org.apache.xmlrpc;bundle-version="3.0.0" Export-Package: org.eclipse.mylyn.internal.trac.ui;x-internal:=true, org.eclipse.mylyn.trac.tests;x-internal:=true, org.eclipse.mylyn.trac.tests.client;x-internal:=true, diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/core/TracRepositoryConnectorTest.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/core/TracRepositoryConnectorTest.java index 72096486f..0a654b3b2 100644 --- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/core/TracRepositoryConnectorTest.java +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/core/TracRepositoryConnectorTest.java @@ -154,7 +154,7 @@ public class TracRepositoryConnectorTest extends TestCase { public void testContext() throws Exception { String taskId = data.attachmentTicketId + ""; ITask task = TracTestUtil.createTask(repository, taskId); - File sourceContextFile = TasksUiPlugin.getContextStore().getFileForContext(repository, task); + File sourceContextFile = TasksUiPlugin.getContextStore().getFileForContext(task); sourceContextFile.createNewFile(); sourceContextFile.deleteOnExit(); |