package jetbrains.mps.execution.impl.configurations.runners;
/*Generated by MPS */
import com.intellij.execution.runners.DefaultProgramRunner;
import org.apache.log4j.Logger;
import org.apache.log4j.LogManager;
import org.jetbrains.annotations.NotNull;
import com.intellij.execution.configurations.RunProfile;
import com.intellij.execution.executors.DefaultRunExecutor;
import jetbrains.mps.execution.api.configurations.BaseMpsRunConfiguration;
import org.apache.log4j.Level;
public class MPSProgramRunner extends DefaultProgramRunner {
private static final Logger LOG = LogManager.getLogger(MPSProgramRunner.class);
public MPSProgramRunner() {
}
@NotNull
@Override
public String getRunnerId() {
return "Default Runner";
}
@Override
public boolean canRun(@NotNull String executorId, @NotNull RunProfile profile) {
try {
return executorId.equals(DefaultRunExecutor.EXECUTOR_ID) && (!((profile instanceof BaseMpsRunConfiguration)) || ((BaseMpsRunConfiguration) profile).canExecute(executorId));
} catch (Throwable throwable) {
if (LOG.isEnabledFor(Level.ERROR)) {
LOG.error("Run configuration " + profile + " is broken.", throwable);
}
return false;
}
}
}