blob: d846522ee0126a06028dfd1919df15a11781faac [file] [log] [blame]
//------------------------------------------------------------------------------
// Copyright (c) 2005, 2006 IBM Corporation 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:
// IBM Corporation - initial implementation
//------------------------------------------------------------------------------
package org.eclipse.epf.authoring.ui.filters;
import org.eclipse.epf.authoring.ui.dialogs.ItemsFilterDialog;
import org.eclipse.epf.library.edit.configuration.CategoriesItemProvider;
import org.eclipse.epf.library.edit.itemsfilter.FilterConstants;
import org.eclipse.epf.uma.CustomCategory;
import org.eclipse.epf.uma.Discipline;
import org.eclipse.epf.uma.DisciplineGrouping;
import org.eclipse.epf.uma.Domain;
import org.eclipse.epf.uma.MethodConfiguration;
import org.eclipse.epf.uma.Process;
import org.eclipse.epf.uma.RoleSet;
import org.eclipse.epf.uma.RoleSetGrouping;
import org.eclipse.epf.uma.Tool;
import org.eclipse.epf.uma.WorkProductType;
import org.eclipse.jface.viewers.Viewer;
/**
* Filter {@link Process}es within {@link MethodConfiguration} used in
* {@link ItemsFilterDialog}.
* @author Shashidhar Kannoori
* @since 1.0
*/
public class ProcessViewFilter extends DescriptorConfigurationFilter {
public ProcessViewFilter(MethodConfiguration methodConfig, Viewer viewer,
String filterStr) {
super(methodConfig, viewer, filterStr);
}
public boolean childAccept(Object obj) {
String filterType = helper.getFilterTypeStr();
if (obj instanceof CategoriesItemProvider) {
return true;
}
if (filterType.equalsIgnoreCase(FilterConstants.ROLESETS)) {
return (obj instanceof RoleSet || obj instanceof RoleSetGrouping);
} else if (filterType.equalsIgnoreCase(FilterConstants.DISCIPLINES)) {
return (obj instanceof Discipline || obj instanceof DisciplineGrouping);
} else if (filterType.equalsIgnoreCase(FilterConstants.DOMAINS)) {
return (obj instanceof Domain);
} else if (filterType
.equalsIgnoreCase(FilterConstants.WORKPRODUCTTYPES)) {
return (obj instanceof WorkProductType);
} else if (filterType.equalsIgnoreCase(FilterConstants.TOOLS)) {
return (obj instanceof Tool);
} else if (filterType
.equalsIgnoreCase(FilterConstants.CUSTOM_CATEGORIES)) {
return obj instanceof CustomCategory;
} else if (filterType.equalsIgnoreCase(FilterConstants.ALL_ELEMENTS)) {
return obj instanceof RoleSet || obj instanceof Discipline
|| obj instanceof Domain || obj instanceof WorkProductType
|| obj instanceof Tool || obj instanceof CustomCategory
|| obj instanceof DisciplineGrouping
|| obj instanceof RoleSetGrouping;
}
return false;
}
}