Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListInterestSorter.java')
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListInterestSorter.java178
1 files changed, 0 insertions, 178 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListInterestSorter.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListInterestSorter.java
deleted file mode 100644
index 99295bc0e..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListInterestSorter.java
+++ /dev/null
@@ -1,178 +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.views;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.mylyn.internal.tasks.core.AbstractTask;
-import org.eclipse.mylyn.internal.tasks.core.AbstractTaskContainer;
-import org.eclipse.mylyn.internal.tasks.core.ScheduledTaskContainer;
-import org.eclipse.mylyn.internal.tasks.core.UncategorizedTaskContainer;
-import org.eclipse.mylyn.internal.tasks.core.UnmatchedTaskContainer;
-import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
-import org.eclipse.mylyn.internal.tasks.ui.util.TaskComparator;
-import org.eclipse.mylyn.tasks.core.IRepositoryElement;
-import org.eclipse.mylyn.tasks.core.ITask;
-import org.eclipse.mylyn.tasks.core.ITaskContainer;
-
-/**
- * @author Mik Kersten
- */
-public class TaskListInterestSorter extends ViewerSorter {
-
- private final TaskKeyComparator taskKeyComparator = new TaskKeyComparator();
-
- @Override
- public int compare(Viewer compareViewer, Object o1, Object o2) {
-
- if (o1 instanceof ITaskContainer && o2 instanceof UnmatchedTaskContainer) {
- return -1;
- } else if (o2 instanceof ITaskContainer && o1 instanceof UnmatchedTaskContainer) {
- return 1;
- }
- if (o1 instanceof ScheduledTaskContainer && o2 instanceof ScheduledTaskContainer) {
- ScheduledTaskContainer dateRangeTaskContainer1 = (ScheduledTaskContainer) o1;
- ScheduledTaskContainer dateRangeTaskContainer2 = (ScheduledTaskContainer) o2;
- return dateRangeTaskContainer1.getDateRange().compareTo(dateRangeTaskContainer2.getDateRange());
- } else if (o1 instanceof ITaskContainer && o2 instanceof ScheduledTaskContainer) {
- return -1;
- } else if (o1 instanceof ScheduledTaskContainer && o2 instanceof ITaskContainer) {
- return 1;
- }
-
- if (o1 instanceof UncategorizedTaskContainer && o2 instanceof ITaskContainer) {
- return -1;
- } else if (o1 instanceof ITaskContainer && o2 instanceof UncategorizedTaskContainer) {
- return 1;
- }
-
- if (!(o1 instanceof ITask) && o2 instanceof ITask) {
- return 1;
- }
-
- if (!(o1 instanceof ITask)) {//o1 instanceof AbstractTaskContainer || o1 instanceof AbstractRepositoryQuery) {
- if (!(o2 instanceof ITask)) {//o2 instanceof AbstractTaskContainer || o2 instanceof AbstractRepositoryQuery) {
- return ((IRepositoryElement) o1).getSummary().compareToIgnoreCase(
- ((IRepositoryElement) o2).getSummary());
- } else {
- return -1;
- }
- } else if (o1 instanceof ITaskContainer) {
- if (!(o2 instanceof ITask)) {//o2 instanceof AbstractTaskContainer || o2 instanceof AbstractRepositoryQuery) {
- return -1;
- } else if (o2 instanceof ITaskContainer) {
- IRepositoryElement element1 = (IRepositoryElement) o1;
- IRepositoryElement element2 = (IRepositoryElement) o2;
-
- AbstractTask task1 = null;
- AbstractTask task2 = null;
- if (element1 instanceof ITask) {
- task1 = (AbstractTask) element1;
- }
- if (element2 instanceof ITask) {
- task2 = (AbstractTask) element2;
- }
-
- if (task1 == null && task2 == null) {
- return comparePrioritiesAndKeys(element1, element2);
- } else if (task1 == null) {
- return 1;
- } else if (task2 == null) {
- return -1;
- }
-
- int complete = compareCompleted(task1, task2);
- if (complete != 0) {
- return complete;
- } else {
- int due = compareDueDates(task1, task2);
- if (due != 0) {
- return due;
- } else {
- int today = compareScheduledDate(task1, task2);
- if (today == 0) {
- return comparePrioritiesAndKeys(element1, element2);
- } else {
- return today;
- }
- }
- }
- }
- }
- return 0;
- }
-
- private int compareDueDates(ITask task1, ITask task2) {
- if (TasksUiPlugin.getTaskActivityManager().isOverdue(task1)
- && !TasksUiPlugin.getTaskActivityManager().isOverdue(task2)) {
- return -1;
- } else if (!TasksUiPlugin.getTaskActivityManager().isOverdue(task1)
- && TasksUiPlugin.getTaskActivityManager().isOverdue(task2)) {
- return 1;
- }
- return 0;
- }
-
- private int compareScheduledDate(AbstractTask task1, AbstractTask task2) {
- if (isToday(task1) && !isToday(task2)) {
- return -1;
- } else if (!isToday(task1) && isToday(task2)) {
- return 1;
- } else {
- return 0;
- }
- }
-
- private boolean isToday(AbstractTask task) {
- return TasksUiPlugin.getTaskActivityManager().isPastReminder(task)
- || TasksUiPlugin.getTaskActivityManager().isScheduledForToday(task);
- }
-
- private int compareCompleted(ITask task1, ITask task2) {
- if (task1.isCompleted() && !task2.isCompleted()) {
- return 1;
- } else if (!task1.isCompleted() && task2.isCompleted()) {
- return -1;
- } else {
- return 0;
- }
- }
-
- private int comparePrioritiesAndKeys(IRepositoryElement element1, IRepositoryElement element2) {
- int priority = comparePriorities(element1, element2);
- if (priority != 0) {
- return priority;
- }
-
- int description = compareKeys(element1, element2);
- if (description != 0) {
- return description;
- }
- return 0;
- }
-
- private int compareKeys(IRepositoryElement element1, IRepositoryElement element2) {
- return taskKeyComparator.compare(TaskComparator.getSortableFromElement(element1),
- TaskComparator.getSortableFromElement(element2));
- }
-
- private int comparePriorities(IRepositoryElement element1, IRepositoryElement element2) {
- if (element1 instanceof AbstractTaskContainer && element2 instanceof AbstractTaskContainer) {
- return ((AbstractTaskContainer) element1).getPriority().compareTo(
- ((AbstractTaskContainer) element2).getPriority());
- } else {
- // TODO: consider implementing
- return -1;
- }
- }
-
-}

Back to the top