diff --git a/platform/lang-impl/src/com/intellij/ide/util/scopeChooser/ScopeChooserConfigurable.java b/platform/lang-impl/src/com/intellij/ide/util/scopeChooser/ScopeChooserConfigurable.java index dac84ced892b..b3a00dbfc3d6 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/scopeChooser/ScopeChooserConfigurable.java +++ b/platform/lang-impl/src/com/intellij/ide/util/scopeChooser/ScopeChooserConfigurable.java @@ -136,33 +136,29 @@ public class ScopeChooserConfigurable extends MasterDetailsComponent implements @Override public void apply() throws ConfigurationException { - final Set roots = new HashSet(); - roots.add(myRoot); - checkApply(roots, ProjectBundle.message("rename.message.prefix.scope"), ProjectBundle.message("rename.scope.title")); + checkForEmptyAndDuplicatedNames(ProjectBundle.message("rename.message.prefix.scope"), + ProjectBundle.message("rename.scope.title"), ScopeConfigurable.class); + checkForPredefinedNames(); super.apply(); processScopes(); loadStateOrder(); } - @Override - protected void checkApply(Set rootNodes, String prefix, String title) throws ConfigurationException { - super.checkApply(rootNodes, prefix, title); + private void checkForPredefinedNames() throws ConfigurationException { final Set predefinedScopes = new HashSet(); for (CustomScopesProvider scopesProvider : myProject.getExtensions(CustomScopesProvider.CUSTOM_SCOPES_PROVIDER)) { for (NamedScope namedScope : scopesProvider.getCustomScopes()) { predefinedScopes.add(namedScope.getName()); } } - for (MyNode rootNode : rootNodes) { - for (int i = 0; i < rootNode.getChildCount(); i++) { - final MyNode node = (MyNode)rootNode.getChildAt(i); - final NamedConfigurable scopeConfigurable = node.getConfigurable(); - final String name = scopeConfigurable.getDisplayName(); - if (predefinedScopes.contains(name)) { - selectNodeInTree(node); - throw new ConfigurationException("Scope name equals to predefined one", ProjectBundle.message("rename.scope.title")); - } + for (int i = 0; i < myRoot.getChildCount(); i++) { + final MyNode node = (MyNode)myRoot.getChildAt(i); + final NamedConfigurable scopeConfigurable = node.getConfigurable(); + final String name = scopeConfigurable.getDisplayName(); + if (predefinedScopes.contains(name)) { + selectNodeInTree(node); + throw new ConfigurationException("Scope name equals to predefined one", ProjectBundle.message("rename.scope.title")); } } }