From 28d0517022a7b99b81118e008b0d49f8ef0c6556 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Fri, 2 Dec 2016 15:39:14 +0100 Subject: [PATCH] cleanup, add DefaultExecutionResult handy ctor --- .../RemoteExternalSystemCommunicationManager.java | 4 ++-- .../com/intellij/execution/DefaultExecutionResult.java | 4 ++++ .../execution/configurations/CommandLineState.java | 4 +++- .../jetbrains/idea/maven/server/MavenServerManager.java | 8 +++++--- .../intellij/uiDesigner/actions/PreviewFormAction.java | 9 ++++++--- .../com/jetbrains/python/run/PythonCommandLineState.java | 8 ++------ .../python/run/PythonScriptCommandLineState.java | 3 ++- .../python/testing/PythonTestCommandLineStateBase.java | 9 ++------- 8 files changed, 26 insertions(+), 23 deletions(-) diff --git a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/RemoteExternalSystemCommunicationManager.java b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/RemoteExternalSystemCommunicationManager.java index 71b719d20bd7..2ef1e1411ca9 100644 --- a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/RemoteExternalSystemCommunicationManager.java +++ b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/RemoteExternalSystemCommunicationManager.java @@ -31,7 +31,6 @@ import com.intellij.execution.process.ProcessTerminatedListener; import com.intellij.execution.rmi.RemoteProcessSupport; import com.intellij.execution.runners.ProgramRunner; import com.intellij.openapi.Disposable; -import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.application.PathManager; import com.intellij.openapi.components.impl.stores.StorageUtil; import com.intellij.openapi.diagnostic.Logger; @@ -189,9 +188,10 @@ public class RemoteExternalSystemCommunicationManager implements ExternalSystemC @NotNull public ExecutionResult execute(@NotNull Executor executor, @NotNull ProgramRunner runner) throws ExecutionException { ProcessHandler processHandler = startProcess(); - return new DefaultExecutionResult(null, processHandler, AnAction.EMPTY_ARRAY); + return new DefaultExecutionResult(processHandler); } + @Override @NotNull protected OSProcessHandler startProcess() throws ExecutionException { SimpleJavaParameters params = createJavaParameters(); diff --git a/platform/lang-api/src/com/intellij/execution/DefaultExecutionResult.java b/platform/lang-api/src/com/intellij/execution/DefaultExecutionResult.java index 58dea03ad5ea..8d4a0e9e1b06 100644 --- a/platform/lang-api/src/com/intellij/execution/DefaultExecutionResult.java +++ b/platform/lang-api/src/com/intellij/execution/DefaultExecutionResult.java @@ -38,6 +38,10 @@ public class DefaultExecutionResult implements ExecutionResult { this(console, processHandler, AnAction.EMPTY_ARRAY); } + public DefaultExecutionResult(@NotNull ProcessHandler processHandler) { + this(null, processHandler, AnAction.EMPTY_ARRAY); + } + public DefaultExecutionResult(ExecutionConsole console, @NotNull ProcessHandler processHandler, @NotNull AnAction... actions) { myConsole = console; myProcessHandler = processHandler; diff --git a/platform/lang-api/src/com/intellij/execution/configurations/CommandLineState.java b/platform/lang-api/src/com/intellij/execution/configurations/CommandLineState.java index 0290f8fa34e2..07f223976cd8 100644 --- a/platform/lang-api/src/com/intellij/execution/configurations/CommandLineState.java +++ b/platform/lang-api/src/com/intellij/execution/configurations/CommandLineState.java @@ -102,10 +102,12 @@ public abstract class CommandLineState implements RunProfileState { @NotNull protected abstract ProcessHandler startProcess() throws ExecutionException; + @NotNull protected AnAction[] createActions(final ConsoleView console, final ProcessHandler processHandler) { return createActions(console, processHandler, null); } + @NotNull protected AnAction[] createActions(final ConsoleView console, final ProcessHandler processHandler, Executor executor) { if (console == null || !console.canPause() || (executor != null && !DefaultRunExecutor.EXECUTOR_ID.equals(executor.getId()))) { return AnAction.EMPTY_ARRAY; @@ -143,7 +145,7 @@ public abstract class CommandLineState implements RunProfileState { } @Override - public void update(final AnActionEvent event) { + public void update(@NotNull final AnActionEvent event) { super.update(event); final Presentation presentation = event.getPresentation(); final boolean isRunning = myProcessHandler != null && !myProcessHandler.isProcessTerminated(); diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/server/MavenServerManager.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/server/MavenServerManager.java index ba104046deb9..b4bc10c8537c 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/server/MavenServerManager.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/server/MavenServerManager.java @@ -28,7 +28,6 @@ import com.intellij.notification.Notification; import com.intellij.notification.NotificationListener; import com.intellij.notification.NotificationType; import com.intellij.openapi.Disposable; -import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.application.PathManager; import com.intellij.openapi.components.PersistentStateComponent; import com.intellij.openapi.components.ServiceManager; @@ -37,7 +36,10 @@ import com.intellij.openapi.components.Storage; import com.intellij.openapi.options.ShowSettingsUtil; import com.intellij.openapi.project.Project; import com.intellij.openapi.project.ProjectManager; -import com.intellij.openapi.projectRoots.*; +import com.intellij.openapi.projectRoots.JavaSdk; +import com.intellij.openapi.projectRoots.JdkUtil; +import com.intellij.openapi.projectRoots.ProjectJdkTable; +import com.intellij.openapi.projectRoots.Sdk; import com.intellij.openapi.projectRoots.impl.JavaAwareProjectJdkTableImpl; import com.intellij.openapi.roots.ProjectRootManager; import com.intellij.openapi.util.SystemInfo; @@ -368,7 +370,7 @@ public class MavenServerManager extends RemoteObjectWrapper impleme @Override public ExecutionResult execute(@NotNull Executor executor, @NotNull ProgramRunner runner) throws ExecutionException { ProcessHandler processHandler = startProcess(); - return new DefaultExecutionResult(null, processHandler, AnAction.EMPTY_ARRAY); + return new DefaultExecutionResult(processHandler); } @Override diff --git a/plugins/ui-designer/src/com/intellij/uiDesigner/actions/PreviewFormAction.java b/plugins/ui-designer/src/com/intellij/uiDesigner/actions/PreviewFormAction.java index 8f22f3c135b8..a3e839de7cff 100644 --- a/plugins/ui-designer/src/com/intellij/uiDesigner/actions/PreviewFormAction.java +++ b/plugins/ui-designer/src/com/intellij/uiDesigner/actions/PreviewFormAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2016 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,14 +19,16 @@ import com.intellij.CommonBundle; import com.intellij.compiler.PsiClassWriter; import com.intellij.compiler.impl.FileSetCompileScope; import com.intellij.compiler.instrumentation.InstrumentationClassFinder; -import com.intellij.execution.*; +import com.intellij.execution.CantRunException; +import com.intellij.execution.ExecutionException; +import com.intellij.execution.ExecutionResult; +import com.intellij.execution.Executor; import com.intellij.execution.configurations.*; import com.intellij.execution.executors.DefaultRunExecutor; import com.intellij.execution.process.ProcessAdapter; import com.intellij.execution.process.ProcessEvent; import com.intellij.execution.runners.ExecutionEnvironment; import com.intellij.execution.runners.ExecutionEnvironmentBuilder; -import com.intellij.execution.runners.ExecutionUtil; import com.intellij.execution.runners.ProgramRunner; import com.intellij.lang.properties.PropertiesFileType; import com.intellij.lang.properties.PropertiesReferenceManager; @@ -350,6 +352,7 @@ public final class PreviewFormAction extends AnAction{ return myParams; } + @NotNull public ExecutionResult execute(@NotNull final Executor executor, @NotNull final ProgramRunner runner) throws ExecutionException { try { ExecutionResult executionResult = super.execute(executor, runner); diff --git a/python/src/com/jetbrains/python/run/PythonCommandLineState.java b/python/src/com/jetbrains/python/run/PythonCommandLineState.java index 966f32b00525..15f25a3d4fc8 100644 --- a/python/src/com/jetbrains/python/run/PythonCommandLineState.java +++ b/python/src/com/jetbrains/python/run/PythonCommandLineState.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2015 JetBrains s.r.o. + * Copyright 2000-2016 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -34,7 +34,6 @@ import com.intellij.execution.runners.ProgramRunner; import com.intellij.execution.ui.ConsoleView; import com.intellij.facet.Facet; import com.intellij.facet.FacetManager; -import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleManager; @@ -132,10 +131,7 @@ public abstract class PythonCommandLineState extends CommandLineState { public ExecutionResult execute(Executor executor, CommandLinePatcher... patchers) throws ExecutionException { final ProcessHandler processHandler = startProcess(patchers); final ConsoleView console = createAndAttachConsole(myConfig.getProject(), processHandler, executor); - - List actions = Lists.newArrayList(createActions(console, processHandler)); - - return new DefaultExecutionResult(console, processHandler, actions.toArray(new AnAction[actions.size()])); + return new DefaultExecutionResult(console, processHandler, createActions(console, processHandler)); } @NotNull diff --git a/python/src/com/jetbrains/python/run/PythonScriptCommandLineState.java b/python/src/com/jetbrains/python/run/PythonScriptCommandLineState.java index acec19271b20..208f30bb0097 100644 --- a/python/src/com/jetbrains/python/run/PythonScriptCommandLineState.java +++ b/python/src/com/jetbrains/python/run/PythonScriptCommandLineState.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2014 JetBrains s.r.o. + * Copyright 2000-2016 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -138,6 +138,7 @@ public class PythonScriptCommandLineState extends PythonCommandLineState { registerActionShortcuts(Lists.newArrayList(a), getConsoleView().getConsoleEditor().getComponent()); } + @Override protected String getRunnerFileFromHelpers() { return PYDEV_RUN_IN_CONSOLE_PY; } diff --git a/python/src/com/jetbrains/python/testing/PythonTestCommandLineStateBase.java b/python/src/com/jetbrains/python/testing/PythonTestCommandLineStateBase.java index d7a9db40811d..c01b29634b9b 100644 --- a/python/src/com/jetbrains/python/testing/PythonTestCommandLineStateBase.java +++ b/python/src/com/jetbrains/python/testing/PythonTestCommandLineStateBase.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2015 JetBrains s.r.o. + * Copyright 2000-2016 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,7 +15,6 @@ */ package com.jetbrains.python.testing; -import com.google.common.collect.Lists; import com.intellij.execution.DefaultExecutionResult; import com.intellij.execution.ExecutionException; import com.intellij.execution.ExecutionResult; @@ -29,7 +28,6 @@ import com.intellij.execution.testframework.sm.SMTestRunnerConnectionUtil; import com.intellij.execution.testframework.sm.runner.ui.SMTRunnerConsoleView; import com.intellij.execution.testframework.ui.BaseTestsOutputConsoleView; import com.intellij.execution.ui.ConsoleView; -import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.text.StringUtil; import com.jetbrains.python.HelperPackage; @@ -115,11 +113,8 @@ public abstract class PythonTestCommandLineStateBase extends PythonCommandLineSt final ProcessHandler processHandler = startProcess(patchers); final ConsoleView console = createAndAttachConsole(myConfiguration.getProject(), processHandler, executor); - List actions = Lists - .newArrayList(createActions(console, processHandler)); - DefaultExecutionResult executionResult = - new DefaultExecutionResult(console, processHandler, actions.toArray(new AnAction[actions.size()])); + new DefaultExecutionResult(console, processHandler, createActions(console, processHandler)); PyRerunFailedTestsAction rerunFailedTestsAction = new PyRerunFailedTestsAction(console); if (console instanceof SMTRunnerConsoleView) {