Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteffen Pingel2011-07-22 21:47:28 +0000
committerSteffen Pingel2011-07-22 21:47:28 +0000
commit11303ccd712dfd8fb7fa3f639fa8a8381170e553 (patch)
treeeec11fbb0e0d5b5e2a185bc1df331dd28c5aa4e9 /org.eclipse.mylyn.tasks.core
parentd02ba239c8c77469ff137cbf4d939a834ff39c97 (diff)
downloadorg.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')
-rw-r--r--org.eclipse.mylyn.tasks.core/META-INF/MANIFEST.MF3
-rw-r--r--org.eclipse.mylyn.tasks.core/plugin.xml2
-rw-r--r--org.eclipse.mylyn.tasks.core/schema/activityMonitor.exsd97
-rw-r--r--org.eclipse.mylyn.tasks.core/schema/contextStore.exsd97
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/activity/DefaultTaskActivityMonitor.java51
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/context/DefaultTaskContextStore.java57
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/activity/AbstractTaskActivityMonitor.java50
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/context/AbstractTaskContextStore.java36
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);
+
}

Back to the top