diff options
Diffstat (limited to 'org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/search/SearchResultTreeContentProvider.java')
-rw-r--r-- | org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/search/SearchResultTreeContentProvider.java | 144 |
1 files changed, 0 insertions, 144 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/search/SearchResultTreeContentProvider.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/search/SearchResultTreeContentProvider.java deleted file mode 100644 index 0afc59d6f..000000000 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/search/SearchResultTreeContentProvider.java +++ /dev/null @@ -1,144 +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 - * Frank Becker - improvements - *******************************************************************************/ - -package org.eclipse.mylyn.internal.tasks.ui.search; - -import java.util.HashMap; -import java.util.LinkedHashSet; -import java.util.Map; -import java.util.Set; - -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.mylyn.internal.tasks.core.AbstractTask; -import org.eclipse.mylyn.internal.tasks.core.Person; -import org.eclipse.mylyn.internal.tasks.core.TaskGroup; -import org.eclipse.mylyn.tasks.core.ITask; -import org.eclipse.mylyn.tasks.core.ITaskContainer; - -/** - * This implementation of <code>SearchResultContentProvider</code> is used for the table view of a Bugzilla search - * result. - * - * @author Rob Elves (moved into task.ui) - * @author Mik Kersten - */ -public class SearchResultTreeContentProvider extends SearchResultContentProvider { - - private final Set<Object> elements = new LinkedHashSet<Object>(); - - private final Map<String, Person> owners = new HashMap<String, Person>(); - - private final Map<String, TaskGroup> completeState = new HashMap<String, TaskGroup>(); - - public enum GroupBy { - NONE, OWNER, COMPLETION; - } - - private GroupBy selectedGroup; - - public SearchResultTreeContentProvider() { - } - - @Override - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { - if (newInput instanceof RepositorySearchResult) { - searchResult = (RepositorySearchResult) newInput; - clear(); - elementsChanged(searchResult.getElements()); - } - } - - /** - * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object) - */ - public Object[] getElements(Object inputElement) { - if (inputElement == searchResult) { - if (selectedGroup == GroupBy.OWNER) { - return owners.values().toArray(); - } else if (selectedGroup == GroupBy.COMPLETION) { - return completeState.values().toArray(); - } else { - return elements.toArray(); - } - } else { - return EMPTY_ARR; - } - } - - public Object[] getChildren(Object parent) { - if (parent instanceof TaskGroup || parent instanceof Person) { - return ((ITaskContainer) parent).getChildren().toArray(); - } else { - return EMPTY_ARR; - } - } - - public Object getParent(Object element) { - return null; - } - - public boolean hasChildren(Object element) { - return getChildren(element).length > 0; - } - - @Override - public void elementsChanged(Object[] updatedElements) { - for (Object object : updatedElements) { - boolean added = elements.add(object); - if (added && object instanceof ITask) { - AbstractTask task = ((AbstractTask) object); - String owner = task.getOwner(); - if (owner == null) { - owner = Messages.SearchResultTreeContentProvider__unknown_; - } - Person person = owners.get(owner); - if (person == null) { - person = new Person(owner, task.getConnectorKind(), task.getRepositoryUrl()); - owners.put(owner, person); - } - person.internalAddChild(task); - - TaskGroup completeIncomplete = null; - if (task.isCompleted()) { - completeIncomplete = completeState.get(Messages.SearchResultTreeContentProvider_Complete); - if (completeIncomplete == null) { - completeIncomplete = new TaskGroup("group-complete", Messages.SearchResultTreeContentProvider_Complete, GroupBy.COMPLETION.name()); //$NON-NLS-1$ - completeState.put(Messages.SearchResultTreeContentProvider_Complete, completeIncomplete); - } - } else { - completeIncomplete = completeState.get(Messages.SearchResultTreeContentProvider_Incomplete); - if (completeIncomplete == null) { - completeIncomplete = new TaskGroup("group-incomplete", Messages.SearchResultTreeContentProvider_Incomplete, GroupBy.COMPLETION.name()); //$NON-NLS-1$ - completeState.put(Messages.SearchResultTreeContentProvider_Incomplete, completeIncomplete); - } - } - completeIncomplete.internalAddChild(task); - } - } - } - - @Override - public void clear() { - elements.clear(); - owners.clear(); - completeState.clear(); - } - - public GroupBy getSelectedGroup() { - return selectedGroup; - } - - public void setSelectedGroup(GroupBy selectedGroup) { - this.selectedGroup = selectedGroup; - } - -} |