Package org.intellij.lang.batch.runner

Source Code of org.intellij.lang.batch.runner.BatchRunner

package org.intellij.lang.batch.runner;

import com.intellij.execution.ExecutionException;
import com.intellij.execution.ExecutionResult;
import com.intellij.execution.configurations.RunProfile;
import com.intellij.execution.configurations.RunProfileState;
import com.intellij.execution.runners.DefaultProgramRunner;
import com.intellij.execution.runners.ExecutionEnvironment;
import com.intellij.execution.runners.RunContentBuilder;
import com.intellij.execution.ui.RunContentDescriptor;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.project.Project;
import org.jetbrains.annotations.NotNull;

/**
* @author wibotwi
*/
public class BatchRunner extends DefaultProgramRunner {
    @NotNull
    public String getRunnerId() {
        return "BatchRunner";
    }

    public boolean canRun(@NotNull String executorId, @NotNull RunProfile profile) {
        return profile instanceof BatchRunConfiguration;
    }

    @Override
    protected RunContentDescriptor doExecute(final Project project,
                                             final RunProfileState state,
                                             final RunContentDescriptor contentToReuse,
                                             final ExecutionEnvironment env) throws ExecutionException {
        FileDocumentManager.getInstance().saveAllDocuments();

        ExecutionResult executionResult = state.execute(env.getExecutor(), this);
        if (executionResult == null || executionResult.getExecutionConsole() == null) return null;

        final RunContentBuilder contentBuilder = new RunContentBuilder(this, executionResult, env);
        return contentBuilder.showRunContent(contentToReuse);
    }

}
TOP

Related Classes of org.intellij.lang.batch.runner.BatchRunner

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.