diff --git a/modules/openapi-generator-cli/src/test/java/org/openapitools/codegen/cmd/utils/OptionUtilsTest.java b/modules/openapi-generator-cli/src/test/java/org/openapitools/codegen/cmd/utils/OptionUtilsTest.java index 37c4039423b..cda2bccc831 100644 --- a/modules/openapi-generator-cli/src/test/java/org/openapitools/codegen/cmd/utils/OptionUtilsTest.java +++ b/modules/openapi-generator-cli/src/test/java/org/openapitools/codegen/cmd/utils/OptionUtilsTest.java @@ -52,6 +52,10 @@ public class OptionUtilsTest { doTupleListTest("a=1,=,c=3", asList(Pair.of("a", "1"), Pair.of("c", "3"))); doTupleListTest("", emptyPairList()); doTupleListTest(null, emptyPairList()); + doTupleListTest("a=1,b=2,c=\"3,4,5\"", + asList(Pair.of("a", "1"), Pair.of("b", "2"), + Pair.of("c", "\"3,4,5\""))); + } private static void doTupleListTest(String input, List> expectedResults) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/OptionUtils.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/OptionUtils.java index ee25cdadea1..3059db818e8 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/OptionUtils.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/OptionUtils.java @@ -51,7 +51,8 @@ public class OptionUtils { List results = new ArrayList(); if(input != null && !input.isEmpty()) { - for (String value : input.split(",")) { + String[] tokens = input.split(",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)", -1); + for (String value : tokens) { if(isNotEmpty(value)) results.add(value); }