IDEA-253996: Docker target has two identical Java language runtimes neither of which can be removed

- LOG.error on attempt to add duplicate config to `ContributedConfigurationsList`

GitOrigin-RevId: 192b568c2425ad93612361bf47fbbf5941e715ec
This commit is contained in:
Michael Golubev
2020-11-02 19:06:34 +00:00
committed by intellij-monorepo-bot
parent 00778d62e2
commit 348cc850e3
@@ -5,6 +5,7 @@ import com.intellij.configurationStore.ComponentSerializationUtil
import com.intellij.execution.target.ContributedConfigurationBase.Companion.getTypeImpl
import com.intellij.openapi.components.BaseState
import com.intellij.openapi.components.PersistentStateComponent
import com.intellij.openapi.diagnostic.Logger
import com.intellij.openapi.extensions.ExtensionPointName
import com.intellij.util.xmlb.XmlSerializer
import com.intellij.util.xmlb.annotations.Attribute
@@ -48,7 +49,13 @@ open class ContributedConfigurationsList<C, T>(private val extPoint: ExtensionPo
fun resolvedConfigs(): List<C> = resolvedInstances.toList()
fun addConfig(config: C) = resolvedInstances.add(config)
fun addConfig(config: C) {
if (resolvedInstances.contains(config)) {
Logger.getInstance(ContributedConfigurationsList::class.java).error("Cannot add duplicate: $config")
return
}
resolvedInstances.add(config)
}
fun removeConfig(config: C) = resolvedInstances.remove(config)