mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
get rid of DataContext in ExecutionEnvironment
This commit is contained in:
+2
-1
@@ -99,7 +99,8 @@ public class AbstractRerunFailedTestsAction extends AnAction {
|
||||
final Executor executor = isDebug ? DefaultDebugExecutor.getDebugExecutorInstance() : DefaultRunExecutor.getRunExecutorInstance();
|
||||
final ProgramRunner runner = RunnerRegistry.getInstance().getRunner(executor.getId(), profile);
|
||||
assert runner != null;
|
||||
runner.execute(executor, new ExecutionEnvironment(profile, myRunnerSettings, myConfigurationPerRunnerSettings, dataContext));
|
||||
runner.execute(executor, new ExecutionEnvironment(profile, profile.getProject(), myRunnerSettings, myConfigurationPerRunnerSettings,
|
||||
null));
|
||||
}
|
||||
catch (ExecutionException e1) {
|
||||
LOG.error(e1);
|
||||
|
||||
@@ -54,7 +54,7 @@ public class JavaExecutionUtil {
|
||||
final DefaultRunProfile profile = new DefaultRunProfile(project, cmdLine, contentName, icon, filters);
|
||||
final ProgramRunner runner = RunnerRegistry.getInstance().getRunner(DefaultRunExecutor.EXECUTOR_ID, profile);
|
||||
if (runner != null) {
|
||||
runner.execute(DefaultRunExecutor.getRunExecutorInstance(), new ExecutionEnvironment(profile, dataContext));
|
||||
runner.execute(DefaultRunExecutor.getRunExecutorInstance(), new ExecutionEnvironment(profile, project, null, null, null));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@ import com.intellij.execution.executors.DefaultRunExecutor;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.runners.ProgramRunner;
|
||||
import com.intellij.execution.util.ExecutionErrorDialog;
|
||||
import com.intellij.openapi.actionSystem.DataContext;
|
||||
import com.intellij.openapi.components.AbstractProjectComponent;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.InvalidDataException;
|
||||
@@ -61,12 +60,12 @@ public final class JavadocGenerationManager extends AbstractProjectComponent imp
|
||||
return myConfiguration;
|
||||
}
|
||||
|
||||
public void generateJavadoc(AnalysisScope scope, DataContext dataContext) {
|
||||
public void generateJavadoc(AnalysisScope scope) {
|
||||
myConfiguration.setGenerationScope(scope);
|
||||
try {
|
||||
final ProgramRunner runner = RunnerRegistry.getInstance().getRunner(DefaultRunExecutor.EXECUTOR_ID, myConfiguration);
|
||||
assert runner != null;
|
||||
runner.execute(DefaultRunExecutor.getRunExecutorInstance(), new ExecutionEnvironment(myConfiguration, dataContext));
|
||||
runner.execute(DefaultRunExecutor.getRunExecutorInstance(), new ExecutionEnvironment(myConfiguration, myProject, null, null, null));
|
||||
}
|
||||
catch (ExecutionException e) {
|
||||
ExecutionErrorDialog.show(e, CommonBundle.getErrorTitle(), myProject);
|
||||
|
||||
@@ -18,7 +18,6 @@ package com.intellij.javadoc.actions;
|
||||
import com.intellij.analysis.AnalysisScope;
|
||||
import com.intellij.analysis.BaseAnalysisAction;
|
||||
import com.intellij.analysis.BaseAnalysisActionDialog;
|
||||
import com.intellij.ide.DataManager;
|
||||
import com.intellij.javadoc.JavadocBundle;
|
||||
import com.intellij.javadoc.JavadocConfigurable;
|
||||
import com.intellij.javadoc.JavadocGenerationManager;
|
||||
@@ -37,7 +36,7 @@ public final class GenerateJavadocAction extends BaseAnalysisAction{
|
||||
@Override
|
||||
protected void analyze(@NotNull Project project, AnalysisScope scope) {
|
||||
myConfigurable.apply();
|
||||
JavadocGenerationManager.getInstance(project).generateJavadoc(scope, DataManager.getInstance().getDataContext());
|
||||
JavadocGenerationManager.getInstance(project).generateJavadoc(scope);
|
||||
dispose();
|
||||
}
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ import com.intellij.execution.ui.RunContentDescriptor;
|
||||
import com.intellij.openapi.actionSystem.DataContext;
|
||||
import com.intellij.openapi.actionSystem.PlatformDataKeys;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.annotations.TestOnly;
|
||||
@@ -35,31 +36,61 @@ import org.jetbrains.annotations.TestOnly;
|
||||
* @author spleaner
|
||||
*/
|
||||
public class ExecutionEnvironment {
|
||||
private DataContext myDataContext;
|
||||
private final Project myProject;
|
||||
private final RunContentDescriptor myContentToReuse;
|
||||
private RunProfile myRunProfile;
|
||||
private RunnerSettings myRunnerSettings;
|
||||
private ConfigurationPerRunnerSettings myConfigurationSettings;
|
||||
|
||||
@TestOnly
|
||||
public ExecutionEnvironment() {
|
||||
myProject = null;
|
||||
myContentToReuse = null;
|
||||
}
|
||||
|
||||
public ExecutionEnvironment(@NotNull final ProgramRunner runner,
|
||||
@NotNull final RunnerAndConfigurationSettings configuration,
|
||||
Project project) {
|
||||
this(configuration.getConfiguration(), project, configuration.getRunnerSettings(runner), configuration.getConfigurationSettings(runner),
|
||||
null);
|
||||
}
|
||||
|
||||
public ExecutionEnvironment(@NotNull RunProfile runProfile,
|
||||
Project project,
|
||||
RunnerSettings runnerSettings,
|
||||
ConfigurationPerRunnerSettings configurationSettings, @Nullable RunContentDescriptor contentToReuse) {
|
||||
myRunProfile = runProfile;
|
||||
myRunnerSettings = runnerSettings;
|
||||
myConfigurationSettings = configurationSettings;
|
||||
myProject = project;
|
||||
myContentToReuse = contentToReuse;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated use {@link #ExecutionEnvironment(ProgramRunner, com.intellij.execution.RunnerAndConfigurationSettings, com.intellij.openapi.project.Project)}
|
||||
*/
|
||||
@Deprecated
|
||||
public ExecutionEnvironment(@NotNull final ProgramRunner runner, @NotNull final RunnerAndConfigurationSettings configuration, final DataContext context) {
|
||||
this(configuration.getConfiguration(), configuration.getRunnerSettings(runner), configuration.getConfigurationSettings(runner), context);
|
||||
this(configuration.getConfiguration(), PlatformDataKeys.PROJECT.getData(context), configuration.getRunnerSettings(runner), configuration.getConfigurationSettings(runner), null);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated use {@link #ExecutionEnvironment(com.intellij.execution.configurations.RunProfile, com.intellij.openapi.project.Project, com.intellij.execution.configurations.RunnerSettings, com.intellij.execution.configurations.ConfigurationPerRunnerSettings, com.intellij.execution.ui.RunContentDescriptor)}
|
||||
*/
|
||||
@Deprecated
|
||||
public ExecutionEnvironment(@NotNull final RunProfile profile, final DataContext dataContext) {
|
||||
myRunProfile = profile;
|
||||
myDataContext = dataContext;
|
||||
this(profile, PlatformDataKeys.PROJECT.getData(dataContext), null, null, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated use {@link #ExecutionEnvironment(com.intellij.execution.configurations.RunProfile, com.intellij.openapi.project.Project, com.intellij.execution.configurations.RunnerSettings, com.intellij.execution.configurations.ConfigurationPerRunnerSettings, com.intellij.execution.ui.RunContentDescriptor)}
|
||||
*/
|
||||
@Deprecated
|
||||
public ExecutionEnvironment(@NotNull final RunProfile runProfile,
|
||||
final RunnerSettings runnerSettings,
|
||||
final ConfigurationPerRunnerSettings configurationSettings,
|
||||
final DataContext dataContext) {
|
||||
this(runProfile, dataContext);
|
||||
myRunnerSettings = runnerSettings;
|
||||
myConfigurationSettings = configurationSettings;
|
||||
this(runProfile, PlatformDataKeys.PROJECT.getData(dataContext), runnerSettings, configurationSettings, null);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -69,17 +100,24 @@ public class ExecutionEnvironment {
|
||||
|
||||
@Nullable
|
||||
public Project getProject() {
|
||||
return PlatformDataKeys.PROJECT.getData(myDataContext);
|
||||
return myProject;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated use {@link #getProject()} and {@link #getContentToReuse()}
|
||||
*/
|
||||
@Deprecated
|
||||
public DataContext getDataContext() {
|
||||
return myDataContext;
|
||||
return new DataContext() {
|
||||
public Object getData(@NonNls String dataId) {
|
||||
return PlatformDataKeys.PROJECT.is(dataId) ? myProject : null;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public RunContentDescriptor getContentToReuse() {
|
||||
return GenericProgramRunner.CONTENT_TO_REUSE_DATA_KEY.getData(myDataContext);
|
||||
return myContentToReuse;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
@@ -20,7 +20,6 @@ import com.intellij.execution.configurations.RunConfiguration;
|
||||
import com.intellij.execution.configurations.RuntimeConfigurationException;
|
||||
import com.intellij.execution.impl.RunDialog;
|
||||
import com.intellij.execution.impl.RunManagerImpl;
|
||||
import com.intellij.execution.impl.RunnerAndConfigurationSettingsImpl;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.runners.ExecutionUtil;
|
||||
import com.intellij.execution.runners.ProgramRunner;
|
||||
@@ -75,7 +74,7 @@ public class ProgramRunnerUtil {
|
||||
}
|
||||
|
||||
try {
|
||||
runner.execute(executor, new ExecutionEnvironment(runner, configuration, dataContext));
|
||||
runner.execute(executor, new ExecutionEnvironment(runner, configuration, project));
|
||||
}
|
||||
catch (ExecutionException e) {
|
||||
ExecutionUtil.handleExecutionError(project, configuration.getConfiguration(), e);
|
||||
|
||||
@@ -47,7 +47,7 @@ public class RunContextAction extends BaseRunConfigurationAction {
|
||||
final ProgramRunner runner = getRunner(configuration.getConfiguration());
|
||||
if (runner != null) {
|
||||
try {
|
||||
runner.execute(myExecutor, new ExecutionEnvironment(runner, configuration, context.getDataContext()));
|
||||
runner.execute(myExecutor, new ExecutionEnvironment(runner, configuration, context.getProject()));
|
||||
}
|
||||
catch (ExecutionException e) {
|
||||
Messages.showErrorDialog(context.getProject(), e.getMessage(), ExecutionBundle.message("error.common.title"));
|
||||
|
||||
@@ -60,12 +60,8 @@ public class RestartAction extends AnAction implements DumbAware {
|
||||
final Project project = PlatformDataKeys.PROJECT.getData(dataContext);
|
||||
try {
|
||||
final ExecutionEnvironment old = myEnvironment;
|
||||
myRunner.execute(myExecutor, new ExecutionEnvironment(old.getRunProfile(), old.getRunnerSettings(), old.getConfigurationSettings(), new DataContext() {
|
||||
public Object getData(final String dataId) {
|
||||
if (GenericProgramRunner.CONTENT_TO_REUSE_DATA_KEY.is(dataId)) return myDescriptor;
|
||||
return dataContext.getData(dataId);
|
||||
}
|
||||
}));
|
||||
myRunner.execute(myExecutor, new ExecutionEnvironment(old.getRunProfile(), project, old.getRunnerSettings(),
|
||||
old.getConfigurationSettings(), myDescriptor));
|
||||
}
|
||||
catch (RunCanceledByUserException ignore) {
|
||||
}
|
||||
|
||||
@@ -243,7 +243,7 @@ public class Tool implements SchemeElement {
|
||||
final ProgramRunner runner = RunnerRegistry.getInstance().getRunner(DefaultRunExecutor.EXECUTOR_ID, profile);
|
||||
assert runner != null;
|
||||
|
||||
runner.execute(new DefaultRunExecutor(), new ExecutionEnvironment(profile, dataContext));
|
||||
runner.execute(new DefaultRunExecutor(), new ExecutionEnvironment(profile, project, null, null, null));
|
||||
}
|
||||
else {
|
||||
GeneralCommandLine commandLine = createCommandLine(dataContext);
|
||||
|
||||
+2
-3
@@ -15,7 +15,6 @@ import com.intellij.execution.process.ProcessOutputTypes;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.runners.ProgramRunner;
|
||||
import com.intellij.execution.ui.RunContentDescriptor;
|
||||
import com.intellij.ide.DataManager;
|
||||
import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.application.ModalityState;
|
||||
@@ -186,8 +185,8 @@ public abstract class GroovyCompilerTestCase extends JavaCodeInsightFixtureTestC
|
||||
configuration.setModule(module);
|
||||
configuration.setMainClassName(className);
|
||||
final DefaultRunExecutor extension = Executor.EXECUTOR_EXTENSION_NAME.findExtension(DefaultRunExecutor.class);
|
||||
final ExecutionEnvironment environment = new ExecutionEnvironment(configuration, new RunnerSettings<JDOMExternalizable>(null, null),null, DataManager
|
||||
.getInstance().getDataContext());
|
||||
final ExecutionEnvironment environment = new ExecutionEnvironment(configuration, getProject(),
|
||||
new RunnerSettings<JDOMExternalizable>(null, null), null, null);
|
||||
final DefaultJavaProgramRunner runner = ProgramRunner.PROGRAM_RUNNER_EP.findExtension(DefaultJavaProgramRunner.class);
|
||||
final StringBuffer sb = new StringBuffer();
|
||||
final Semaphore semaphore = new Semaphore();
|
||||
|
||||
+2
-5
@@ -24,7 +24,6 @@ import com.intellij.execution.configurations.RunConfiguration;
|
||||
import com.intellij.execution.executors.DefaultRunExecutor;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.runners.ProgramRunner;
|
||||
import com.intellij.openapi.actionSystem.DataContext;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.IconLoader;
|
||||
import com.intellij.openapi.util.Key;
|
||||
@@ -148,18 +147,16 @@ public class MavenRunConfigurationType implements ConfigurationType {
|
||||
|
||||
public static void runConfiguration(Project project,
|
||||
MavenRunnerParameters params,
|
||||
DataContext dataContext,
|
||||
@Nullable ProgramRunner.Callback callback) {
|
||||
MavenGeneralSettings settings = MavenProjectsManager.getInstance(project).getGeneralSettings();
|
||||
MavenRunnerSettings runnerSettings = MavenRunner.getInstance(project).getState();
|
||||
runConfiguration(project, params, settings, runnerSettings, dataContext, callback);
|
||||
runConfiguration(project, params, settings, runnerSettings, callback);
|
||||
}
|
||||
|
||||
public static void runConfiguration(Project project,
|
||||
MavenRunnerParameters params,
|
||||
MavenGeneralSettings settings,
|
||||
MavenRunnerSettings runnerSettings,
|
||||
DataContext context,
|
||||
@Nullable ProgramRunner.Callback callback) {
|
||||
RunnerAndConfigurationSettings configSettings = createRunnerAndConfigurationSettings(settings,
|
||||
runnerSettings,
|
||||
@@ -167,7 +164,7 @@ public class MavenRunConfigurationType implements ConfigurationType {
|
||||
project);
|
||||
|
||||
ProgramRunner runner = RunnerRegistry.getInstance().findRunnerById(DefaultRunExecutor.EXECUTOR_ID);
|
||||
ExecutionEnvironment env = new ExecutionEnvironment(runner, configSettings, context);
|
||||
ExecutionEnvironment env = new ExecutionEnvironment(runner, configSettings, project);
|
||||
Executor executor = DefaultRunExecutor.getRunExecutorInstance();
|
||||
|
||||
try {
|
||||
|
||||
+1
-1
@@ -50,7 +50,7 @@ public class RunBuildAction extends MavenAction {
|
||||
project.getDirectory(),
|
||||
goals,
|
||||
MavenActionUtil.getProjectsManager(context).getExplicitProfiles());
|
||||
MavenRunConfigurationType.runConfiguration(MavenActionUtil.getProject(context), params, context, null);
|
||||
MavenRunConfigurationType.runConfiguration(MavenActionUtil.getProject(context), params, null);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
+1
-2
@@ -25,7 +25,6 @@ import com.intellij.openapi.util.Pair;
|
||||
import org.jetbrains.annotations.TestOnly;
|
||||
import org.jetbrains.idea.maven.execution.MavenRunConfigurationType;
|
||||
import org.jetbrains.idea.maven.execution.MavenRunnerParameters;
|
||||
import org.jetbrains.idea.maven.facade.MavenEmbedderWrapper;
|
||||
import org.jetbrains.idea.maven.model.MavenConstants;
|
||||
import org.jetbrains.idea.maven.model.MavenPlugin;
|
||||
import org.jetbrains.idea.maven.project.MavenProject;
|
||||
@@ -185,7 +184,7 @@ public class MavenKeymapExtension implements KeymapExtension {
|
||||
myMavenProject.getDirectory(),
|
||||
Arrays.asList(myGoal),
|
||||
MavenActionUtil.getProjectsManager(context).getExplicitProfiles());
|
||||
MavenRunConfigurationType.runConfiguration(MavenActionUtil.getProject(context), params, context, null);
|
||||
MavenRunConfigurationType.runConfiguration(MavenActionUtil.getProject(context), params, null);
|
||||
}
|
||||
|
||||
public MavenProject getMavenProject() {
|
||||
|
||||
+1
-5
@@ -19,11 +19,9 @@ import com.intellij.execution.process.ProcessAdapter;
|
||||
import com.intellij.execution.process.ProcessEvent;
|
||||
import com.intellij.execution.runners.ProgramRunner;
|
||||
import com.intellij.execution.ui.RunContentDescriptor;
|
||||
import com.intellij.openapi.actionSystem.PlatformDataKeys;
|
||||
import com.intellij.openapi.application.Result;
|
||||
import com.intellij.openapi.application.WriteAction;
|
||||
import com.intellij.openapi.vfs.VfsUtil;
|
||||
import com.intellij.testFramework.MapDataContext;
|
||||
import com.intellij.util.concurrency.Semaphore;
|
||||
import org.jetbrains.idea.maven.MavenImportingTestCase;
|
||||
|
||||
@@ -95,11 +93,9 @@ public class MavenExecutionTest extends MavenImportingTestCase {
|
||||
private void execute(MavenRunnerParameters params) {
|
||||
final Semaphore sema = new Semaphore();
|
||||
sema.down();
|
||||
MapDataContext context = new MapDataContext();
|
||||
context.put(PlatformDataKeys.PROJECT, myProject);
|
||||
MavenRunConfigurationType.runConfiguration(myProject, params, getMavenGeneralSettings(),
|
||||
new MavenRunnerSettings(),
|
||||
context, new ProgramRunner.Callback() {
|
||||
new ProgramRunner.Callback() {
|
||||
public void processStarted(final RunContentDescriptor descriptor) {
|
||||
descriptor.getProcessHandler().addProcessListener(new ProcessAdapter() {
|
||||
@Override
|
||||
|
||||
@@ -30,7 +30,6 @@ import com.intellij.lang.properties.psi.PropertiesFile;
|
||||
import com.intellij.openapi.actionSystem.AnAction;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import com.intellij.openapi.actionSystem.DataContext;
|
||||
import com.intellij.openapi.actionSystem.PlatformDataKeys;
|
||||
import com.intellij.openapi.application.PathManager;
|
||||
import com.intellij.openapi.compiler.CompileContext;
|
||||
import com.intellij.openapi.compiler.CompileStatusNotification;
|
||||
@@ -292,14 +291,8 @@ public final class PreviewFormAction extends AnAction{
|
||||
final RunProfile profile = new MyRunProfile(module, parameters, UIDesignerBundle.message("progress.preview.started", formFile.getPresentableUrl()));
|
||||
ProgramRunner defaultRunner = RunnerRegistry.getInstance().getRunner(DefaultRunExecutor.EXECUTOR_ID, profile);
|
||||
LOG.assertTrue(defaultRunner != null);
|
||||
defaultRunner.execute(DefaultRunExecutor.getRunExecutorInstance(), new ExecutionEnvironment(profile, new DataContext() { // IDEADEV-3596
|
||||
public Object getData(String dataId) {
|
||||
if (PlatformDataKeys.PROJECT.is(dataId)) {
|
||||
return module.getProject();
|
||||
}
|
||||
return dataContext.getData(dataId);
|
||||
}
|
||||
}));
|
||||
defaultRunner.execute(DefaultRunExecutor.getRunExecutorInstance(), new ExecutionEnvironment(profile, module.getProject(), null, null,
|
||||
null));
|
||||
}
|
||||
catch (ExecutionException e) {
|
||||
Messages.showErrorDialog(
|
||||
|
||||
+1
-1
@@ -174,7 +174,7 @@ public class CreateSnapShotAction extends AnAction {
|
||||
final ProgramRunner runner = RunnerRegistry.getInstance().getRunner(DefaultRunExecutor.EXECUTOR_ID, appConfig);
|
||||
LOG.assertTrue(runner != null, "Runner MUST not be null!");
|
||||
runner.execute(DefaultRunExecutor.getRunExecutorInstance(),
|
||||
new ExecutionEnvironment(runner, snapshotConfiguration, e.getDataContext()));
|
||||
new ExecutionEnvironment(runner, snapshotConfiguration, project));
|
||||
}
|
||||
catch (ExecutionException ex) {
|
||||
Messages.showMessageDialog(project, UIDesignerBundle.message("snapshot.run.error", ex.getMessage()),
|
||||
|
||||
Reference in New Issue
Block a user