summaryrefslogtreecommitdiff
path: root/platform/testRunner/src/com/intellij/execution/testframework/autotest/AutoTestManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/testRunner/src/com/intellij/execution/testframework/autotest/AutoTestManager.java')
-rw-r--r--platform/testRunner/src/com/intellij/execution/testframework/autotest/AutoTestManager.java34
1 files changed, 19 insertions, 15 deletions
diff --git a/platform/testRunner/src/com/intellij/execution/testframework/autotest/AutoTestManager.java b/platform/testRunner/src/com/intellij/execution/testframework/autotest/AutoTestManager.java
index fb433b23ec56..3f15ee3f6de3 100644
--- a/platform/testRunner/src/com/intellij/execution/testframework/autotest/AutoTestManager.java
+++ b/platform/testRunner/src/com/intellij/execution/testframework/autotest/AutoTestManager.java
@@ -2,9 +2,12 @@ package com.intellij.execution.testframework.autotest;
import com.intellij.execution.DelayedDocumentWatcher;
import com.intellij.execution.process.ProcessHandler;
+import com.intellij.execution.runners.ExecutionUtil;
import com.intellij.execution.ui.RunContentDescriptor;
-import com.intellij.execution.ui.RunContentManagerImpl;
+import com.intellij.ide.DataManager;
import com.intellij.ide.util.PropertiesComponent;
+import com.intellij.openapi.actionSystem.DataContext;
+import com.intellij.openapi.actionSystem.LangDataKeys;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.fileEditor.FileEditorManager;
import com.intellij.openapi.project.Project;
@@ -15,6 +18,7 @@ import com.intellij.ui.content.Content;
import com.intellij.util.Consumer;
import com.intellij.util.containers.WeakHashMap;
+import javax.swing.*;
import java.util.Collections;
import java.util.Set;
@@ -79,21 +83,21 @@ public class AutoTestManager {
}
private static void runAutoTest(Content content) {
- RunContentDescriptor descriptor = RunContentManagerImpl.getRunContentDescriptorByContent(content);
- if (descriptor == null) {
- return;
- }
- Runnable restarter = descriptor.getRestarter();
- if (restarter == null) {
- return;
- }
- final ProcessHandler processHandler = descriptor.getProcessHandler();
- if (processHandler != null && !processHandler.isProcessTerminated()) {
- return;
+ JComponent component = content.getComponent();
+ if (component != null) {
+ DataContext dataContext = DataManager.getInstance().getDataContext(component);
+ RunContentDescriptor descriptor = LangDataKeys.RUN_CONTENT_DESCRIPTOR.getData(dataContext);
+ if (descriptor != null) {
+ ProcessHandler processHandler = descriptor.getProcessHandler();
+ if (processHandler != null && !processHandler.isProcessTerminated()) {
+ return;
+ }
+
+ descriptor.setActivateToolWindowWhenAdded(false);
+ descriptor.setReuseToolWindowActivation(true);
+ ExecutionUtil.restart(content);
+ }
}
- descriptor.setActivateToolWindowWhenAdded(false);
- descriptor.setReuseToolWindowActivation(true);
- restarter.run();
}
int getDelay() {