@@ -397,15 +397,15 @@ private void processNestedSchemas(Schema schema, Set<Schema> visitedSchemas) {
397397 if (ModelUtils .isMapSchema (schema ) && ModelUtils .getAdditionalProperties (schema ) != null ) {
398398 Schema mapValueSchema = ModelUtils .getAdditionalProperties (schema );
399399 mapValueSchema = ModelUtils .getReferencedSchema (openAPI , mapValueSchema );
400- if (ModelUtils .isArraySchema (mapValueSchema ) || ModelUtils .isMapSchema (mapValueSchema )) {
400+ if (ModelUtils .isArraySchema (mapValueSchema ) || (! ModelUtils .isMapSchema (mapValueSchema ) && ! ModelUtils . isModel ( mapValueSchema ) )) {
401401 Schema innerSchema = generateNestedSchema (mapValueSchema , visitedSchemas );
402402 schema .setAdditionalProperties (innerSchema );
403403
404404 }
405405 } else if (ModelUtils .isArraySchema (schema ) && ModelUtils .getSchemaItems (schema ) != null ) {
406406 Schema arrayItemSchema = ModelUtils .getSchemaItems (schema );
407407 arrayItemSchema = ModelUtils .getReferencedSchema (openAPI , arrayItemSchema );
408- if (ModelUtils .isMapSchema (arrayItemSchema ) || ModelUtils .isArraySchema (arrayItemSchema )) {
408+ if (( ModelUtils .isMapSchema (arrayItemSchema ) && ! ModelUtils . isModel ( arrayItemSchema ) ) || ModelUtils .isArraySchema (arrayItemSchema )) {
409409 Schema innerSchema = generateNestedSchema (arrayItemSchema , visitedSchemas );
410410 schema .setItems (innerSchema );
411411 }
@@ -418,7 +418,7 @@ private void processNestedSchemas(Schema schema, Set<Schema> visitedSchemas) {
418418 Schema innerSchema = generateNestedSchema (oneOfSchema , visitedSchemas );
419419 innerSchema .setTitle (oneOf .getTitle ());
420420 newOneOfs .add (innerSchema );
421- } else if (ModelUtils .isMapSchema (oneOfSchema )) {
421+ } else if (ModelUtils .isMapSchema (oneOfSchema ) && ! ModelUtils . isModel ( oneOfSchema ) ) {
422422 Schema innerSchema = generateNestedSchema (oneOfSchema , visitedSchemas );
423423 innerSchema .setTitle (oneOf .getTitle ());
424424 newOneOfs .add (innerSchema );
0 commit comments