From d12c4889ff7707a403f42565d9cac33dfa3b2f0a Mon Sep 17 00:00:00 2001 From: ibenchhida Date: Wed, 29 Oct 2025 11:46:10 +0100 Subject: [PATCH 1/2] Fix issue 22209: [JAVA-gen] Standard Java inheritance, not an abstract schema wrapper !! --- .../org/openapitools/codegen/languages/JavaClientCodegen.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java index 5a847d0afc14..02c7b7e91b01 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java @@ -1063,6 +1063,9 @@ public void postProcessModelProperty(CodegenModel model, CodegenProperty propert model.imports.remove("JsonDeserialize"); property.vendorExtensions.remove("x-setter-extra-annotation"); } + if(model.oneOf!= null && !model.oneOf.isEmpty() && model.discriminator!=null) { + model.oneOf = null; + } } @Override From 351ee379d86962c669a6ec1ce814cd400afaf560 Mon Sep 17 00:00:00 2001 From: ibenchhida Date: Wed, 5 Nov 2025 09:30:35 +0100 Subject: [PATCH 2/2] Fix issue 22209: [JAVA-gen] Standard Java inheritance, not an abstract schema wrapper !! --- .../main/java/org/openapitools/codegen/DefaultCodegen.java | 4 +++- .../openapitools/codegen/languages/JavaClientCodegen.java | 7 +++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index db2f6a563e91..1674acce4b33 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -3736,7 +3736,9 @@ protected void addProperties(Map properties, List requir if (schema.getAllOf() != null) { for (Object component : schema.getAllOf()) { - addProperties(properties, required, (Schema) component, visitedSchemas); + if(!supportsInheritance){ + addProperties(properties, required, (Schema) component, visitedSchemas); + } } } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java index 02c7b7e91b01..a41961f828dc 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java @@ -1063,9 +1063,6 @@ public void postProcessModelProperty(CodegenModel model, CodegenProperty propert model.imports.remove("JsonDeserialize"); property.vendorExtensions.remove("x-setter-extra-annotation"); } - if(model.oneOf!= null && !model.oneOf.isEmpty() && model.discriminator!=null) { - model.oneOf = null; - } } @Override @@ -1090,7 +1087,9 @@ public CodegenModel fromModel(String name, Schema model) { codegenModel.imports.add("Schema"); } } - + if(codegenModel.oneOf!= null && !codegenModel.oneOf.isEmpty() && codegenModel.discriminator!=null) { + codegenModel.oneOf = null; + } return codegenModel; }