package gov.nasa.jpl.mbee.mdk.mms.actions;
import com.nomagic.magicdraw.core.Application;
import com.nomagic.task.ProgressStatus;
import com.nomagic.task.RunnableWithProgress;
import com.nomagic.ui.ProgressStatusRunner;
import gov.nasa.jpl.mbee.mdk.mms.validation.BranchValidator;
import gov.nasa.jpl.mbee.mdk.options.MDKOptionsGroup;
import gov.nasa.jpl.mbee.mdk.util.TicketUtils;
import java.awt.event.ActionEvent;
public class ValidateBranchesAction extends MMSAction {
private static final long serialVersionUID = 1L;
public static final String DEFAULT_ID = "ValidateBranches";
public ValidateBranchesAction() {
super(DEFAULT_ID, "Branches", null, null);
}
public class ValidationRunner implements RunnableWithProgress {
@Override
public void run(ProgressStatus arg0) {
BranchValidator branchValidator = new BranchValidator(Application.getInstance().getProject());
branchValidator.validate(arg0, true);
if (branchValidator.hasErrors()) {
Application.getInstance().getGUILog().log("[ERROR] Unable to complete validate branches action.");
return;
}
branchValidator.showWindow();
}
}
@Override
public void actionPerformed(ActionEvent e) {
ProgressStatusRunner.runWithProgressStatus(new ValidationRunner(), "Validating Branches", true, 0);
}
@Override
public void updateState() {
setEnabled(TicketUtils.isTicketSet(Application.getInstance().getProject()) && !super.isDisabled() && MDKOptionsGroup.getMDKOptions().isMDKAdvancedOptions());
}
}