diff options
author | mkersten | 2005-12-12 19:03:06 +0000 |
---|---|---|
committer | mkersten | 2005-12-12 19:03:06 +0000 |
commit | ccc8871db5eb3592c9fdb0ed9e13186dd5001905 (patch) | |
tree | e0f5a2dba043cf108b1d506a3797968a5ee431ca | |
parent | 8f0efbbcb0138a52fdd2c6f3f7d380788f1ffd64 (diff) | |
download | org.eclipse.mylyn.tasks-ccc8871db5eb3592c9fdb0ed9e13186dd5001905.tar.gz org.eclipse.mylyn.tasks-ccc8871db5eb3592c9fdb0ed9e13186dd5001905.tar.xz org.eclipse.mylyn.tasks-ccc8871db5eb3592c9fdb0ed9e13186dd5001905.zip |
Progress on: Bug 120185: make task planner run with progress
https://bugs.eclipse.org/bugs/show_bug.cgi?id=120185
6 files changed, 31 insertions, 30 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/planner/CompletedTaskCollector.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/planner/CompletedTaskCollector.java index 43b59eeec..8facaf718 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/planner/CompletedTaskCollector.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/planner/CompletedTaskCollector.java @@ -25,11 +25,12 @@ import org.eclipse.mylar.tasklist.ITask; public class CompletedTaskCollector implements ITasksCollector { private Map<String, ITask> completedTasks = new HashMap<String, ITask>(); - private Date cutOffDate = null; - private long DAY = 24*3600*1000; + private Date periodStartDate; +// private long DAY = 24*3600*1000; - public CompletedTaskCollector(int prevDays) { - cutOffDate = new Date(new Date().getTime() - prevDays * DAY); + public CompletedTaskCollector(Date periodStartDate) { + this.periodStartDate = periodStartDate; +// cutOffDate = new Date(new Date().getTime() - prevDays * DAY); } public String getLabel() { @@ -37,7 +38,7 @@ public class CompletedTaskCollector implements ITasksCollector { } public void consumeTask(ITask task) { - if (task.isCompleted() && task.getCompletionDate() != null && task.getCompletionDate().compareTo(cutOffDate) > 0 && !completedTasks.containsKey(task.getHandleIdentifier())) { + if (task.isCompleted() && task.getCompletionDate() != null && task.getCompletionDate().compareTo(periodStartDate) > 0 && !completedTasks.containsKey(task.getHandleIdentifier())) { completedTasks.put(task.getHandleIdentifier(), task); } } diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/planner/InProgressTaskCollector.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/planner/InProgressTaskCollector.java index 433b98206..5792f1654 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/planner/InProgressTaskCollector.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/planner/InProgressTaskCollector.java @@ -16,15 +16,17 @@ import org.eclipse.mylar.tasklist.ITask; * on during the specified number of previous days. * * @author Wesley Coelho (Adapted from CompletedTaskCollector by Key Sueda) + * @author Mik Kersten */ public class InProgressTaskCollector implements ITasksCollector { private Map<String, ITask> inProgressTasks = new HashMap<String, ITask>(); - private Date periodStartDate = null; - private long DAY = 24*3600*1000; + private Date periodStartDate ; +// private long DAY = 24*3600*1000; - public InProgressTaskCollector(int prevDays) { - periodStartDate = new Date(new Date().getTime() - prevDays * DAY); + public InProgressTaskCollector(Date periodStartDate) { +// periodStartDate = new Date(new Date().getTime() - prevDays * DAY); + this.periodStartDate = periodStartDate; } public String getLabel() { @@ -32,12 +34,12 @@ public class InProgressTaskCollector implements ITasksCollector { } public void consumeTask(ITask task) { - if (!task.isCompleted() && hasActivitySince(task, periodStartDate) && !inProgressTasks.containsKey(task.getHandleIdentifier())){ + if (!task.isCompleted() && hasActivitySince(task, periodStartDate) && !inProgressTasks.containsKey(task.getHandleIdentifier())) { inProgressTasks.put(task.getHandleIdentifier(), task); } } - protected boolean hasActivitySince(ITask task, Date startDate){ + protected boolean hasActivitySince(ITask task, Date startDate) { IMylarContext mylarContext = MylarPlugin.getContextManager().loadContext(task.getHandleIdentifier());//,task.getContextPath()); if (mylarContext != null){ List<InteractionEvent> events = mylarContext.getInteractionHistory(); diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/planner/TaskReportGenerator.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/planner/TaskReportGenerator.java index b06a4768f..e0164d799 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/planner/TaskReportGenerator.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/planner/TaskReportGenerator.java @@ -40,9 +40,9 @@ public class TaskReportGenerator { public void collectTasks() { List<ITask> roots = tasklist.getRootTasks(); for(int i = 0; i < roots.size(); i++) { - ITask t = (ITask) roots.get(i); + ITask task = (ITask) roots.get(i); for (ITasksCollector collector : collectors) { - collector.consumeTask(t); + collector.consumeTask(task); } } for (TaskCategory cat : tasklist.getTaskCategories()) { diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/planner/ui/TaskPlannerEditorInput.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/planner/ui/TaskPlannerEditorInput.java index 46c2e68f2..fe24744c6 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/planner/ui/TaskPlannerEditorInput.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/planner/ui/TaskPlannerEditorInput.java @@ -43,29 +43,27 @@ public class TaskPlannerEditorInput implements IEditorInput { private Date reportStartDate = null; public TaskPlannerEditorInput(int prevDays, TaskList tlist) { + prevDaysToReport = prevDays; + long today = new Date().getTime(); + long lastDay = prevDaysToReport * DAY; + + int offsetToday = Calendar.getInstance().get(Calendar.HOUR) * 60 * 60 * 1000 + + Calendar.getInstance().get(Calendar.MINUTE) * 60 * 1000 + + Calendar.getInstance().get(Calendar.SECOND) * 1000; + reportStartDate = new Date(today - offsetToday - lastDay); + parser = new TaskReportGenerator(tlist); - ITasksCollector completedTaskCollector = new CompletedTaskCollector(prevDays); + ITasksCollector completedTaskCollector = new CompletedTaskCollector(reportStartDate); parser.addCollector(completedTaskCollector); - ITasksCollector inProgressTaskCollector = new InProgressTaskCollector(prevDays); + ITasksCollector inProgressTaskCollector = new InProgressTaskCollector(reportStartDate); parser.addCollector(inProgressTaskCollector); parser.collectTasks(); completedTasks = completedTaskCollector.getTasks(); inProgressTasks = inProgressTaskCollector.getTasks(); - - prevDaysToReport = prevDays; - - long today = new Date().getTime(); - long lastDay = prevDaysToReport * DAY; - - int offsetToday = Calendar.getInstance().get(Calendar.HOUR) * 60 * 60 * 1000 - + Calendar.getInstance().get(Calendar.MINUTE) * 60 * 1000 - + Calendar.getInstance().get(Calendar.SECOND) * 1000; -// System.err.println(">>> " + offsetToday); - reportStartDate = new Date(today - offsetToday - lastDay); } // IEditorInput interface methods diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/planner/ui/TaskPlannerEditorPart.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/planner/ui/TaskPlannerEditorPart.java index e40380581..a4a70ee9f 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/planner/ui/TaskPlannerEditorPart.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/internal/planner/ui/TaskPlannerEditorPart.java @@ -213,7 +213,7 @@ public class TaskPlannerEditorPart extends EditorPart { label.setForeground(toolkit.getColors().getColor(FormColors.TITLE)); String totalCompletedTaskTime = "Total time on completed: " - + DateUtil.getFormattedDuration(editorInput.getTotalTimeSpentOnCompletedTasks()); + + DateUtil.getFormattedDuration(editorInput.getTotalTimeSpentOnCompletedTasks(), false); label = toolkit.createLabel(summaryContainer, totalCompletedTaskTime, SWT.NULL); label.setForeground(toolkit.getColors().getColor(FormColors.TITLE)); @@ -222,7 +222,7 @@ public class TaskPlannerEditorPart extends EditorPart { label.setForeground(toolkit.getColors().getColor(FormColors.TITLE)); String totalInProgressTaskTime = "Total time on incomplete: " - + DateUtil.getFormattedDuration(editorInput.getTotalTimeSpentOnInProgressTasks()); + + DateUtil.getFormattedDuration(editorInput.getTotalTimeSpentOnInProgressTasks(), false); label = toolkit.createLabel(summaryContainer, totalInProgressTaskTime, SWT.NULL); label.setForeground(toolkit.getColors().getColor(FormColors.TITLE)); @@ -301,7 +301,7 @@ public class TaskPlannerEditorPart extends EditorPart { private String getTotalTime() { return DateUtil.getFormattedDuration(editorInput.getTotalTimeSpentOnCompletedTasks() - + editorInput.getTotalTimeSpentOnInProgressTasks()); + + editorInput.getTotalTimeSpentOnInProgressTasks(), false); } private TableViewer createTableSection(Composite parent, FormToolkit toolkit, String title, String[] columnNames, diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskInfoEditor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskInfoEditor.java index 09b7e1ef0..a4eacf2f8 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskInfoEditor.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/TaskInfoEditor.java @@ -475,7 +475,7 @@ public class TaskInfoEditor extends EditorPart { String elapsedTimeString = "0"; try { - elapsedTimeString = DateUtil.getFormattedDuration(task.getElapsedTime()); + elapsedTimeString = DateUtil.getFormattedDuration(task.getElapsedTime(), true); } catch (RuntimeException e) { ErrorLogger.fail(e, "Could not format reminder date", true); } |