From a9bf22e35b0faa0b82de5ac97644354dd323bc21 Mon Sep 17 00:00:00 2001 From: mtraynham Date: Wed, 23 Oct 2019 22:57:05 -0400 Subject: [PATCH] Add kotlin.collections.Set support for unique item arrays --- .../openapitools/codegen/languages/AbstractKotlinCodegen.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java index ddc38ce20590..57c45a76fb03 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java @@ -184,6 +184,7 @@ public AbstractKotlinCodegen() { typeMapping.put("file", "java.io.File"); typeMapping.put("array", "kotlin.Array"); typeMapping.put("list", "kotlin.collections.List"); + typeMapping.put("set", "kotlin.collections.Set"); typeMapping.put("map", "kotlin.collections.Map"); typeMapping.put("object", "kotlin.Any"); typeMapping.put("binary", "kotlin.Array"); @@ -697,6 +698,9 @@ private String getArrayTypeDeclaration(ArraySchema arr) { // TODO: collection type here should be fully qualified namespace to avoid model conflicts // This supports arrays of arrays. String arrayType = typeMapping.get("array"); + if (Boolean.TRUE.equals(arr.getUniqueItems())) { + arrayType = typeMapping.get("set"); + } StringBuilder instantiationType = new StringBuilder(arrayType); Schema items = arr.getItems(); String nestedType = getTypeDeclaration(items);