From eb141b5ca2eb82e98372b9cb401b09c83ea73774 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Fri, 26 Jul 2013 13:29:35 +0200 Subject: [PATCH] keep track of whether the name of a run configuration was changed by the user on the platform level; introduce LocatableConfigurationBase class for this purpose; deprecate getGeneratedName() and replace its usages with suggestedName(); delete implementations of isGeneratedName() which are now redundant --- .../execution/applet/AppletConfiguration.java | 14 +--- .../applet/AppletConfigurationProducer.java | 2 +- .../application/ApplicationConfiguration.java | 25 +----- .../ApplicationConfigurationProducer.java | 2 +- .../actions/ContextConfigurationTest.java | 34 ++++----- .../LocatableConfiguration.java | 21 ++++- .../LocatableConfigurationBase.java | 76 +++++++++++++++++++ .../configurations/RuntimeConfiguration.java | 21 +---- .../junit/RuntimeConfigurationProducer.java | 6 -- .../execution/impl/RunConfigurable.java | 2 +- .../impl/SingleConfigurationConfigurable.java | 21 ++++- .../execution/junit/JUnitConfiguration.java | 13 ---- .../intellij/execution/junit/TestClass.java | 6 +- .../intellij/execution/junit/TestPackage.java | 4 - .../configuration/TestNGConfiguration.java | 13 ---- .../testng/model/TestData.java | 31 -------- 16 files changed, 142 insertions(+), 149 deletions(-) create mode 100644 platform/lang-api/src/com/intellij/execution/configurations/LocatableConfigurationBase.java diff --git a/java/execution/impl/src/com/intellij/execution/applet/AppletConfiguration.java b/java/execution/impl/src/com/intellij/execution/applet/AppletConfiguration.java index a1a89dcb4710..2dc64aad366f 100644 --- a/java/execution/impl/src/com/intellij/execution/applet/AppletConfiguration.java +++ b/java/execution/impl/src/com/intellij/execution/applet/AppletConfiguration.java @@ -205,11 +205,6 @@ public class AppletConfiguration extends ModuleBasedConfiguration DATA_KEY = DataKey.create("runtimeConfiguration"); protected RuntimeConfiguration(final String name, final Project project, final ConfigurationFactory factory) { @@ -36,26 +35,14 @@ public abstract class RuntimeConfiguration extends RunConfigurationBase implemen return Module.EMPTY_ARRAY; } - @Override - public void checkConfiguration() throws RuntimeConfigurationException { - } - - @Override public RuntimeConfiguration clone() { return (RuntimeConfiguration)super.clone(); } - @Override - public boolean isGeneratedName() { - return false; - } - - @Override - @NonNls public String suggestedName() { - return null; - } - + /** + * @deprecated use {@link #suggestedName()} instead + */ @Nullable public String getGeneratedName() { return suggestedName(); diff --git a/platform/lang-api/src/com/intellij/execution/junit/RuntimeConfigurationProducer.java b/platform/lang-api/src/com/intellij/execution/junit/RuntimeConfigurationProducer.java index 91c6edff445a..a9ea99c0e3dd 100644 --- a/platform/lang-api/src/com/intellij/execution/junit/RuntimeConfigurationProducer.java +++ b/platform/lang-api/src/com/intellij/execution/junit/RuntimeConfigurationProducer.java @@ -33,7 +33,6 @@ import org.jetbrains.annotations.Nullable; import java.util.ArrayList; import java.util.Comparator; -import java.util.HashSet; public abstract class RuntimeConfigurationProducer implements Comparable, Cloneable { public static final ExtensionPointName RUNTIME_CONFIGURATION_PRODUCER = ExtensionPointName.create("com.intellij.configurationProducer"); @@ -202,11 +201,6 @@ public abstract class RuntimeConfigurationProducer implements Comparable, Clonea myConfig.checkConfiguration(); } - @Override - public boolean isGeneratedName() { - return myConfig.isGeneratedName(); - } - @Override public String suggestedName() { return myConfig.suggestedName(); diff --git a/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java b/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java index 1a5d991ae700..0a6ce91e445c 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/RunConfigurable.java @@ -445,7 +445,7 @@ class RunConfigurable extends BaseConfigurable { if (runtimeConfiguration.isGeneratedName() && !changed[0]) { try { final LocatableConfiguration snapshot = (LocatableConfiguration)editor.getSnapshot().getConfiguration(); - final String generatedName = snapshot instanceof RuntimeConfiguration? ((RuntimeConfiguration)snapshot).getGeneratedName() : snapshot.suggestedName(); + final String generatedName = snapshot.suggestedName(); if (generatedName != null && generatedName.length() > 0) { info.setNameText(generatedName); changed[0] = false; diff --git a/platform/lang-impl/src/com/intellij/execution/impl/SingleConfigurationConfigurable.java b/platform/lang-impl/src/com/intellij/execution/impl/SingleConfigurationConfigurable.java index b94c0274e8ee..bf091fced193 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/SingleConfigurationConfigurable.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/SingleConfigurationConfigurable.java @@ -56,6 +56,7 @@ public final class SingleConfigurationConfigurable methodLocation) { setModule(myData.setTestMethod(methodLocation)); setGeneratedName(); diff --git a/plugins/junit/src/com/intellij/execution/junit/TestClass.java b/plugins/junit/src/com/intellij/execution/junit/TestClass.java index 048edb82c344..aefe6f014453 100644 --- a/plugins/junit/src/com/intellij/execution/junit/TestClass.java +++ b/plugins/junit/src/com/intellij/execution/junit/TestClass.java @@ -49,7 +49,11 @@ class TestClass extends TestObject { } public String suggestActionName() { - return ProgramRunnerUtil.shortenName(JavaExecutionUtil.getShortClassName(myConfiguration.getPersistentData().MAIN_CLASS_NAME), 0); + String name = myConfiguration.getPersistentData().MAIN_CLASS_NAME; + if (name != null && name.endsWith(".")) { + return ProgramRunnerUtil.shortenName(name, 0); + } + return ProgramRunnerUtil.shortenName(JavaExecutionUtil.getShortClassName(name), 0); } public RefactoringElementListener getListener(final PsiElement element, final JUnitConfiguration configuration) { diff --git a/plugins/junit/src/com/intellij/execution/junit/TestPackage.java b/plugins/junit/src/com/intellij/execution/junit/TestPackage.java index 6f0b13403213..e6c1574e5617 100644 --- a/plugins/junit/src/com/intellij/execution/junit/TestPackage.java +++ b/plugins/junit/src/com/intellij/execution/junit/TestPackage.java @@ -223,10 +223,6 @@ public class TestPackage extends TestObject { } public String suggestActionName() { - final String configurationName = myConfiguration.getName(); - if (!myConfiguration.isGeneratedName()) { - return "'" + configurationName + "'"; - } final JUnitConfiguration.Data data = myConfiguration.getPersistentData(); if (data.getPackageName().trim().length() > 0) { return ExecutionBundle.message("test.in.scope.presentable.text", data.getPackageName()); diff --git a/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGConfiguration.java b/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGConfiguration.java index 1149207108c6..11351928a50f 100644 --- a/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGConfiguration.java +++ b/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGConfiguration.java @@ -146,11 +146,6 @@ public class TestNGConfiguration extends ModuleBasedConfiguration getConfigurationEditor() { SettingsEditorGroup group = new SettingsEditorGroup(); diff --git a/plugins/testng/src/com/theoryinpractice/testng/model/TestData.java b/plugins/testng/src/com/theoryinpractice/testng/model/TestData.java index 2f857253b86a..cc688d3f6b6f 100644 --- a/plugins/testng/src/com/theoryinpractice/testng/model/TestData.java +++ b/plugins/testng/src/com/theoryinpractice/testng/model/TestData.java @@ -18,14 +18,12 @@ package com.theoryinpractice.testng.model; import com.intellij.execution.ExternalizablePath; import com.intellij.execution.JavaExecutionUtil; import com.intellij.execution.Location; -import com.intellij.execution.configurations.JavaRunConfigurationModule; import com.intellij.execution.junit.JUnitUtil; import com.intellij.execution.junit2.info.MethodLocation; import com.intellij.execution.testframework.TestSearchScope; import com.intellij.openapi.module.Module; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Comparing; -import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.*; import com.intellij.psi.util.PsiTreeUtil; @@ -174,35 +172,6 @@ public class TestData implements Cloneable return data; } - public boolean isGeneratedName(String s, JavaRunConfigurationModule config) { - if (TEST_OBJECT == null) return true; - if ((TestType.CLASS.getType().equals(TEST_OBJECT) || TestType.METHOD.getType().equals(TEST_OBJECT)) && getMainClassName().length() == 0) - return JavaExecutionUtil.isNewName(s); - if (TestType.METHOD.getType().equals(TEST_OBJECT) && getMethodName().length() == 0) - return JavaExecutionUtil.isNewName(s); - else return Comparing.equal(s, getGeneratedName(config)); - } - - public String getGeneratedName(JavaRunConfigurationModule runconfigurationmodule) { - if (TestType.PACKAGE.getType().equals(TEST_OBJECT)) if (getPackageName().length() == 0) return ""; - else return getPackageName(); - String name = JavaExecutionUtil.getPresentableClassName(getMainClassName(), runconfigurationmodule); - if (TestType.METHOD.getType().equals(TEST_OBJECT)) { - return name + '.' + getMethodName(); - } - else if (TestType.SUITE.getType().equals(TEST_OBJECT)) { - return getSuiteName(); - } - else { - if (TestType.PATTERN.getType().equals(TEST_OBJECT)) { - final int size = myPatterns.size(); - if (size == 0) return "Temp suite"; - return StringUtil.getShortName(myPatterns.iterator().next()) + (size > 1 ? " and " + (size - 1) + " more" : ""); - } - return name; - } - } - public String getMainClassName() { return MAIN_CLASS_NAME == null ? "" : MAIN_CLASS_NAME; }