package gov.nasa.jpl.mbee.mdk.systems_reasoner.actions; import com.nomagic.magicdraw.core.Application; import com.nomagic.magicdraw.openapi.uml.SessionManager; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Association; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element; import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Generalization; import com.nomagic.uml2.ext.magicdraw.metadata.UMLFactory; import java.awt.event.ActionEvent; public class AddInheritanceToAssociationAction extends SRAction { /** * */ private static final long serialVersionUID = 1L; public static final String DEFAULT_ID = "Add inheritance to assocation."; private Association association; private Association superAssociation; public AddInheritanceToAssociationAction(String id) { super(id); } public AddInheritanceToAssociationAction(String id, Element element) { super(id, element); } public AddInheritanceToAssociationAction(Association association, Association superAssociation) { super(DEFAULT_ID); this.association = association; this.superAssociation = superAssociation; } public void actionPerformed(ActionEvent e) { SessionManager.getInstance().createSession(DEFAULT_ID); if (association != null) { if (superAssociation != null) { Generalization gen = UMLFactory.eINSTANCE.createGeneralization(); gen.setGeneral(superAssociation); gen.setSpecific(association); this.association.getGeneralization().add(gen); Application.getInstance().getGUILog().log("Inheritance added to association" + association.getName()); } else { Application.getInstance().getGUILog().log("Association on super element missing."); } } else { Application.getInstance().getGUILog().log("Association on inheriting element missing."); } SessionManager.getInstance().closeSession(); } }