| //------------------------------------------------------------------------------ |
| // 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; |
| } |
| |
| } |