/* * 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.notation.uml; import org.eclipse.gef.EditPart; import org.teiid.designer.diagram.ui.notation.NotationPartGenerator; import org.teiid.designer.diagram.ui.notation.uml.model.UmlAssociationNode; import org.teiid.designer.diagram.ui.notation.uml.model.UmlAttributeNode; import org.teiid.designer.diagram.ui.notation.uml.model.UmlClassifierContainerNode; import org.teiid.designer.diagram.ui.notation.uml.model.UmlClassifierNode; import org.teiid.designer.diagram.ui.notation.uml.model.UmlOperationNode; import org.teiid.designer.diagram.ui.notation.uml.model.UmlPackageNode; import org.teiid.designer.diagram.ui.notation.uml.part.UmlAssociationEditPart; import org.teiid.designer.diagram.ui.notation.uml.part.UmlAttributeEditPart; import org.teiid.designer.diagram.ui.notation.uml.part.UmlClassifierContainerEditPart; import org.teiid.designer.diagram.ui.notation.uml.part.UmlClassifierEditPart; import org.teiid.designer.diagram.ui.notation.uml.part.UmlOperationEditPart; import org.teiid.designer.diagram.ui.notation.uml.part.UmlPackageEditPart; import org.teiid.designer.diagram.ui.part.DiagramEditPart; /** * UmlPartGenerator * * @since 8.0 */ public class UmlPartGenerator implements NotationPartGenerator { String sNotationId; /** * @see org.eclipse.gef.EditPartFactory#createEditPart(EditPart, Object) **/ @Override public EditPart createEditPart(EditPart iContext, Object iModel, String diagramTypeId) { EditPart editPart = null; if (iModel instanceof UmlPackageNode) { editPart = new UmlPackageEditPart(diagramTypeId); } else if (iModel instanceof UmlClassifierNode) { editPart = new UmlClassifierEditPart(diagramTypeId); } else if (iModel instanceof UmlClassifierContainerNode) { editPart = new UmlClassifierContainerEditPart(); } else if (iModel instanceof UmlAttributeNode) { editPart = new UmlAttributeEditPart(); } else if (iModel instanceof UmlAssociationNode) { editPart = new UmlAssociationEditPart(); } else if (iModel instanceof UmlOperationNode) { editPart = new UmlOperationEditPart(); } if (editPart != null) { editPart.setModel(iModel); ((DiagramEditPart)editPart).setNotationId( getNotationId() ); } return editPart; } /** * */ public String getNotationId() { return sNotationId; } /** * */ public void setNotationId(String sNotationId) { this.sNotationId = sNotationId; } }