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 /org.eclipse.mylyn.tasks.core | |
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
Diffstat (limited to 'org.eclipse.mylyn.tasks.core')
8 files changed, 378 insertions, 15 deletions
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); + } |