diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaHelidonCommonCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaHelidonCommonCodegen.java index 50519b08370f..ac87b1006be2 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaHelidonCommonCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaHelidonCommonCodegen.java @@ -19,8 +19,10 @@ package org.openapitools.codegen.languages; import java.nio.file.Paths; import java.util.Arrays; +import java.util.HashMap; import java.util.List; import java.util.Locale; +import java.util.Map; import java.util.Set; import java.util.stream.Collectors; @@ -64,6 +66,14 @@ public abstract class JavaHelidonCommonCodegen extends AbstractJavaCodegen private static final String VALIDATION_ARTIFACT_PREFIX_JAVAX = ""; private static final String VALIDATION_ARTIFACT_PREFIX_JAKARTA = MICROPROFILE_ROOT_PACKAGE_JAKARTA + "."; + private static final Map EXAMPLE_RETURN_VALUES = new HashMap() { + { + put("set", "Set"); + put("array", "List"); + put("map", "Map"); + } + }; + // for generated doc static final String MICROPROFILE_ROOT_PACKAGE_DEFAULT = "Helidon 2.x and earlier: " + MICROPROFILE_ROOT_PACKAGE_JAVAX @@ -273,15 +283,13 @@ public abstract class JavaHelidonCommonCodegen extends AbstractJavaCodegen private String chooseExampleReturnTypeValue(CodegenOperation op) { + // See DefaultCodegen#handleMethodResponse to see how the various op fields related to the return type are set. if (op.returnType == null) { return ""; // won't be used anyway in the templates } - if (op.isMap) { - return "java.util.Collections.emptyMap()"; - } - if (op.isArray) { - return "java.util.Collections.emptyList()"; + if (op.returnContainer != null) { + return "java.util.Collections.empty" + EXAMPLE_RETURN_VALUES.get(op.returnContainer) + "()"; } switch (op.returnType) { case "Integer":