mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-06 11:50:54 +07:00
[jps model] support loading generic facets entities in the new implementation (IJPL-409)
GitOrigin-RevId: 6e79f0a4e191ae81254a185c16e6e092f6fc73c4
This commit is contained in:
committed by
intellij-monorepo-bot
parent
be1e0dfa61
commit
e8846f629c
@@ -18,7 +18,7 @@ abstract class BaseIdeSerializationContext : SerializationContext {
|
||||
get() = CUSTOM_MODULE_COMPONENT_SERIALIZER_EP.extensionList
|
||||
override val customModuleRootsSerializers: List<CustomModuleRootsSerializer>
|
||||
get() = CUSTOM_MODULE_ROOTS_SERIALIZER_EP.extensionList
|
||||
override val customFacetRelatedEntitySerializers: List<CustomFacetRelatedEntitySerializer<ModuleSettingsFacetBridgeEntity>>
|
||||
override val customFacetRelatedEntitySerializers: List<CustomFacetRelatedEntitySerializer<*>>
|
||||
get() = CUSTOM_FACET_RELATED_ENTITY_SERIALIZER_EP.extensionList
|
||||
|
||||
companion object {
|
||||
|
||||
@@ -24,6 +24,6 @@ internal class SerializationContextImpl(
|
||||
get() = emptyList() //todo
|
||||
override val customModuleRootsSerializers: List<CustomModuleRootsSerializer>
|
||||
get() = emptyList() //todo
|
||||
override val customFacetRelatedEntitySerializers: List<CustomFacetRelatedEntitySerializer<ModuleSettingsFacetBridgeEntity>>
|
||||
get() = emptyList() //todo
|
||||
override val customFacetRelatedEntitySerializers: List<CustomFacetRelatedEntitySerializer<*>>
|
||||
get() = listOf(DefaultFacetEntitySerializer()) //todo
|
||||
}
|
||||
|
||||
@@ -26,5 +26,5 @@ interface SerializationContext {
|
||||
|
||||
val customModuleRootsSerializers: List<CustomModuleRootsSerializer>
|
||||
|
||||
val customFacetRelatedEntitySerializers: List<CustomFacetRelatedEntitySerializer<ModuleSettingsFacetBridgeEntity>>
|
||||
val customFacetRelatedEntitySerializers: List<CustomFacetRelatedEntitySerializer<*>>
|
||||
}
|
||||
@@ -69,7 +69,8 @@ internal class FacetsSerializer(private val imlFileUrl: VirtualFileUrl, private
|
||||
.mapNotNull { entitySerializer ->
|
||||
val entitiesToSave = affectedEntities[entitySerializer.rootEntityType]?.filter { entitySourceFilter.invoke(it.entitySource) }
|
||||
?: return@mapNotNull null
|
||||
entitySerializer.createFacetStateFromEntities(entitiesToSave.map { it as ModuleSettingsFacetBridgeEntity }, externalStorage)
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
(entitySerializer as CustomFacetRelatedEntitySerializer<ModuleSettingsFacetBridgeEntity>).createFacetStateFromEntities(entitiesToSave.map { it as ModuleSettingsFacetBridgeEntity }, externalStorage)
|
||||
}.flatten()
|
||||
|
||||
if (facetStatesFromEP.isEmpty()) {
|
||||
|
||||
Reference in New Issue
Block a user