From 95afdebedf23d9d21d367c66a3b93cab007ec5f9 Mon Sep 17 00:00:00 2001 From: Lily Guo Date: Mon, 27 May 2013 15:34:58 -0700 Subject: 409758: [api] allow clients to determine the first and last activity dates of a task Change-Id: I5aa8aa53d204a3c6cef2fc4cfa7d4023f72c719a Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=409758 --- .../mylyn/internal/tasks/core/TaskActivityManager.java | 16 ++++++++++++++++ .../eclipse/mylyn/tasks/core/ITaskActivityManager.java | 13 +++++++++++++ 2 files changed, 29 insertions(+) diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskActivityManager.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskActivityManager.java index b4c77a409..51804d8de 100644 --- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskActivityManager.java +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskActivityManager.java @@ -857,6 +857,22 @@ public class TaskActivityManager implements ITaskActivityManager { return taskActivationHistory; } + public Date getFirstActivity(ITask task) { + SortedMap activityMap = taskElapsedTimeMap.get(task); + if (activityMap != null && !activityMap.isEmpty()) { + return activityMap.firstKey().getTime(); + } + return null; + } + + public Date getLastActivity(ITask task) { + SortedMap activityMap = taskElapsedTimeMap.get(task); + if (activityMap != null && !activityMap.isEmpty()) { + return activityMap.lastKey().getTime(); + } + return null; + } + public Set getAllScheduledTasks() { return new HashSet(allScheduledTasks); } diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITaskActivityManager.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITaskActivityManager.java index 02dd0cacf..d60bef7bf 100644 --- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITaskActivityManager.java +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITaskActivityManager.java @@ -12,6 +12,7 @@ package org.eclipse.mylyn.tasks.core; import java.util.Calendar; +import java.util.Date; import java.util.Set; import org.eclipse.mylyn.internal.tasks.core.AbstractTask; @@ -68,6 +69,18 @@ public interface ITaskActivityManager { */ public abstract long getElapsedTime(ITask task, Calendar start, Calendar end); + /** + * @return the date of the first activity of the given task + * @since 3.10 + */ + public abstract Date getFirstActivity(ITask task); + + /** + * @return the date of the last activity of the given task + * @since 3.10 + */ + public abstract Date getLastActivity(ITask task); + public abstract void addActivityListener(ITaskActivityListener listener); public abstract void removeActivityListener(ITaskActivityListener listener); -- cgit v1.2.3