diff --git a/json/src/com/jetbrains/jsonSchema/impl/fixes/AddMissingPropertyFix.java b/json/src/com/jetbrains/jsonSchema/impl/fixes/AddMissingPropertyFix.java index 106478b6f751..6b143d89a2ed 100644 --- a/json/src/com/jetbrains/jsonSchema/impl/fixes/AddMissingPropertyFix.java +++ b/json/src/com/jetbrains/jsonSchema/impl/fixes/AddMissingPropertyFix.java @@ -162,7 +162,7 @@ public final class AddMissingPropertyFix implements LocalQuickFix, BatchQuickFix var renderingLanguage = targetLanguage.is(JsonLanguage.INSTANCE) ? JsonSchemaObjectRenderingLanguage.JSON : JsonSchemaObjectRenderingLanguage.YAML; return renderSchemaNode(schemaObject, renderingLanguage); } - else if (defaultValueObject instanceof JsonNode jsonNode) {//todo fix properties tests?? + else if (defaultValueObject instanceof JsonNode jsonNode) { return convertToYamlIfNeeded(targetLanguage, jsonNode); } else if (defaultValueObject instanceof String) { @@ -190,9 +190,10 @@ public final class AddMissingPropertyFix implements LocalQuickFix, BatchQuickFix .build(); try { - return new ObjectMapper(jacksonFactory) + var exampleInTargetLanguage = new ObjectMapper(jacksonFactory) .writerWithDefaultPrettyPrinter() .writeValueAsString(jsonNode); + return StringUtil.trimEnd(exampleInTargetLanguage, "\n"); } catch (JsonProcessingException e) { return null; diff --git a/json/src/com/jetbrains/jsonSchema/impl/validations/ObjectValidation.java b/json/src/com/jetbrains/jsonSchema/impl/validations/ObjectValidation.java index fd96deee5cb7..98be4ee1c2cd 100644 --- a/json/src/com/jetbrains/jsonSchema/impl/validations/ObjectValidation.java +++ b/json/src/com/jetbrains/jsonSchema/impl/validations/ObjectValidation.java @@ -5,6 +5,7 @@ import com.intellij.json.JsonBundle; import com.intellij.json.pointer.JsonPointerPosition; import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.Ref; +import com.intellij.openapi.util.registry.Registry; import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.ThreeState; import com.intellij.util.containers.ContainerUtil; @@ -133,10 +134,12 @@ public final class ObjectValidation implements JsonSchemaValidation { JsonSchemaObject propertySchema = resolvePropertySchema(schema, req); Object defaultValue = propertySchema == null ? null : propertySchema.getDefault(); if (defaultValue == null) { - defaultValue = schema.getExampleByName(req); - } - if (defaultValue == null) { - defaultValue = schema.getExampleByName(req); + if (Registry.is("json.schema.object.v2")) { + defaultValue = schema.getExampleByName(req); + } else { + var example = schema.getExample(); + defaultValue = example == null ? null : example.get(req); + } } Ref enumCount = Ref.create(0);