summaryrefslogtreecommitdiff
path: root/java/debugger/impl/src/com/intellij/debugger/DefaultDebugUIEnvironment.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/debugger/impl/src/com/intellij/debugger/DefaultDebugUIEnvironment.java')
-rw-r--r--java/debugger/impl/src/com/intellij/debugger/DefaultDebugUIEnvironment.java71
1 files changed, 18 insertions, 53 deletions
diff --git a/java/debugger/impl/src/com/intellij/debugger/DefaultDebugUIEnvironment.java b/java/debugger/impl/src/com/intellij/debugger/DefaultDebugUIEnvironment.java
index bc7915f62a47..f29f3bfe572d 100644
--- a/java/debugger/impl/src/com/intellij/debugger/DefaultDebugUIEnvironment.java
+++ b/java/debugger/impl/src/com/intellij/debugger/DefaultDebugUIEnvironment.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2012 JetBrains s.r.o.
+ * Copyright 2000-2014 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.
@@ -24,63 +24,27 @@ import com.intellij.execution.configurations.RunProfile;
import com.intellij.execution.configurations.RunProfileState;
import com.intellij.execution.process.ProcessHandler;
import com.intellij.execution.runners.ExecutionEnvironment;
-import com.intellij.execution.runners.ProgramRunner;
import com.intellij.execution.runners.RestartAction;
import com.intellij.execution.ui.RunContentDescriptor;
import com.intellij.execution.ui.actions.CloseAction;
import com.intellij.ide.actions.ContextHelpAction;
-import com.intellij.openapi.Disposable;
import com.intellij.openapi.actionSystem.Constraints;
import com.intellij.openapi.actionSystem.DefaultActionGroup;
-import com.intellij.openapi.project.Project;
-import com.intellij.openapi.util.Disposer;
+import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
-/**
- * Created by IntelliJ IDEA.
- * User: michael.golubev
- */
public class DefaultDebugUIEnvironment implements DebugUIEnvironment {
-
- private final Project myProject;
- private final Executor myExecutor;
- private final ProgramRunner myRunner;
private final ExecutionEnvironment myExecutionEnvironment;
- @Nullable private RunContentDescriptor myReuseContent;
- private final RunProfile myRunProfile;
private final DebugEnvironment myModelEnvironment;
- public DefaultDebugUIEnvironment(Project project,
- Executor executor,
- ProgramRunner runner,
- ExecutionEnvironment environment,
+ public DefaultDebugUIEnvironment(@NotNull ExecutionEnvironment environment,
RunProfileState state,
- @Nullable RunContentDescriptor reuseContent,
RemoteConnection remoteConnection,
boolean pollConnection) {
- myProject = project;
- myExecutor = executor;
- myRunner = runner;
myExecutionEnvironment = environment;
- myRunProfile = environment.getRunProfile();
- myModelEnvironment = new DefaultDebugEnvironment(project,
- executor,
- runner,
- myRunProfile,
- state,
- remoteConnection,
- pollConnection);
- myReuseContent = reuseContent;
- if (myReuseContent != null) {
- Disposer.register(myReuseContent, new Disposable() {
- @Override
- public void dispose() {
- myReuseContent = null;
- }
- });
- }
+ myModelEnvironment = new DefaultDebugEnvironment(environment, state, remoteConnection, pollConnection);
}
@Override
@@ -91,42 +55,43 @@ public class DefaultDebugUIEnvironment implements DebugUIEnvironment {
@Nullable
@Override
public RunContentDescriptor getReuseContent() {
- return myReuseContent;
+ return myExecutionEnvironment.getContentToReuse();
}
@Override
public Icon getIcon() {
- return myRunProfile.getIcon();
+ return getRunProfile().getIcon();
}
@Override
public void initLogs(RunContentDescriptor content, LogFilesManager logFilesManager) {
ProcessHandler processHandler = content.getProcessHandler();
- if (myRunProfile instanceof RunConfigurationBase) {
- RunConfigurationBase runConfiguration = (RunConfigurationBase)myRunProfile;
+ if (getRunProfile() instanceof RunConfigurationBase) {
+ RunConfigurationBase runConfiguration = (RunConfigurationBase)getRunProfile();
logFilesManager.registerFileMatcher(runConfiguration);
- logFilesManager.initLogConsoles(runConfiguration, processHandler);
- OutputFileUtil.attachDumpListener(runConfiguration, processHandler, content.getExecutionConsole());
+ if (processHandler != null) {
+ logFilesManager.initLogConsoles(runConfiguration, processHandler);
+ OutputFileUtil.attachDumpListener(runConfiguration, processHandler, content.getExecutionConsole());
+ }
}
}
@Override
public void initActions(RunContentDescriptor content, DefaultActionGroup actionGroup) {
- RestartAction restartAction = new RestartAction(myExecutor,
- myRunner,
- content,
- myExecutionEnvironment);
+ Executor executor = myExecutionEnvironment.getExecutor();
+ RestartAction restartAction = new RestartAction(content, myExecutionEnvironment);
actionGroup.add(restartAction, Constraints.FIRST);
restartAction.registerShortcut(content.getComponent());
- actionGroup.add(new CloseAction(myExecutor, content, myProject));
- actionGroup.add(new ContextHelpAction(myExecutor.getHelpId()));
+ actionGroup.add(new CloseAction(executor, content, myExecutionEnvironment.getProject()));
+ actionGroup.add(new ContextHelpAction(executor.getHelpId()));
}
@Override
+ @NotNull
public RunProfile getRunProfile() {
- return myRunProfile;
+ return myExecutionEnvironment.getRunProfile();
}
}