diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/InlineModelResolver.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/InlineModelResolver.java index 970f33d3b6f..7ccb8996795 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/InlineModelResolver.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/InlineModelResolver.java @@ -770,9 +770,8 @@ public class InlineModelResolver { for (Map.Entry propertiesEntry : properties.entrySet()) { String key = propertiesEntry.getKey(); Schema property = propertiesEntry.getValue(); - if (property instanceof ObjectSchema && ((ObjectSchema) property).getProperties() != null - && ((ObjectSchema) property).getProperties().size() > 0) { - ObjectSchema op = (ObjectSchema) property; + if (ModelUtils.isObjectSchema(property)) { + Schema op = property; String modelName = resolveModelName(op.getTitle(), path + "_" + key); Schema model = modelFromProperty(openAPI, op, modelName); String existing = matchGenerated(model); @@ -789,8 +788,8 @@ public class InlineModelResolver { } } else if (ModelUtils.isArraySchema(property)) { Schema inner = ModelUtils.getSchemaItems(property); - if (inner instanceof ObjectSchema) { - ObjectSchema op = (ObjectSchema) inner; + if (ModelUtils.isObjectSchema(inner)) { + Schema op = inner; if (op.getProperties() != null && op.getProperties().size() > 0) { flattenProperties(openAPI, op.getProperties(), path); String modelName = resolveModelName(op.getTitle(), path + "_" + key); @@ -819,8 +818,8 @@ public class InlineModelResolver { } } else if (ModelUtils.isMapSchema(property)) { Schema inner = ModelUtils.getAdditionalProperties(property); - if (inner instanceof ObjectSchema) { - ObjectSchema op = (ObjectSchema) inner; + if (ModelUtils.isObjectSchema(inner)) { + Schema op = inner; if (op.getProperties() != null && op.getProperties().size() > 0) { flattenProperties(openAPI, op.getProperties(), path); String modelName = resolveModelName(op.getTitle(), path + "_" + key); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/OCamlClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/OCamlClientCodegen.java index 4af3005fdd7..d023dc13052 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/OCamlClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/OCamlClientCodegen.java @@ -281,7 +281,7 @@ public class OCamlClientCodegen extends DefaultCodegen implements CodegenConfig private void collectEnumSchemas(String parentName, String sName, Schema schema) { if (ModelUtils.isArraySchema(schema)) { collectEnumSchemas(parentName, sName, ModelUtils.getSchemaItems(schema)); - } else if (schema instanceof MapSchema && schema.getAdditionalProperties() instanceof Schema) { + } else if (ModelUtils.isMapSchema(schema) && schema.getAdditionalProperties() instanceof Schema) { collectEnumSchemas(parentName, sName, (Schema) schema.getAdditionalProperties()); } else if (isEnumSchema(schema)) { String h = hashEnum(schema);