package gov.nasa.jpl.mbee.mdk.docgen.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.Element;
import gov.nasa.jpl.mbee.mdk.generator.ViewDependencyNumberer;
import java.awt.event.ActionEvent;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ArrayList;
/**
* number dependencies based on the section they're pointing to
*
* @author dlam
*/
public class NumberDependencyAction extends MDAction {
private static final long serialVersionUID = 1L;
private Element doc;
public static final String DEFAULT_ID = "NumberDependencies";
public NumberDependencyAction(Element e) {
super(DEFAULT_ID, "Number View Dependencies", null, null);
doc = e;
}
@Override
public void actionPerformed(ActionEvent e) {
GUILog gl = Application.getInstance().getGUILog();
try {
SessionManager.getInstance().createSession("number dependencies");
ViewDependencyNumberer.clearAll(doc);
ViewDependencyNumberer.start(doc, new ArrayList<Integer>());
SessionManager.getInstance().closeSession();
} catch (Exception ex) {
SessionManager.getInstance().cancelSession();
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
ex.printStackTrace(pw);
gl.log(sw.toString()); // stack trace as a string
ex.printStackTrace();
}
}
}