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; } } }