diff --git a/platform/lang-api/src/com/intellij/execution/configurations/ConfigurationTypeUtil.java b/platform/lang-api/src/com/intellij/execution/configurations/ConfigurationTypeUtil.java index 21a4f19fd6d9..559f639f43a6 100644 --- a/platform/lang-api/src/com/intellij/execution/configurations/ConfigurationTypeUtil.java +++ b/platform/lang-api/src/com/intellij/execution/configurations/ConfigurationTypeUtil.java @@ -44,4 +44,14 @@ public class ConfigurationTypeUtil { public static boolean equals(@NotNull ConfigurationType type1, @NotNull ConfigurationType type2) { return type1.getId().equals(type2.getId()); } + + public static ConfigurationType findConfigurationType(String configurationId) { + ConfigurationType[] types = Extensions.getExtensions(ConfigurationType.CONFIGURATION_TYPE_EP); + for (ConfigurationType type : types) { + if (type.getId().equals(configurationId)) { + return type; + } + } + return null; + } } diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/TestHistoryConfiguration.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/TestHistoryConfiguration.java index 41b598971f15..b90e9d039ed1 100644 --- a/platform/smRunner/src/com/intellij/execution/testframework/sm/TestHistoryConfiguration.java +++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/TestHistoryConfiguration.java @@ -18,9 +18,7 @@ package com.intellij.execution.testframework.sm; import com.intellij.execution.configurations.ConfigurationType; import com.intellij.execution.configurations.ConfigurationTypeUtil; import com.intellij.execution.testframework.sm.runner.history.actions.AbstractImportTestsAction; -import com.intellij.execution.testframework.sm.runner.ui.SMTestRunnerResultsForm; import com.intellij.openapi.components.*; -import com.intellij.openapi.extensions.Extensions; import com.intellij.openapi.project.Project; import com.intellij.util.xmlb.annotations.Attribute; import com.intellij.util.xmlb.annotations.MapAnnotation; @@ -28,7 +26,6 @@ import com.intellij.util.xmlb.annotations.Property; import com.intellij.util.xmlb.annotations.Tag; import javax.swing.*; -import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; @@ -86,12 +83,8 @@ public class TestHistoryConfiguration implements PersistentStateComponent SETTINGS = Key.create("RUN_CONFIGURATION_SETTINGS"); private final RunConfiguration myRuntimeConfiguration; private final ContentHandler myResultHandler; @@ -125,19 +124,14 @@ public class TestResultsXmlFormatter { endElement(ELEM_COUNT); } - RunnerAndConfigurationSettingsImpl settings = - (RunnerAndConfigurationSettingsImpl)RunManagerImpl.getInstanceImpl(myRuntimeConfiguration.getProject()).getSettings(myRuntimeConfiguration); - if (settings == null && myRuntimeConfiguration instanceof UserDataHolder) { - settings = ((UserDataHolder)myRuntimeConfiguration).getUserData(SETTINGS); - } - if (settings != null) { - final Element config = new Element("config"); - try { - settings.writeExternal(config); - } - catch (WriteExternalException ignore) {} - processJDomElement(config); + final Element config = new Element("config"); + try { + myRuntimeConfiguration.writeExternal(config); + config.setAttribute("configId", myRuntimeConfiguration.getType().getId()); + config.setAttribute("name", myRuntimeConfiguration.getName()); } + catch (WriteExternalException ignore) {} + processJDomElement(config); CompositeFilter f = new CompositeFilter(myRuntimeConfiguration.getProject()); for (ConsoleFilterProvider eachProvider : Extensions.getExtensions(ConsoleFilterProvider.FILTER_PROVIDERS)) {