/* * 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.diagram.ui.util; import org.eclipse.emf.ecore.EObject; import org.teiid.designer.core.metamodel.aspect.MetamodelAspect; import org.teiid.designer.core.metamodel.aspect.uml.UmlAssociation; import org.teiid.designer.core.metamodel.aspect.uml.UmlClassifier; import org.teiid.designer.core.metamodel.aspect.uml.UmlComment; import org.teiid.designer.core.metamodel.aspect.uml.UmlDiagramAspect; import org.teiid.designer.core.metamodel.aspect.uml.UmlGeneralization; import org.teiid.designer.core.metamodel.aspect.uml.UmlOperation; import org.teiid.designer.core.metamodel.aspect.uml.UmlPackage; import org.teiid.designer.core.metamodel.aspect.uml.UmlProperty; import org.teiid.designer.core.metamodel.aspect.uml.UmlRelationship; import org.teiid.designer.diagram.ui.DiagramUiPlugin; import org.teiid.designer.metamodels.diagram.DiagramEntity; import org.teiid.designer.metamodels.diagram.DiagramLink; /** * @since 8.0 */ public class RelationalUmlEObjectHelper { public static final int UNKNOWN = -1; public static final int UML_PACKAGE = 0; public static final int UML_CLASSIFIER = 1; public static final int UML_ASSOCIATION = 2; public static final int UML_OPERATION = 3; public static final int UML_ATTRIBUTE = 4; public static final int UML_COMMENT = 5; public static final int UML_RELATIONSHIP = 6; public static final int UML_GENERALIZATION = 7; public static final int UML_DIAGRAM = 10; public static final int UML_DIAGRAM_ENTITY = 11; public static final int UML_DIAGRAM_LINK = 12; public static int getEObjectType(final EObject eObj) { int type = UNKNOWN; AspectManager aspManager = DiagramUiPlugin.getDiagramAspectManager(); MetamodelAspect someAspect = aspManager.getUmlAspect(eObj); if( someAspect instanceof UmlClassifier ) type = UML_CLASSIFIER; else if( someAspect instanceof UmlPackage ) type = UML_PACKAGE; else if( someAspect instanceof UmlProperty ) type = UML_ATTRIBUTE; else if( someAspect instanceof UmlAssociation ) type = UML_ASSOCIATION; else if( someAspect instanceof UmlOperation ) type = UML_OPERATION; else if( someAspect instanceof UmlComment ) type = UML_COMMENT; else if( someAspect instanceof UmlRelationship ) type = UML_RELATIONSHIP; else if( someAspect instanceof UmlGeneralization ) type = UML_GENERALIZATION; else if( someAspect instanceof UmlDiagramAspect ) type = UML_DIAGRAM; if( type == UNKNOWN ) { if( eObj instanceof DiagramLink ) type = UML_DIAGRAM_LINK; else if( eObj instanceof DiagramEntity ) { type = UML_DIAGRAM_ENTITY; } } return type; } }