From 8cde232efc8624d83734b88f020ca5a27407945a Mon Sep 17 00:00:00 2001 From: ibenchhida Date: Mon, 6 Oct 2025 16:29:15 +0100 Subject: [PATCH 1/3] Fix NullPointerException when generating java code Descriminator Object --- .../v3/generators/DefaultCodegenConfig.java | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/main/java/io/swagger/codegen/v3/generators/DefaultCodegenConfig.java b/src/main/java/io/swagger/codegen/v3/generators/DefaultCodegenConfig.java index 47aa5adc0e..7264c2f98c 100644 --- a/src/main/java/io/swagger/codegen/v3/generators/DefaultCodegenConfig.java +++ b/src/main/java/io/swagger/codegen/v3/generators/DefaultCodegenConfig.java @@ -1399,16 +1399,20 @@ else if (schema instanceof ComposedSchema) { if (composed.getOneOf()!=null) { composed.getOneOf().forEach( s -> { - codegenModel.discriminator.getMapping().keySet().stream().filter( key -> codegenModel.discriminator.getMapping().get(key).equals(s.get$ref())) - .forEach(key -> { - String mappingValue = codegenModel.discriminator.getMapping().get(key); - if (classnameKeys.containsKey(codegenModel.classname)) { - throw new IllegalArgumentException("Duplicate shema name in discriminator mapping"); - } - classnameKeys.put(toModelName(mappingValue.replace("#/components/schemas/", "")),key); - }); + if(codegenModel.discriminator.getMapping() != null){ + codegenModel.discriminator.getMapping().keySet().stream().filter( key -> codegenModel.discriminator.getMapping().get(key).equals(s.get$ref())) + .forEach(key -> { + String mappingValue = codegenModel.discriminator.getMapping().get(key); + if (classnameKeys.containsKey(codegenModel.classname)) { + throw new IllegalArgumentException("Duplicate shema name in discriminator mapping"); + } + classnameKeys.put(toModelName(mappingValue.replace("#/components/schemas/", "")),key); + }); + codegenModel.discriminator.getMapping().putAll(classnameKeys); + + } + }); - codegenModel.discriminator.getMapping().putAll(classnameKeys); } } From 16c7b2a954c6fbfc41b0c6b9c58cf8b5f806e256 Mon Sep 17 00:00:00 2001 From: ibenchhida Date: Thu, 9 Oct 2025 14:39:41 +0100 Subject: [PATCH 2/3] Fix NullPointerException when generating java code Descriminator Object --- .../swagger/codegen/v3/generators/DefaultCodegenConfig.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/swagger/codegen/v3/generators/DefaultCodegenConfig.java b/src/main/java/io/swagger/codegen/v3/generators/DefaultCodegenConfig.java index 7264c2f98c..a496894a08 100644 --- a/src/main/java/io/swagger/codegen/v3/generators/DefaultCodegenConfig.java +++ b/src/main/java/io/swagger/codegen/v3/generators/DefaultCodegenConfig.java @@ -1408,11 +1408,13 @@ else if (schema instanceof ComposedSchema) { } classnameKeys.put(toModelName(mappingValue.replace("#/components/schemas/", "")),key); }); - codegenModel.discriminator.getMapping().putAll(classnameKeys); } }); + if(codegenModel.discriminator.getMapping() != null) { + codegenModel.discriminator.getMapping().putAll(classnameKeys); + } } } From ae4b93c27258795858b7851ba347de0e7862660e Mon Sep 17 00:00:00 2001 From: ibenchhida Date: Tue, 14 Oct 2025 11:14:51 +0100 Subject: [PATCH 3/3] Fix Generating Object class attribute when having embedded allOf schema --- pom.xml | 2 +- .../codegen/v3/generators/DefaultCodegenConfig.java | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4449b68924..26dd1fcc49 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ swagger-codegen-generators swagger-codegen-generators https://github.com/swagger-api/swagger-codegen-generators - 1.0.58 + 1.0.59 jar scm:git:git@github.com:swagger-api/swagger-codegen-generators.git diff --git a/src/main/java/io/swagger/codegen/v3/generators/DefaultCodegenConfig.java b/src/main/java/io/swagger/codegen/v3/generators/DefaultCodegenConfig.java index a496894a08..624bc007e3 100644 --- a/src/main/java/io/swagger/codegen/v3/generators/DefaultCodegenConfig.java +++ b/src/main/java/io/swagger/codegen/v3/generators/DefaultCodegenConfig.java @@ -175,6 +175,17 @@ public List cliOptions() { return cliOptions; } + + // a map to store the mapping between inline schema and the name provided by the user + protected Map inlineSchemaNameMapping = new HashMap<>(); + // a map to store the inline schema naming conventions + protected Map inlineSchemaOption = new HashMap<>(); + public Map inlineSchemaOption() { + return inlineSchemaOption; + } + public Map inlineSchemaNameMapping() { + return inlineSchemaNameMapping; + } public void processOpts() { if (additionalProperties.containsKey(CodegenConstants.TEMPLATE_DIR)) { this.customTemplateDir = additionalProperties.get(CodegenConstants.TEMPLATE_DIR).toString();