From d84117fea456710a196bc3738648adc8030bff6d Mon Sep 17 00:00:00 2001 From: magicDGS Date: Mon, 18 Dec 2023 17:13:37 +0100 Subject: [PATCH] Fix the JsonPropertySorter logic --- .../jsonschema/module/jackson/JsonPropertySorter.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/jsonschema-module-jackson/src/main/java/com/github/victools/jsonschema/module/jackson/JsonPropertySorter.java b/jsonschema-module-jackson/src/main/java/com/github/victools/jsonschema/module/jackson/JsonPropertySorter.java index 2da2a4b4..a38f64ae 100644 --- a/jsonschema-module-jackson/src/main/java/com/github/victools/jsonschema/module/jackson/JsonPropertySorter.java +++ b/jsonschema-module-jackson/src/main/java/com/github/victools/jsonschema/module/jackson/JsonPropertySorter.java @@ -73,10 +73,12 @@ protected int getPropertyIndex(MemberScope property) { HierarchicType topMostHierarchyType = property.getDeclaringTypeMembers().allTypesAndOverrides().get(0); List sortedProperties = this.propertyOrderPerDeclaringType .computeIfAbsent(topMostHierarchyType.getErasedType(), this::getAnnotatedPropertyOrder); - String fieldName; + String fieldName = null; if (property instanceof MethodScope) { fieldName = Optional.ofNullable(((MethodScope) property).findGetterField()).map(MemberScope::getSchemaPropertyName).orElse(null); - } else { + } + // also in case that the MethodScope fails, the filename might be provided by the property.getSchemaPropertyName() + if (fieldName == null) { fieldName = property.getSchemaPropertyName(); } int propertyIndex = sortedProperties.indexOf(fieldName);