summaryrefslogtreecommitdiff
path: root/java/execution/impl/src/com/intellij/execution/application/ApplicationConfiguration.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/execution/impl/src/com/intellij/execution/application/ApplicationConfiguration.java')
-rw-r--r--java/execution/impl/src/com/intellij/execution/application/ApplicationConfiguration.java46
1 files changed, 7 insertions, 39 deletions
diff --git a/java/execution/impl/src/com/intellij/execution/application/ApplicationConfiguration.java b/java/execution/impl/src/com/intellij/execution/application/ApplicationConfiguration.java
index 578d5fbba6ea..b736d9f0b127 100644
--- a/java/execution/impl/src/com/intellij/execution/application/ApplicationConfiguration.java
+++ b/java/execution/impl/src/com/intellij/execution/application/ApplicationConfiguration.java
@@ -21,20 +21,16 @@ import com.intellij.execution.configuration.EnvironmentVariablesComponent;
import com.intellij.execution.configurations.*;
import com.intellij.execution.filters.TextConsoleBuilderFactory;
import com.intellij.execution.junit.RefactoringListeners;
-import com.intellij.execution.process.KillableColoredProcessHandler;
-import com.intellij.execution.process.OSProcessHandler;
import com.intellij.execution.runners.ExecutionEnvironment;
import com.intellij.execution.util.JavaParametersUtil;
import com.intellij.execution.util.ProgramParametersUtil;
import com.intellij.openapi.components.PathMacroManager;
-import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.options.SettingsEditor;
import com.intellij.openapi.options.SettingsEditorGroup;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.DefaultJDOMExternalizer;
import com.intellij.openapi.util.InvalidDataException;
-import com.intellij.openapi.util.SystemInfo;
import com.intellij.openapi.util.WriteExternalException;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiElement;
@@ -81,7 +77,7 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration<JavaRunCo
@Override
public RunProfileState getState(@NotNull final Executor executor, @NotNull final ExecutionEnvironment env) throws ExecutionException {
- final JavaCommandLineState state = new JavaApplicationCommandLineState(this, env);
+ final JavaCommandLineState state = new JavaApplicationCommandLineState<ApplicationConfiguration>(this, env);
JavaRunConfigurationModule module = getConfigurationModule();
state.setConsoleBuilder(TextConsoleBuilderFactory.getInstance().createBuilder(getProject(), module.getSearchScope()));
return state;
@@ -253,14 +249,9 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration<JavaRunCo
PathMacroManager.getInstance(getProject()).collapsePathsRecursively(element);
}
- public static class JavaApplicationCommandLineState extends JavaCommandLineState {
-
- private final ApplicationConfiguration myConfiguration;
-
- public JavaApplicationCommandLineState(@NotNull final ApplicationConfiguration configuration,
- final ExecutionEnvironment environment) {
- super(environment);
- myConfiguration = configuration;
+ public static class JavaApplicationCommandLineState<T extends ApplicationConfiguration> extends BaseJavaApplicationCommandLineState<T> {
+ public JavaApplicationCommandLineState(@NotNull final T configuration, final ExecutionEnvironment environment) {
+ super(environment, configuration);
}
@Override
@@ -269,37 +260,14 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration<JavaRunCo
final JavaRunConfigurationModule module = myConfiguration.getConfigurationModule();
final int classPathType = JavaParametersUtil.getClasspathType(module,
- myConfiguration.MAIN_CLASS_NAME,
+ myConfiguration.MAIN_CLASS_NAME,
false);
- final String jreHome = myConfiguration.ALTERNATIVE_JRE_PATH_ENABLED ? myConfiguration.ALTERNATIVE_JRE_PATH
- : null;
+ final String jreHome = myConfiguration.ALTERNATIVE_JRE_PATH_ENABLED ? myConfiguration.ALTERNATIVE_JRE_PATH : null;
JavaParametersUtil.configureModule(module, params, classPathType, jreHome);
- JavaParametersUtil.configureConfiguration(params, myConfiguration);
-
params.setMainClass(myConfiguration.MAIN_CLASS_NAME);
- for(RunConfigurationExtension ext: Extensions.getExtensions(RunConfigurationExtension.EP_NAME)) {
- ext.updateJavaParameters(myConfiguration, params, getRunnerSettings());
- }
+ setupJavaParameters(params);
return params;
}
-
- @NotNull
- @Override
- protected OSProcessHandler startProcess() throws ExecutionException {
- OSProcessHandler handler = SystemInfo.isWindows ? super.startProcess() : KillableColoredProcessHandler.create(createCommandLine());
- RunnerSettings runnerSettings = getRunnerSettings();
- JavaRunConfigurationExtensionManager.getInstance().attachExtensionsToProcess(myConfiguration, handler, runnerSettings);
- return handler;
- }
-
- @Override
- protected boolean ansiColoringEnabled() {
- return true;
- }
-
- protected ApplicationConfiguration getConfiguration() {
- return myConfiguration;
- }
}
}