/*
* 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.mapping.ui.diagram;
import org.eclipse.emf.ecore.EObject;
import org.teiid.designer.diagram.ui.notation.uml.model.IClassifierContentAdapter;
import org.teiid.designer.mapping.ui.PluginConstants;
import org.teiid.designer.metamodels.diagram.Diagram;
import org.teiid.designer.metamodels.transformation.InputSet;
import org.teiid.designer.metamodels.transformation.MappingClass;
/**
* MappingClassContentAdapter
*
* @since 8.0
*/
public class MappingClassContentAdapter implements IClassifierContentAdapter {
/**
* Construct an instance of MappingClassContentAdapter.
*
*/
public MappingClassContentAdapter() {
super();
}
/* (non-Javadoc)
* @See org.teiid.designer.diagram.ui.notation.uml.model.IClassifierContentAdapter#showInnerClasses(org.eclipse.emf.ecore.EObject)
*/
@Override
public boolean showInnerClasses(EObject classifierEObject, Diagram diagram) {
boolean showInnerClasses = false;
// Get the current diagram, and get it's type.
if( diagram != null && diagram.getType() != null ) {
if( diagram.getType().equals(PluginConstants.MAPPING_TRANSFORMATION_DIAGRAM_TYPE_ID) ||
diagram.getType().equals(PluginConstants.MAPPING_DIAGRAM_TYPE_ID) ) {
if( isMappingClass(classifierEObject) ) {
showInnerClasses = false;
}else if(org.teiid.designer.core.metamodel.aspect.sql.SqlAspectHelper.isProcedure(classifierEObject) ) {
showInnerClasses = true;
}
}
}
return showInnerClasses;
}
private boolean isMappingClass(EObject eObject) {
if( eObject instanceof MappingClass && !(eObject instanceof InputSet) )
return true;
return false;
}
}