Skip to content

Commit 1fe9a31

Browse files
committed
update
1 parent ba0c343 commit 1fe9a31

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

Diff for: modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ProtobufSchemaCodegen.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)