package gov.nasa.jpl.mbee.mdk.actions;
import com.nomagic.magicdraw.actions.MDAction;
import com.nomagic.magicdraw.core.Application;
import com.nomagic.magicdraw.core.GUILog;
import com.nomagic.magicdraw.openapi.uml.SessionManager;
import com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Class;
import gov.nasa.jpl.mbee.mdk.generator.DocumentGenerator;
import gov.nasa.jpl.mbee.mdk.util.Utils;
import gov.nasa.jpl.mbee.mdk.model.AssociationNumberingVisitor;
import gov.nasa.jpl.mbee.mdk.model.Document;
import java.awt.event.ActionEvent;
/**
* number dependencies based on the section they're pointing to
*
* @author dlam
*/
public class NumberAssociationAction extends MDAction {
private static final long serialVersionUID = 1L;
private Class doc;
public static final String DEFAULT_ID = "NumberAssociations";
public NumberAssociationAction(Class e) {
super(DEFAULT_ID, "Number View Associations", null, null);
doc = e;
}
@Override
public void actionPerformed(ActionEvent e) {
GUILog gl = Application.getInstance().getGUILog();
DocumentGenerator dg = new DocumentGenerator(doc, null, null);
Document dge = dg.parseDocument(false, true, true);
try {
SessionManager.getInstance().createSession("number dependencies");
AssociationNumberingVisitor hmv = new AssociationNumberingVisitor();
dge.accept(hmv);
SessionManager.getInstance().closeSession();
gl.log("[INFO] Done");
} catch (Exception ex) {
SessionManager.getInstance().cancelSession();
Utils.printException(ex);
}
}
}