/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.compare.ui.tree; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.mapping.Mapping; import org.eclipse.jface.viewers.Viewer; import org.eclipse.jface.viewers.ViewerFilter; import org.teiid.designer.compare.DifferenceReport; import org.teiid.designer.ui.viewsupport.ModelObjectUtilities; /** * @since 8.0 */ public class PrimaryMetamodelObjectViewerFilter extends ViewerFilter { /** * * @since 4.2 */ public PrimaryMetamodelObjectViewerFilter() { super(); } /** * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object) * @since 4.2 */ @Override public boolean select(Viewer viewer, Object parentElement, Object element) { if ( element instanceof DifferenceReport ) { return true; } if ( element instanceof Mapping && passesFilter( (Mapping)element ) ) { return true; } return false; } public boolean passesFilter( Mapping mapping ) { EObject eo = MappingTreeContentProvider.getEObjectForMapping( mapping ); if ( eo != null && ModelObjectUtilities.isPrimaryMetamodelObject( eo ) ) { return true; } return false; } }