mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[json-settings] Use generated JsonSettingsModel in the test
GitOrigin-RevId: 1d292ce985896b2f54fe1fbee198b48159e591de
This commit is contained in:
committed by
intellij-monorepo-bot
parent
0435f17290
commit
f6f1d78dcd
@@ -8925,6 +8925,7 @@ f:com.intellij.ide.projectWizard.NewProjectWizardConstants$Language
|
||||
*f:com.intellij.ide.settings.json.JsonSettingsModel
|
||||
- *sf:Companion:com.intellij.ide.settings.json.JsonSettingsModel$Companion
|
||||
- <init>(java.util.Map):V
|
||||
- f:getPluginId(java.lang.String,java.lang.String):java.lang.String
|
||||
- f:getPropertyMap():java.util.Map
|
||||
*f:com.intellij.ide.settings.json.JsonSettingsModel$Companion
|
||||
- f:componentToSettingsModel(com.intellij.ide.settings.json.JsonSettingsModel$ComponentModel):com.intellij.ide.settings.json.JsonSettingsModel
|
||||
@@ -9013,20 +9014,22 @@ f:com.intellij.ide.projectWizard.NewProjectWizardConstants$Language
|
||||
*f:com.intellij.ide.settings.json.JsonSettingsModel$ComponentPropertyInfo$Companion
|
||||
- f:serializer():kotlinx.serialization.KSerializer
|
||||
*f:com.intellij.ide.settings.json.JsonSettingsModel$PropertyDescriptor
|
||||
- <init>(java.lang.String,java.lang.String,com.intellij.ide.settings.json.JsonSettingsModel$PropertyType,java.lang.String,java.lang.String,java.util.List):V
|
||||
- b:<init>(java.lang.String,java.lang.String,com.intellij.ide.settings.json.JsonSettingsModel$PropertyType,java.lang.String,java.lang.String,java.util.List,I,kotlin.jvm.internal.DefaultConstructorMarker):V
|
||||
- <init>(java.lang.String,java.lang.String,java.lang.String,com.intellij.ide.settings.json.JsonSettingsModel$PropertyType,java.lang.String,java.lang.String,java.util.List):V
|
||||
- b:<init>(java.lang.String,java.lang.String,java.lang.String,com.intellij.ide.settings.json.JsonSettingsModel$PropertyType,java.lang.String,java.lang.String,java.util.List,I,kotlin.jvm.internal.DefaultConstructorMarker):V
|
||||
- f:component1():java.lang.String
|
||||
- f:component2():java.lang.String
|
||||
- f:component3():com.intellij.ide.settings.json.JsonSettingsModel$PropertyType
|
||||
- f:component4():java.lang.String
|
||||
- f:component3():java.lang.String
|
||||
- f:component4():com.intellij.ide.settings.json.JsonSettingsModel$PropertyType
|
||||
- f:component5():java.lang.String
|
||||
- f:component6():java.util.List
|
||||
- f:copy(java.lang.String,java.lang.String,com.intellij.ide.settings.json.JsonSettingsModel$PropertyType,java.lang.String,java.lang.String,java.util.List):com.intellij.ide.settings.json.JsonSettingsModel$PropertyDescriptor
|
||||
- bs:copy$default(com.intellij.ide.settings.json.JsonSettingsModel$PropertyDescriptor,java.lang.String,java.lang.String,com.intellij.ide.settings.json.JsonSettingsModel$PropertyType,java.lang.String,java.lang.String,java.util.List,I,java.lang.Object):com.intellij.ide.settings.json.JsonSettingsModel$PropertyDescriptor
|
||||
- f:component6():java.lang.String
|
||||
- f:component7():java.util.List
|
||||
- f:copy(java.lang.String,java.lang.String,java.lang.String,com.intellij.ide.settings.json.JsonSettingsModel$PropertyType,java.lang.String,java.lang.String,java.util.List):com.intellij.ide.settings.json.JsonSettingsModel$PropertyDescriptor
|
||||
- bs:copy$default(com.intellij.ide.settings.json.JsonSettingsModel$PropertyDescriptor,java.lang.String,java.lang.String,java.lang.String,com.intellij.ide.settings.json.JsonSettingsModel$PropertyType,java.lang.String,java.lang.String,java.util.List,I,java.lang.Object):com.intellij.ide.settings.json.JsonSettingsModel$PropertyDescriptor
|
||||
- equals(java.lang.Object):Z
|
||||
- f:getComponentName():java.lang.String
|
||||
- f:getMapTo():java.lang.String
|
||||
- f:getName():java.lang.String
|
||||
- f:getPluginId():java.lang.String
|
||||
- f:getStorage():java.lang.String
|
||||
- f:getType():com.intellij.ide.settings.json.JsonSettingsModel$PropertyType
|
||||
- f:getVariants():java.util.List
|
||||
|
||||
@@ -16,6 +16,13 @@ private val logger = logger<JsonSettingsModel>()
|
||||
@ApiStatus.Experimental
|
||||
class JsonSettingsModel(val propertyMap: Map<String, PropertyDescriptor>) {
|
||||
|
||||
private val propertyPluginIdMap: Map<String, String> by lazy {
|
||||
propertyMap.values.filter { it.pluginId != "com.intellij" }.mapNotNull { property ->
|
||||
property.pluginId?.let { "${property.componentName}.${property.name}" to it }
|
||||
}.toMap()
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Supported property types.
|
||||
*/
|
||||
@@ -63,6 +70,7 @@ class JsonSettingsModel(val propertyMap: Map<String, PropertyDescriptor>) {
|
||||
)
|
||||
|
||||
data class PropertyDescriptor (
|
||||
val pluginId: String?,
|
||||
val componentName: String,
|
||||
val name: String,
|
||||
val type: PropertyType,
|
||||
@@ -82,6 +90,13 @@ class JsonSettingsModel(val propertyMap: Map<String, PropertyDescriptor>) {
|
||||
val properties: List<String> = emptyList()
|
||||
)
|
||||
|
||||
/**
|
||||
* @return Real production Plugin ID instead of "com.intellij" when the IDE is launched in debug or test mode. Not to be used in
|
||||
* production.
|
||||
*/
|
||||
@VisibleForTesting
|
||||
fun getPluginId(componentName: String, propertyName: String): String? = propertyPluginIdMap["${componentName}.${propertyName}"]
|
||||
|
||||
companion object {
|
||||
val instance: JsonSettingsModel by lazy { componentToSettingsModel(loadFromJson()) }
|
||||
|
||||
@@ -109,7 +124,7 @@ class JsonSettingsModel(val propertyMap: Map<String, PropertyDescriptor>) {
|
||||
|
||||
private fun jsonDataToPropertyDescriptor(componentInfo: ComponentInfo, propertyInfo: ComponentPropertyInfo): PropertyDescriptor? {
|
||||
return if (componentInfo.name != null && componentInfo.storage != null) {
|
||||
PropertyDescriptor(componentInfo.name, propertyInfo.name, propertyInfo.type, componentInfo.storage,
|
||||
PropertyDescriptor(componentInfo.pluginId, componentInfo.name, propertyInfo.name, propertyInfo.type, componentInfo.storage,
|
||||
propertyInfo.mapTo ?: propertyInfo.name, propertyInfo.variants)
|
||||
}
|
||||
else null
|
||||
|
||||
Reference in New Issue
Block a user