@@ -80,8 +80,7 @@ public <T> Map<String, Object> schemas(Class<? extends T> cls, boolean arrayOf)
80
80
if (arrayOf ) {
81
81
objectNode .put ("type" , "array" );
82
82
}
83
- replaceAnyOfWithOneOf (objectNode );
84
- pullDocumentationAndDefaultFromOneOf (objectNode );
83
+ pullDocumentationAndDefaultFromAnyOf (objectNode );
85
84
removeRequiredOnPropsWithDefaults (objectNode );
86
85
87
86
return JacksonMapper .toMap (objectNode );
@@ -111,23 +110,15 @@ private void removeRequiredOnPropsWithDefaults(ObjectNode objectNode) {
111
110
});
112
111
}
113
112
114
- private void replaceAnyOfWithOneOf (ObjectNode objectNode ) {
115
- objectNode .findParents ("anyOf" ).forEach (jsonNode -> {
116
- if (jsonNode instanceof ObjectNode oNode ) {
117
- oNode .set ("oneOf" , oNode .remove ("anyOf" ));
118
- }
119
- });
120
- }
121
-
122
- // This hack exists because for Property we generate a oneOf for properties that are not strings.
123
- // By default, the 'default' is in each oneOf which Monaco editor didn't take into account.
124
- // So, we pull off the 'default' from any of the oneOf to the parent.
113
+ // This hack exists because for Property we generate a anyOf for properties that are not strings.
114
+ // By default, the 'default' is in each anyOf which Monaco editor didn't take into account.
115
+ // So, we pull off the 'default' from any of the anyOf to the parent.
125
116
// same thing for documentation fields: 'title', 'description', '$deprecated'
126
- private void pullDocumentationAndDefaultFromOneOf (ObjectNode objectNode ) {
127
- objectNode .findParents ("oneOf " ).forEach (jsonNode -> {
117
+ private void pullDocumentationAndDefaultFromAnyOf (ObjectNode objectNode ) {
118
+ objectNode .findParents ("anyOf " ).forEach (jsonNode -> {
128
119
if (jsonNode instanceof ObjectNode oNode ) {
129
- JsonNode oneOf = oNode .get ("oneOf " );
130
- if (oneOf instanceof ArrayNode arrayNode ) {
120
+ JsonNode anyOf = oNode .get ("anyOf " );
121
+ if (anyOf instanceof ArrayNode arrayNode ) {
131
122
Iterator <JsonNode > it = arrayNode .elements ();
132
123
var nodesToPullUp = new HashMap <String , Optional <JsonNode >>(Map .ofEntries (
133
124
Map .entry ("default" , Optional .empty ()),
@@ -641,8 +632,7 @@ protected <T> Map<String, Object> generate(Class<? extends T> cls, @Nullable Cla
641
632
SchemaGenerator generator = new SchemaGenerator (schemaGeneratorConfig );
642
633
try {
643
634
ObjectNode objectNode = generator .generateSchema (cls );
644
- replaceAnyOfWithOneOf (objectNode );
645
- pullDocumentationAndDefaultFromOneOf (objectNode );
635
+ pullDocumentationAndDefaultFromAnyOf (objectNode );
646
636
removeRequiredOnPropsWithDefaults (objectNode );
647
637
648
638
return JacksonMapper .toMap (extractMainRef (objectNode ));
0 commit comments