diff --git a/platform/lang-impl/src/com/intellij/execution/impl/RunnerAndConfigurationSettingsImpl.java b/platform/lang-impl/src/com/intellij/execution/impl/RunnerAndConfigurationSettingsImpl.java index 27e8e456d96b..c59bb2cde8e0 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/RunnerAndConfigurationSettingsImpl.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/RunnerAndConfigurationSettingsImpl.java @@ -44,6 +44,18 @@ public class RunnerAndConfigurationSettingsImpl implements JDOMExternalizable, C private static final String CONFIGURATION_ELEMENT = "ConfigurationWrapper"; @NonNls private static final String RUNNER_ID = "RunnerId"; + + private static final Comparator RUNNER_COMPARATOR = new Comparator() { + @Override + public int compare(@NotNull Element o1, @NotNull Element o2) { + String attributeValue1 = o1.getAttributeValue(RUNNER_ID); + if (attributeValue1 == null) { + return 1; + } + return StringUtil.compare(attributeValue1, o2.getAttributeValue(RUNNER_ID), false); + } + }; + @NonNls private static final String CONFIGURATION_TYPE_ATTRIBUTE = "type"; @NonNls @@ -298,9 +310,8 @@ public class RunnerAndConfigurationSettingsImpl implements JDOMExternalizable, C myConfiguration.writeExternal(element); if (!(myConfiguration instanceof UnknownRunConfiguration)) { - Comparator runnerComparator = createRunnerComparator(); - writeRunnerSettings(runnerComparator, element); - writeConfigurationPerRunnerSettings(runnerComparator, element); + writeRunnerSettings(RUNNER_COMPARATOR, element); + writeConfigurationPerRunnerSettings(RUNNER_COMPARATOR, element); } } @@ -381,24 +392,6 @@ public class RunnerAndConfigurationSettingsImpl implements JDOMExternalizable, C return true; } - private static Comparator createRunnerComparator() { - return new Comparator() { - @Override - public int compare(@NotNull Element o1, @NotNull Element o2) { - final String attributeValue1 = o1.getAttributeValue(RUNNER_ID); - if (attributeValue1 == null) { - return 1; - - } - final String attributeValue2 = o2.getAttributeValue(RUNNER_ID); - if (attributeValue2 == null) { - return -1; - } - return attributeValue1.compareTo(attributeValue2); - } - }; - } - @Override public RunnerSettings getRunnerSettings(@NotNull ProgramRunner runner) { if (!myRunnerSettings.containsKey(runner)) {