JbImportServiceImpl: code cleanup

GitOrigin-RevId: 3ea254421b3f8e6e21194f2265557964383f3765
This commit is contained in:
Ivan Migalev
2024-07-12 19:43:55 +02:00
committed by intellij-monorepo-bot
parent 2fefc27a51
commit 93429cdeb6

View File

@@ -50,7 +50,6 @@ import kotlin.Result
import kotlin.io.path.*
import kotlin.time.Duration.Companion.seconds
internal data class JbProductInfo(
override val version: String,
val lastUsageTime: FileTime,
@@ -392,24 +391,24 @@ class JbImportServiceImpl(private val coroutineScope: CoroutineScope) : JbServic
return NameMappings.getIcon(productInfo.codeName, size)
}
override fun importSettings(productId: String, dataToApply: DataToApply): DialogImportData {
override fun importSettings(productId: String, data: DataToApply): DialogImportData {
val productInfo = products[productId] ?: error("Can't find product")
val filteredCategories = mutableSetOf<SettingsCategory>()
var plugins2import: Map<PluginId, IdeaPluginDescriptorImpl>? = null
var unselectedPlugins: List<String>? = null
for (data in dataToApply.importSettings) {
if (data.id == SettingsCategory.PLUGINS.name) {
for (setting in data.importSettings) {
if (setting.id == SettingsCategory.PLUGINS.name) {
// plugins category must be added as well, some PSC's use it, for instance KotlinNotebookApplicationOptionsProvider
filteredCategories.add(SettingsCategory.PLUGINS)
plugins2import = productInfo.getPluginsDescriptors().filter {
data.selectedChildIds?.contains(it.key.idString) ?: false
setting.selectedChildIds?.contains(it.key.idString) ?: false
}
unselectedPlugins = data.unselectedChildIds
logger.info("Will import ${data.selectedChildIds?.size} custom plugins: ${data.selectedChildIds?.joinToString()}\n" +
"${data.unselectedChildIds?.size} plugins will be skipped: ${data.unselectedChildIds?.joinToString()}")
unselectedPlugins = setting.unselectedChildIds
logger.info("Will import ${setting.selectedChildIds?.size} custom plugins: ${setting.selectedChildIds?.joinToString()}\n" +
"${setting.unselectedChildIds?.size} plugins will be skipped: ${setting.unselectedChildIds?.joinToString()}")
}
else {
val category = DEFAULT_SETTINGS_CATEGORIES[data.id] ?: continue
val category = DEFAULT_SETTINGS_CATEGORIES[setting.id] ?: continue
filteredCategories.add(category)
}
}
@@ -440,7 +439,7 @@ class JbImportServiceImpl(private val coroutineScope: CoroutineScope) : JbServic
val startTime = System.currentTimeMillis()
importStartedDeferred = coroutineScope.async(modalityState.asContextElement()) {
suspend fun performImport(): Boolean {
if (importEverything && NameMappings.canImportDirectly(productInfo.codeName) && dataToApply.featuredPluginIds.isEmpty()) {
if (importEverything && NameMappings.canImportDirectly(productInfo.codeName) && data.featuredPluginIds.isEmpty()) {
logger.info("Started importing all...")
progressIndicator.text2 = ImportSettingsBundle.message("progress.details.migrating.options")
//TODO support plugin list customization for raw import
@@ -491,7 +490,7 @@ class JbImportServiceImpl(private val coroutineScope: CoroutineScope) : JbServic
logger.info("Options migrated in $it ms.")
ImportSettingsEventsCollector.jbOptionsImportTimeSpent(it)
}
if (installPlugins(plugins2import?.keys.orEmpty(), dataToApply.featuredPluginIds, progressIndicator)) {
if (installPlugins(plugins2import?.keys.orEmpty(), data.featuredPluginIds, progressIndicator)) {
restartRequired = true
}
}
@@ -531,7 +530,7 @@ class JbImportServiceImpl(private val coroutineScope: CoroutineScope) : JbServic
try {
shouldRestart = performImport()
} catch (e: Throwable) {
if (e is CancellationException || e is ProcessCanceledException) {
if (e is CancellationException) {
logger.info("Import cancellation detected. Proceeding normally without restart.")
} else {
logger.error("Import error. Proceeding normally without restart.", e)