mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-19 13:02:30 +07:00
JbImportServiceImpl: code cleanup
GitOrigin-RevId: 3ea254421b3f8e6e21194f2265557964383f3765
This commit is contained in:
committed by
intellij-monorepo-bot
parent
2fefc27a51
commit
93429cdeb6
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user