From d4e537d19ec5757d753a5e903d60f74662f45866 Mon Sep 17 00:00:00 2001 From: Jens Fischer Date: Wed, 3 Sep 2025 16:53:42 +0200 Subject: [PATCH] [kotlin-client] Fix string comparison in discriminator post-processing We encountered occassional build failures with the logic introduced in #21531 due to discriminator properties still being generated in rare cases. Not sure why it didn't happen consistently, may be related to Gradle caching or parallel builds or whatever. Since patching these string comparisons, this has no longer occurred. --- .../openapitools/codegen/languages/KotlinClientCodegen.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java index 048e22bf28a8..34e198c147be 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinClientCodegen.java @@ -976,7 +976,7 @@ public Map postProcessAllModels(Map objs) continue; } // Remove discriminator property from the base class, it is not needed in the generated code - getAllVarProperties(cm).forEach(list -> list.removeIf(var -> var.name == discriminator.getPropertyName())); + getAllVarProperties(cm).forEach(list -> list.removeIf(var -> var.name.equals(discriminator.getPropertyName()))); for (CodegenDiscriminator.MappedModel mappedModel : discriminator.getMappedModels()) { // Add the mapping name to additionalProperties.disciminatorValue @@ -989,7 +989,7 @@ public Map postProcessAllModels(Map objs) } additionalProperties.discriminatorValue = mappedModel.getMappingName(); // Remove the discriminator property from the derived class, it is not needed in the generated code - getAllVarProperties(mappedModel.getModel()).forEach(list -> list.removeIf(prop -> prop.name == discriminator.getPropertyName())); + getAllVarProperties(mappedModel.getModel()).forEach(list -> list.removeIf(prop -> prop.name.equals(discriminator.getPropertyName()))); } }