diff --git a/java/jdkAnnotations/org/jdom/annotations.xml b/java/jdkAnnotations/org/jdom/annotations.xml
index 2171c711208e..585f9ceed341 100644
--- a/java/jdkAnnotations/org/jdom/annotations.xml
+++ b/java/jdkAnnotations/org/jdom/annotations.xml
@@ -36,6 +36,12 @@
-
+ -
+
+
+ -
+
+
-
@@ -45,9 +51,6 @@
-
- -
-
-
-
diff --git a/platform/lang-impl/src/com/intellij/execution/impl/RunManagerImpl.kt b/platform/lang-impl/src/com/intellij/execution/impl/RunManagerImpl.kt
index 277a8538d133..a6c1c8cd1f3a 100644
--- a/platform/lang-impl/src/com/intellij/execution/impl/RunManagerImpl.kt
+++ b/platform/lang-impl/src/com/intellij/execution/impl/RunManagerImpl.kt
@@ -44,6 +44,7 @@ import com.intellij.openapi.util.text.NaturalComparator
import com.intellij.util.IconUtil
import com.intellij.util.SmartList
import com.intellij.util.containers.*
+import com.intellij.util.text.UniqueNameGenerator
import gnu.trove.THashMap
import org.jdom.Element
import java.util.*
@@ -636,8 +637,9 @@ open class RunManagerImpl(internal val project: Project) : RunManagerEx(), Persi
clear(false)
}
+ val nameGenerator = UniqueNameGenerator()
workspaceSchemeManagerProvider.load(parentNode) {
- var name = it.getAttributeValue("name")
+ var name: String? = it.getAttributeValue("name")
if (name == "" || name == null) {
// scheme name must be unique
it.getAttributeValue("type")?.let {
@@ -647,7 +649,15 @@ open class RunManagerImpl(internal val project: Project) : RunManagerEx(), Persi
name += " of type ${it}"
}
}
- name
+
+ // in case if broken configuration, do not fail, just generate name
+ if (name == null) {
+ name = nameGenerator.generateUniqueName("Unnamed")
+ }
+ else {
+ nameGenerator.addExistingName(name!!)
+ }
+ name!!
}
workspaceSchemeManager.reload()
diff --git a/platform/projectModel-impl/src/com/intellij/configurationStore/SchemeManagerIprProvider.kt b/platform/projectModel-impl/src/com/intellij/configurationStore/SchemeManagerIprProvider.kt
index 14f2fbc799fc..ea151e61f28a 100644
--- a/platform/projectModel-impl/src/com/intellij/configurationStore/SchemeManagerIprProvider.kt
+++ b/platform/projectModel-impl/src/com/intellij/configurationStore/SchemeManagerIprProvider.kt
@@ -79,7 +79,7 @@ class SchemeManagerIprProvider(private val subStateTagName: String) : StreamProv
continue
}
- nameToData.put(nameGenerator.generateUniqueName(FileUtil.sanitizeFileName(name, false) + ".xml"), child.toByteArray())
+ nameToData.put(nameGenerator.generateUniqueName("${FileUtil.sanitizeFileName(name, false)}.xml"), child.toByteArray())
}
}