package gov.nasa.jpl.mbee.mdk.model.actions;
import com.nomagic.magicdraw.actions.MDAction;
import com.nomagic.magicdraw.core.Application;
import com.nomagic.magicdraw.core.GUILog;
import gov.nasa.jpl.mbee.mdk.docgen.DocGenViewDBSwitch;
import gov.nasa.jpl.mbee.mdk.docgen.table.EditableTable;
import gov.nasa.jpl.mbee.mdk.docgen.view.MDEditableTable;
import gov.nasa.jpl.mbee.mdk.model.UserScript;
import java.awt.event.ActionEvent;
import java.util.List;
import java.util.Map;
public class RunUserEditableTableAction extends MDAction {
private static final long serialVersionUID = 1L;
private UserScript scripti;
public RunUserEditableTableAction(UserScript us) {
super(null, "Run Editable Script", null, null);
scripti = us;
String name = scripti.getStereotypeName();
if (name != null) {
this.setName("Edit " + name + " Table");
}
}
@Override
public void actionPerformed(ActionEvent event) {
GUILog log = Application.getInstance().getGUILog();
Map<?, ?> o = scripti.getScriptOutput(null);
if (o != null && o.containsKey("EditableTable")) {
Object l = o.get("EditableTable");
if (l instanceof EditableTable) {
((EditableTable) l).showTable();
}
}
else if (o != null && o.containsKey("editableTable")) {
if (o.get("editableTable") instanceof List) {
for (Object object : (List<?>) o.get("editableTable")) {
if (object instanceof MDEditableTable) {
DocGenViewDBSwitch.convertEditableTable((MDEditableTable) object).showTable();
}
}
}
}
else {
log.log("script has no editable table output!");
}
}
}