From 6c8bc1ec8822146a7b3089448bee6f255b9d70da Mon Sep 17 00:00:00 2001 From: Peter Leibiger Date: Mon, 29 Mar 2021 14:56:11 +0200 Subject: [PATCH] [core] Allow using lists as globalProperty in config files (#8339) --- .../codegen/config/WorkflowSettings.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/WorkflowSettings.java b/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/WorkflowSettings.java index dee02645d1..0f2f605dd6 100644 --- a/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/WorkflowSettings.java +++ b/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/WorkflowSettings.java @@ -26,9 +26,11 @@ import java.net.URISyntaxException; import java.net.URL; import java.nio.file.Paths; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.Objects; import java.util.regex.Pattern; +import java.util.stream.Collectors; /** * Represents those settings applied to a generation workflow. @@ -66,7 +68,7 @@ public class WorkflowSettings { private String templateDir; private String templatingEngineName = DEFAULT_TEMPLATING_ENGINE_NAME; private String ignoreFileOverride; - private ImmutableMap globalProperties = DEFAULT_GLOBAL_PROPERTIES; + private ImmutableMap globalProperties = DEFAULT_GLOBAL_PROPERTIES; private WorkflowSettings(Builder builder) { this.inputSpec = builder.inputSpec; @@ -282,7 +284,15 @@ public class WorkflowSettings { * @return the system properties */ public Map getGlobalProperties() { - return globalProperties; + return globalProperties.entrySet().stream() + .collect(Collectors.toMap(Map.Entry::getKey, e -> { + if (e.getValue() instanceof List) { + return ((List) e.getValue()).stream() + .map(Object::toString) + .collect(Collectors.joining(",")); + } + return String.valueOf(e.getValue()); + })); } /**