Skip to main content
summaryrefslogblamecommitdiffstats
blob: cdbecdb5fc41585722d42122a973313442e19ccf (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                                                                                
                                                            



                                                                        



                                                            
                                                                                 
 
                                            
 
                                                                   
                                                              
                                                        

   
                      

                    
                                                                
 
                                                                        
 
                                                                   

                                     
                                                                               
         
 

                                                          
         
 
                 
                                                              


                                                                                              
                                                                                          

                                            
                                                                                        



                                            
                            


         
/*******************************************************************************
 * Copyright (c) 2004, 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
 *     Ken Sueda - improvements
 *******************************************************************************/

package org.eclipse.mylyn.internal.tasks.ui;

import org.eclipse.mylyn.internal.tasks.core.AbstractTaskContainer;
import org.eclipse.mylyn.internal.tasks.ui.views.TaskListView;
import org.eclipse.mylyn.tasks.core.ITask.PriorityLevel;

/**
 * @author Mik Kersten
 * @author Ken Sueda
 */
public class TaskPriorityFilter extends AbstractTaskListFilter {

	private static final String PRIORITY_PREFIX = "P"; //$NON-NLS-1$

	private String priorityLevel = PriorityLevel.P5.toString();

	public TaskPriorityFilter() {
		displayPrioritiesAbove(TaskListView.getCurrentPriorityLevel());
	}

	public void displayPrioritiesAbove(String level) {
		priorityLevel = level;
	}

	@Override
	public boolean select(Object parent, Object element) {
		if (element instanceof AbstractTaskContainer) {
			AbstractTaskContainer taskContainer = (AbstractTaskContainer) element;
			String priority = taskContainer.getPriority();
			if (priority == null || !(priority.startsWith(PRIORITY_PREFIX))) {
				return true;
			}
			if (priorityLevel.compareTo(taskContainer.getPriority()) >= 0) {
				return true;
			}
			return false;
		}
		return true;
	}

}

Back to the top