From 1f022d51fb128f2e4551facd7f61dcfa4cb30340 Mon Sep 17 00:00:00 2001 From: Christian Meyer Date: Mon, 16 Jan 2023 14:09:40 +0100 Subject: [PATCH] Fix generation of initialisation values for fields of type enum --- .../thake/avro4k/compiler/Avro4kCompiler.java | 3 +++ .../test/resources/roundtrip/default_values.avsc | 14 ++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/compiler/src/main/java/com/github/thake/avro4k/compiler/Avro4kCompiler.java b/compiler/src/main/java/com/github/thake/avro4k/compiler/Avro4kCompiler.java index e1b4b06..efe07e0 100644 --- a/compiler/src/main/java/com/github/thake/avro4k/compiler/Avro4kCompiler.java +++ b/compiler/src/main/java/com/github/thake/avro4k/compiler/Avro4kCompiler.java @@ -568,6 +568,9 @@ public String defaultValueAsKotlinValue(Field field) { if (defaultValue == JsonProperties.NULL_VALUE) { return "null"; } + if (field.schema().getType() == Schema.Type.ENUM) { + return fullName(field.schema()) + "." + defaultValue; + } Optional logicalType = getLogicalTypeConversion(field.schema()); if (logicalType.isPresent()) { return logicalType.get().getKotlinDefaultString(field.schema(), defaultValue); diff --git a/compiler/src/test/resources/roundtrip/default_values.avsc b/compiler/src/test/resources/roundtrip/default_values.avsc index 2f1fab4..cf586fe 100644 --- a/compiler/src/test/resources/roundtrip/default_values.avsc +++ b/compiler/src/test/resources/roundtrip/default_values.avsc @@ -33,6 +33,20 @@ "type": "string", "default": "Str" }, + { + "name": "enumValue", + "type": { + "type": "enum", + "name": "Suit", + "symbols": [ + "SPADES", + "HEARTS", + "DIAMONDS", + "CLUBS" + ] + }, + "default": "SPADES" + }, { "name": "decimalValue", "type": [