From 9bc335b35e332789509bbd6940251665460de5a4 Mon Sep 17 00:00:00 2001 From: Jens Oberender Date: Wed, 22 Aug 2018 06:06:01 +0200 Subject: [PATCH] Forbiddenapis check and fix (#672) * Added forbiddenapis check and fixed the findings in the normal code * Fixed forbiddenapi findings in java templates and samples. * Generated all samples for Java. --- .../test-manual/jersey1/ApiClientTest.java | 2 +- .../test-manual/jersey2/ApiClientTest.java | 2 +- .../test-manual/okhttp-gson/JSONTest.java | 9 +- .../resttemplate/ApiClientTest.java | 2 +- .../codegen/OpenAPIGenerator.java | 7 +- .../org/openapitools/codegen/cmd/Langs.java | 4 +- .../codegen/cmd/ListGenerators.java | 3 +- .../codegen/online/service/Generator.java | 16 ++-- .../openapitools/codegen/CodegenModel.java | 3 +- .../codegen/CodegenOperation.java | 9 +- .../openapitools/codegen/CodegenResponse.java | 3 +- .../openapitools/codegen/CodegenSecurity.java | 3 +- .../org/openapitools/codegen/CodegenType.java | 5 +- .../openapitools/codegen/DefaultCodegen.java | 33 ++++---- .../openapitools/codegen/auth/AuthParser.java | 8 +- .../codegen/config/CodegenConfigurator.java | 28 +++++-- .../ignore/CodegenIgnoreProcessor.java | 14 ++-- .../codegen/ignore/rules/Rule.java | 1 - .../codegen/languages/AbstractAdaCodegen.java | 7 +- .../languages/AbstractApexCodegen.java | 20 ++--- .../languages/AbstractCSharpCodegen.java | 10 +-- .../languages/AbstractEiffelCodegen.java | 21 +++-- .../codegen/languages/AbstractGoCodegen.java | 26 +++--- .../languages/AbstractJavaCodegen.java | 17 ++-- .../languages/AbstractKotlinCodegen.java | 14 ++-- .../codegen/languages/AbstractPhpCodegen.java | 24 +++--- .../languages/AbstractRubyCodegen.java | 6 +- .../codegen/languages/AdaCodegen.java | 16 ++-- .../codegen/languages/AdaServerCodegen.java | 4 +- .../codegen/languages/ApexClientCodegen.java | 7 +- .../languages/AspNetCoreServerCodegen.java | 20 ++--- .../codegen/languages/BashClientCodegen.java | 2 +- .../languages/CSharpClientCodegen.java | 9 +- .../languages/CSharpNancyFXServerCodegen.java | 83 ++++++++++++------- .../languages/ClojureClientCodegen.java | 16 ++-- .../languages/ConfluenceWikiCodegen.java | 4 +- .../languages/CppPistacheServerCodegen.java | 8 +- .../languages/CppQt5ClientCodegen.java | 14 ++-- .../CppQt5QHttpEngineServerCodegen.java | 13 +-- .../languages/CppRestSdkClientCodegen.java | 11 ++- .../languages/EiffelClientCodegen.java | 17 ++-- .../codegen/languages/ElmClientCodegen.java | 24 ++++-- .../languages/ErlangClientCodegen.java | 2 +- .../codegen/languages/FinchServerCodegen.java | 6 +- .../codegen/languages/FlashClientCodegen.java | 16 +--- .../languages/HaskellHttpClientCodegen.java | 20 ++--- .../languages/HaskellServantCodegen.java | 33 ++++---- .../languages/JavaInflectorServerCodegen.java | 4 +- .../languages/JavaJerseyServerCodegen.java | 9 +- .../languages/JavaPKMSTServerCodegen.java | 4 +- .../languages/JavaPlayFrameworkCodegen.java | 3 +- .../languages/JavaVertXServerCodegen.java | 8 +- .../languages/JavascriptClientCodegen.java | 21 ++--- .../JavascriptFlowtypedClientCodegen.java | 2 +- .../codegen/languages/LuaClientCodegen.java | 41 +++++---- .../languages/NodeJSServerCodegen.java | 36 +++++--- .../codegen/languages/ObjcClientCodegen.java | 16 ++-- .../languages/PhpLaravelServerCodegen.java | 2 +- .../languages/PhpLumenServerCodegen.java | 8 +- .../languages/PhpSymfonyServerCodegen.java | 14 +--- ...endExpressivePathHandlerServerCodegen.java | 19 ++--- .../languages/PowerShellClientCodegen.java | 21 +++-- .../languages/PythonClientCodegen.java | 15 ++-- .../PythonFlaskConnexionServerCodegen.java | 20 ++--- .../codegen/languages/RClientCodegen.java | 6 +- .../codegen/languages/RubyClientCodegen.java | 23 ++--- .../languages/RubyOnRailsServerCodegen.java | 3 +- .../codegen/languages/RustClientCodegen.java | 18 ++-- .../codegen/languages/RustServerCodegen.java | 30 +++---- .../languages/ScalaGatlingCodegen.java | 35 +++++--- .../languages/ScalatraServerCodegen.java | 16 ++-- .../codegen/languages/SpringCodegen.java | 17 ++-- .../languages/StaticHtml2Generator.java | 8 +- .../languages/StaticHtmlGenerator.java | 5 +- .../codegen/languages/Swift3Codegen.java | 2 +- .../codegen/languages/Swift4Codegen.java | 2 +- .../codegen/languages/SwiftClientCodegen.java | 2 +- .../TypeScriptAngularClientCodegen.java | 6 +- .../TypeScriptAureliaClientCodegen.java | 10 ++- .../TypeScriptFetchClientCodegen.java | 3 +- .../TypeScriptInversifyClientCodegen.java | 4 +- .../TypeScriptJqueryClientCodegen.java | 3 +- .../TypeScriptNodeClientCodegen.java | 2 +- .../codegen/mustache/LowercaseLambda.java | 3 +- .../codegen/mustache/TitlecaseLambda.java | 3 +- .../codegen/mustache/UppercaseLambda.java | 3 +- .../src/main/resources/Java/JSON.mustache | 7 +- .../libraries/resteasy/ApiClient.mustache | 5 +- .../Java/libraries/resttemplate/api.mustache | 3 +- .../Java/libraries/retrofit2/JSON.mustache | 7 +- .../Java/libraries/webclient/api.mustache | 3 +- .../JavaPlayFramework/openapiUtils.mustache | 4 +- .../codegen/AbstractOptionsTest.java | 5 +- .../codegen/DefaultCodegenTest.java | 4 +- .../codegen/testutils/AssertFile.java | 7 +- pom.xml | 29 +++++++ .../openapitools/client/ApiClientTest.java | 2 +- .../openapitools/client/ApiClientTest.java | 2 +- .../openapitools/client/ApiClientTest.java | 2 +- .../java/org/openapitools/client/JSON.java | 9 +- .../java/org/openapitools/client/JSON.java | 9 +- .../org/openapitools/client/JSONTest.java | 9 +- .../java/org/openapitools/client/JSON.java | 9 +- .../org/openapitools/client/ApiClient.java | 5 +- .../client/api/AnotherFakeApi.java | 1 + .../org/openapitools/client/api/FakeApi.java | 3 +- .../client/api/FakeClassnameTags123Api.java | 1 + .../org/openapitools/client/api/PetApi.java | 5 +- .../org/openapitools/client/api/StoreApi.java | 1 + .../org/openapitools/client/api/UserApi.java | 1 + .../client/api/AnotherFakeApi.java | 1 + .../org/openapitools/client/api/FakeApi.java | 3 +- .../client/api/FakeClassnameTags123Api.java | 1 + .../org/openapitools/client/api/PetApi.java | 5 +- .../org/openapitools/client/api/StoreApi.java | 1 + .../org/openapitools/client/api/UserApi.java | 1 + .../openapitools/client/ApiClientTest.java | 2 +- .../java/org/openapitools/client/JSON.java | 9 +- .../java/org/openapitools/client/JSON.java | 9 +- .../java/org/openapitools/client/JSON.java | 9 +- .../client/api/AnotherFakeApi.java | 1 + .../org/openapitools/client/api/FakeApi.java | 3 +- .../client/api/FakeClassnameTags123Api.java | 1 + .../org/openapitools/client/api/PetApi.java | 5 +- .../org/openapitools/client/api/StoreApi.java | 1 + .../org/openapitools/client/api/UserApi.java | 1 + 126 files changed, 709 insertions(+), 546 deletions(-) diff --git a/CI/samples.ci/client/petstore/java/test-manual/jersey1/ApiClientTest.java b/CI/samples.ci/client/petstore/java/test-manual/jersey1/ApiClientTest.java index a890ead935f8..405267d4131f 100644 --- a/CI/samples.ci/client/petstore/java/test-manual/jersey1/ApiClientTest.java +++ b/CI/samples.ci/client/petstore/java/test-manual/jersey1/ApiClientTest.java @@ -28,7 +28,7 @@ public void testParseAndFormatDate() { assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T02:49:09.356-01:00"))); // custom date format: without milli-seconds, custom time zone - DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX"); + DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX", Locale.ROOT); format.setTimeZone(TimeZone.getTimeZone("GMT+10")); apiClient.setDateFormat(format); dateStr = "2015-11-07T13:49:09+10:00"; diff --git a/CI/samples.ci/client/petstore/java/test-manual/jersey2/ApiClientTest.java b/CI/samples.ci/client/petstore/java/test-manual/jersey2/ApiClientTest.java index 6fb1e54b679b..09659fb4700b 100644 --- a/CI/samples.ci/client/petstore/java/test-manual/jersey2/ApiClientTest.java +++ b/CI/samples.ci/client/petstore/java/test-manual/jersey2/ApiClientTest.java @@ -28,7 +28,7 @@ public void testParseAndFormatDate() { assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T02:49:09.356-01:00"))); // custom date format: without milli-seconds, custom time zone - DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX"); + DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX", Locale.ROOT); format.setTimeZone(TimeZone.getTimeZone("GMT+10")); apiClient.setDateFormat(format); dateStr = "2015-11-07T13:49:09+10:00"; diff --git a/CI/samples.ci/client/petstore/java/test-manual/okhttp-gson/JSONTest.java b/CI/samples.ci/client/petstore/java/test-manual/okhttp-gson/JSONTest.java index e7687d0b33b1..1c825e392562 100644 --- a/CI/samples.ci/client/petstore/java/test-manual/okhttp-gson/JSONTest.java +++ b/CI/samples.ci/client/petstore/java/test-manual/okhttp-gson/JSONTest.java @@ -12,6 +12,7 @@ import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; +import java.util.Locale; import java.util.TimeZone; import okio.ByteString; @@ -46,7 +47,7 @@ public void testSqlDateTypeAdapter() { assertEquals(json.deserialize("\"2015-11-07T03:49:09.356" + getCurrentTimezoneOffset() + "\"", java.sql.Date.class).toString(), date.toString()); // custom date format: without day - DateFormat format = new SimpleDateFormat("yyyy-MM"); + DateFormat format = new SimpleDateFormat("yyyy-MM", Locale.ROOT); apiClient.setSqlDateFormat(format); String dateStr = "\"2015-11\""; assertEquals(dateStr, json.serialize(json.deserialize("\"2015-11-07T03:49:09Z\"", java.sql.Date.class))); @@ -79,7 +80,7 @@ public void testDateTypeAdapter() { assertEquals(utcDate, json.serialize(date)); // custom datetime format: without milli-seconds, custom time zone - DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX"); + DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX", Locale.ROOT); format.setTimeZone(TimeZone.getTimeZone("GMT+10")); apiClient.setDateFormat(format); @@ -190,10 +191,10 @@ public void testByteArrayTypeAdapterDeserialization() { public static String getCurrentTimezoneOffset() { TimeZone tz = TimeZone.getDefault(); - Calendar cal = GregorianCalendar.getInstance(tz); + Calendar cal = GregorianCalendar.getInstance(tz, Locale.ROOT); int offsetInMillis = tz.getOffset(cal.getTimeInMillis()); - String offset = String.format("%02d:%02d", Math.abs(offsetInMillis / 3600000), Math.abs((offsetInMillis / 60000) % 60)); + String offset = String.format(Locale.ROOT,"%02d:%02d", Math.abs(offsetInMillis / 3600000), Math.abs((offsetInMillis / 60000) % 60)); offset = (offsetInMillis >= 0 ? "+" : "-") + offset; return offset; diff --git a/CI/samples.ci/client/petstore/java/test-manual/resttemplate/ApiClientTest.java b/CI/samples.ci/client/petstore/java/test-manual/resttemplate/ApiClientTest.java index 2113f5d24535..a6bedae3e959 100644 --- a/CI/samples.ci/client/petstore/java/test-manual/resttemplate/ApiClientTest.java +++ b/CI/samples.ci/client/petstore/java/test-manual/resttemplate/ApiClientTest.java @@ -34,7 +34,7 @@ public void testParseAndFormatDate() { assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T02:49:09.356-01:00"))); // custom date format: without milli-seconds, custom time zone - DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX"); + DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX", Locale.ROOT); format.setTimeZone(TimeZone.getTimeZone("GMT+10")); apiClient.setDateFormat(format); dateStr = "2015-11-07T13:49:09+10:00"; diff --git a/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/OpenAPIGenerator.java b/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/OpenAPIGenerator.java index 305bb9a41196..002c17b1e179 100644 --- a/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/OpenAPIGenerator.java +++ b/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/OpenAPIGenerator.java @@ -24,6 +24,8 @@ import io.airlift.airline.ParseOptionMissingValueException; import org.openapitools.codegen.cmd.*; +import java.util.Locale; + /** * User: lanwen Date: 24.03.15 Time: 17:56 *

@@ -40,6 +42,7 @@ public static void main(String[] args) { Cli.builder("openapi-generator-cli") .withDescription( String.format( + Locale.ROOT, "OpenAPI generator CLI (version %s).", version)) .withDefaultCommand(ListGenerators.class) @@ -69,10 +72,10 @@ public static void main(String[] args) { System.exit(1); } } catch (ParseArgumentsUnexpectedException e) { - System.err.printf("[error] %s%n%nSee 'openapi-generator-cli help' for usage.%n", e.getMessage()); + System.err.printf(Locale.ROOT,"[error] %s%n%nSee 'openapi-generator-cli help' for usage.%n", e.getMessage()); System.exit(1); } catch (ParseOptionMissingException | ParseOptionMissingValueException e) { - System.err.printf("[error] %s%n", e.getMessage()); + System.err.printf(Locale.ROOT,"[error] %s%n", e.getMessage()); System.exit(1); } } diff --git a/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Langs.java b/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Langs.java index b25069885048..f7f025a3e7e3 100644 --- a/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Langs.java +++ b/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Langs.java @@ -21,6 +21,8 @@ import io.airlift.airline.Command; import org.openapitools.codegen.CodegenConfig; +import java.util.Locale; + import static ch.lambdaj.Lambda.on; import static ch.lambdaj.collection.LambdaCollections.with; import static java.util.ServiceLoader.load; @@ -34,6 +36,6 @@ public class Langs implements Runnable { public void run() { LambdaIterable langs = with(load(CodegenConfig.class)).extract(on(CodegenConfig.class).getName()); - System.out.printf("Available languages (generators): %s%n", langs); + System.out.printf(Locale.ROOT, "Available languages (generators): %s%n", langs); } } diff --git a/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/ListGenerators.java b/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/ListGenerators.java index 8add50af445f..edd85ff79af0 100644 --- a/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/ListGenerators.java +++ b/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/ListGenerators.java @@ -9,6 +9,7 @@ import java.util.Arrays; import java.util.Comparator; import java.util.List; +import java.util.Locale; // NOTE: List can later have subcommands such as list languages, list types, list frameworks, etc. @Command(name = "list", description = "Lists the available generators") @@ -53,6 +54,6 @@ public void run() { } } - System.out.printf("%s%n", sb.toString()); + System.out.printf(Locale.ROOT,"%s%n", sb.toString()); } } diff --git a/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/service/Generator.java b/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/service/Generator.java index 9bef912f138f..90d6db132d75 100644 --- a/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/service/Generator.java +++ b/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/service/Generator.java @@ -19,11 +19,16 @@ import com.fasterxml.jackson.databind.JsonNode; import io.swagger.parser.OpenAPIParser; +import io.swagger.v3.core.util.Json; import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.parser.core.models.ParseOptions; -import org.openapitools.codegen.*; import io.swagger.v3.parser.core.models.AuthorizationValue; -import io.swagger.v3.core.util.Json; +import io.swagger.v3.parser.core.models.ParseOptions; +import org.openapitools.codegen.CliOption; +import org.openapitools.codegen.ClientOptInput; +import org.openapitools.codegen.ClientOpts; +import org.openapitools.codegen.CodegenConfig; +import org.openapitools.codegen.CodegenConfigLoader; +import org.openapitools.codegen.DefaultGenerator; import org.openapitools.codegen.online.model.GeneratorInput; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -34,6 +39,7 @@ import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; +import java.util.Locale; import java.util.Map; public class Generator { @@ -44,7 +50,7 @@ public static Map getOptions(String language) { try { config = CodegenConfigLoader.forName(language); } catch (Exception e) { - throw new ResponseStatusException(HttpStatus.BAD_REQUEST, String.format("Unsupported target %s supplied. %s", + throw new ResponseStatusException(HttpStatus.BAD_REQUEST, String.format(Locale.ROOT,"Unsupported target %s supplied. %s", language, e)); } Map map = new LinkedHashMap<>(); @@ -77,7 +83,7 @@ public static String generateServer(String language, GeneratorInput opts) { } private static String generate(String language, GeneratorInput opts, Type type) { - LOGGER.debug(String.format("generate %s for %s", type.getTypeName(), language)); + LOGGER.debug(String.format(Locale.ROOT,"generate %s for %s", type.getTypeName(), language)); if (opts == null) { throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "No options were supplied"); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java index 279d796f05fd..80ff121c3615 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java @@ -22,6 +22,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Objects; import java.util.Set; @@ -76,7 +77,7 @@ public class CodegenModel { @Override public String toString() { - return String.format("%s(%s)", name, classname); + return String.format(Locale.ROOT, "%s(%s)", name, classname); } @Override diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java index 0e7e96d1b546..1e66e45edef4 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java @@ -25,6 +25,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Set; @@ -196,7 +197,7 @@ public boolean isRestfulCreate() { * @return true if act as Restful update method, false otherwise */ public boolean isRestfulUpdate() { - return Arrays.asList("PUT", "PATCH").contains(httpMethod.toUpperCase()) && isMemberPath(); + return Arrays.asList("PUT", "PATCH").contains(httpMethod.toUpperCase(Locale.ROOT)) && isMemberPath(); } /** @@ -205,7 +206,7 @@ public boolean isRestfulUpdate() { * @return true request method is PUT, PATCH or POST; false otherwise */ public boolean isBodyAllowed() { - return Arrays.asList("PUT", "PATCH", "POST").contains(httpMethod.toUpperCase()); + return Arrays.asList("PUT", "PATCH", "POST").contains(httpMethod.toUpperCase(Locale.ROOT)); } /** @@ -232,7 +233,7 @@ public boolean isRestful() { * @return the substring */ private String pathWithoutBaseName() { - return baseName != null ? path.replace("/" + baseName.toLowerCase(), "") : path; + return baseName != null ? path.replace("/" + baseName.toLowerCase(Locale.ROOT), "") : path; } /** @@ -248,7 +249,7 @@ private boolean isMemberPath() { @Override public String toString() { - return String.format("%s(%s)", baseName, path); + return String.format(Locale.ROOT, "%s(%s)", baseName, path); } @Override diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenResponse.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenResponse.java index 020f1ccbe305..aebc0aa9dbcb 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenResponse.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenResponse.java @@ -20,6 +20,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; public class CodegenResponse { @@ -47,7 +48,7 @@ public boolean isWildcard() { @Override public String toString() { - return String.format("%s(%s)", code, containerType); + return String.format(Locale.ROOT, "%s(%s)", code, containerType); } @Override diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenSecurity.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenSecurity.java index d028ebf37751..3f267a53045b 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenSecurity.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenSecurity.java @@ -21,6 +21,7 @@ import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; public class CodegenSecurity { @@ -38,7 +39,7 @@ public class CodegenSecurity { @Override public String toString() { - return String.format("%s(%s)", name, type); + return String.format(Locale.ROOT, "%s(%s)", name, type); } @Override diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenType.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenType.java index bb763889532a..958fabc2b85f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenType.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenType.java @@ -21,6 +21,7 @@ import com.fasterxml.jackson.annotation.JsonValue; import java.util.HashMap; +import java.util.Locale; import java.util.Map; public enum CodegenType { @@ -30,7 +31,7 @@ public enum CodegenType { @JsonCreator public static CodegenType forValue(String value) { - return names.get(value.toLowerCase()); + return names.get(value.toLowerCase(Locale.ROOT)); } @JsonValue @@ -50,4 +51,4 @@ public String toValue() { names.put("documentation", DOCUMENTATION); names.put("other", OTHER); } -} \ No newline at end of file +} diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index 29b64bbe74c0..65da7082717b 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -68,6 +68,7 @@ import java.util.LinkedHashMap; import java.util.LinkedList; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Map.Entry; import java.util.Set; @@ -357,7 +358,7 @@ public String toEnumVarName(String value, String datatype) { return "EMPTY"; } - String var = value.replaceAll("\\W+", "_").toUpperCase(); + String var = value.replaceAll("\\W+", "_").toUpperCase(Locale.ROOT); if (var.matches("\\d.*")) { return "_" + var; } else { @@ -2445,7 +2446,7 @@ public CodegenOperation fromOperation(String path, } op.bodyParam = bodyParam; - op.httpMethod = httpMethod.toUpperCase(); + op.httpMethod = httpMethod.toUpperCase(Locale.ROOT); // move "required" parameters in front of "optional" parameters if (sortParamsByRequiredFlag) { @@ -2898,7 +2899,7 @@ protected String getParameterDataType(Parameter parameter, Schema schema) { // TODO revise below as it should be replaced by ModelUtils.isByteArraySchema(parameterSchema) public boolean isDataTypeBinary(String dataType) { if (dataType != null) { - return dataType.toLowerCase().startsWith("byte"); + return dataType.toLowerCase(Locale.ROOT).startsWith("byte"); } else { return false; } @@ -2907,7 +2908,7 @@ public boolean isDataTypeBinary(String dataType) { // TODO revise below as it should be replaced by ModelUtils.isFileSchema(parameterSchema) public boolean isDataTypeFile(String dataType) { if (dataType != null) { - return dataType.toLowerCase().equals("file"); + return dataType.toLowerCase(Locale.ROOT).equals("file"); } else { return false; } @@ -2995,12 +2996,12 @@ public int compare(CodegenSecurity one, CodegenSecurity another) { protected void setReservedWordsLowerCase(List words) { reservedWords = new HashSet(); for (String word : words) { - reservedWords.add(word.toLowerCase()); + reservedWords.add(word.toLowerCase(Locale.ROOT)); } } protected boolean isReservedWord(String word) { - return word != null && reservedWords.contains(word.toLowerCase()); + return word != null && reservedWords.contains(word.toLowerCase(Locale.ROOT)); } /** @@ -3126,7 +3127,7 @@ public void addOperationToGroup(String tag, String resourcePath, Operation opera LOGGER.warn("generated unique operationId `" + uniqueName + "`"); } co.operationId = uniqueName; - co.operationIdLowerCase = uniqueName.toLowerCase(); + co.operationIdLowerCase = uniqueName.toLowerCase(Locale.ROOT); co.operationIdCamelCase = DefaultCodegen.camelize(uniqueName); co.operationIdSnakeCase = DefaultCodegen.underscore(uniqueName); opList.add(co); @@ -3172,7 +3173,7 @@ public static String underscore(String word) { word = word.replace('-', '_'); // replace space with underscore word = word.replace(' ', '_'); - word = word.toLowerCase(); + word = word.toLowerCase(Locale.ROOT); return word; } @@ -3336,7 +3337,7 @@ private void addVars(CodegenModel m, List vars, Map getAllAliases(Map schemas) { + static Map getAllAliases(Map schemas) { if (schemas == null || schemas.isEmpty()) { return new HashMap<>(); } @@ -3379,7 +3380,7 @@ protected String removeNonNameElementToCamelCase(final String name, final String .map(StringUtils::capitalize) .collect(Collectors.joining("")); if (result.length() > 0) { - result = result.substring(0, 1).toLowerCase() + result.substring(1); + result = result.substring(0, 1).toLowerCase(Locale.ROOT) + result.substring(1); } return result; } @@ -3408,7 +3409,7 @@ public static String camelize(String word, boolean lowercaseFirstLetter) { Pattern p = Pattern.compile("\\/(.?)"); Matcher m = p.matcher(word); while (m.find()) { - word = m.replaceFirst("." + m.group(1)/*.toUpperCase()*/); // FIXME: a parameter should not be assigned. Also declare the methods parameters as 'final'. + word = m.replaceFirst("." + m.group(1)/*.toUpperCase(Locale.ROOT)*/); // FIXME: a parameter should not be assigned. Also declare the methods parameters as 'final'. m = p.matcher(word); } @@ -3424,7 +3425,7 @@ public static String camelize(String word, boolean lowercaseFirstLetter) { m = p.matcher(word); while (m.find()) { - word = m.replaceFirst("" + Character.toUpperCase(m.group(1).charAt(0)) + m.group(1).substring(1)/*.toUpperCase()*/); + word = m.replaceFirst("" + Character.toUpperCase(m.group(1).charAt(0)) + m.group(1).substring(1)/*.toUpperCase(Locale.ROOT)*/); m = p.matcher(word); } @@ -3432,7 +3433,7 @@ public static String camelize(String word, boolean lowercaseFirstLetter) { p = Pattern.compile("(\\.?)(\\w)([^\\.]*)$"); m = p.matcher(word); if (m.find()) { - String rep = m.group(1) + m.group(2).toUpperCase() + m.group(3); + String rep = m.group(1) + m.group(2).toUpperCase(Locale.ROOT) + m.group(3); rep = rep.replaceAll("\\$", "\\\\\\$"); word = m.replaceAll(rep); } @@ -3442,7 +3443,7 @@ public static String camelize(String word, boolean lowercaseFirstLetter) { m = p.matcher(word); while (m.find()) { String original = m.group(2); - String upperCase = original.toUpperCase(); + String upperCase = original.toUpperCase(Locale.ROOT); if (original.equals(upperCase)) { word = word.replaceFirst("_", ""); } else { @@ -3455,7 +3456,7 @@ public static String camelize(String word, boolean lowercaseFirstLetter) { p = Pattern.compile("(-)(.)"); m = p.matcher(word); while (m.find()) { - word = m.replaceFirst(m.group(2).toUpperCase()); + word = m.replaceFirst(m.group(2).toUpperCase(Locale.ROOT)); m = p.matcher(word); } @@ -3467,7 +3468,7 @@ public static String camelize(String word, boolean lowercaseFirstLetter) { charAt = word.charAt(i); } i = i + 1; - word = word.substring(0, i).toLowerCase() + word.substring(i); + word = word.substring(0, i).toLowerCase(Locale.ROOT) + word.substring(i); } // remove all underscore diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/auth/AuthParser.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/auth/AuthParser.java index 102b535cafd7..798d9c1e03f7 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/auth/AuthParser.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/auth/AuthParser.java @@ -21,6 +21,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; import java.util.ArrayList; @@ -39,8 +40,11 @@ public static List parse(String urlEncodedAuthStr) { for (String part : parts) { String[] kvPair = part.split(":"); if (kvPair.length == 2) { - // FIXME replace the deprecated method by decode(string, encoding). Which encoding is used ? Default UTF-8 ? - auths.add(new AuthorizationValue(URLDecoder.decode(kvPair[0]), URLDecoder.decode(kvPair[1]), "header")); + try { + auths.add(new AuthorizationValue(URLDecoder.decode(kvPair[0], "UTF-8"), URLDecoder.decode(kvPair[1], "UTF-8"), "header")); + } catch (UnsupportedEncodingException e) { + LOGGER.warn(e.getMessage()); + } } } } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfigurator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfigurator.java index 8ec858f2bfb6..a1993a6d967d 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfigurator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfigurator.java @@ -19,16 +19,33 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; -import io.swagger.v3.oas.models.OpenAPI; -import org.openapitools.codegen.*; -import org.openapitools.codegen.auth.AuthParser; import io.swagger.parser.OpenAPIParser; import io.swagger.v3.core.util.Json; +import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.parser.core.models.AuthorizationValue; import io.swagger.v3.parser.core.models.ParseOptions; import io.swagger.v3.parser.core.models.SwaggerParseResult; import org.apache.commons.lang3.Validate; -import org.openapitools.codegen.languages.*; +import org.openapitools.codegen.CliOption; +import org.openapitools.codegen.ClientOptInput; +import org.openapitools.codegen.ClientOpts; +import org.openapitools.codegen.CodegenConfig; +import org.openapitools.codegen.CodegenConfigLoader; +import org.openapitools.codegen.CodegenConstants; +import org.openapitools.codegen.SpecValidationException; +import org.openapitools.codegen.auth.AuthParser; +import org.openapitools.codegen.languages.CSharpNancyFXServerCodegen; +import org.openapitools.codegen.languages.CppQt5ClientCodegen; +import org.openapitools.codegen.languages.CppRestSdkClientCodegen; +import org.openapitools.codegen.languages.CppTizenClientCodegen; +import org.openapitools.codegen.languages.JavaJerseyServerCodegen; +import org.openapitools.codegen.languages.PhpLumenServerCodegen; +import org.openapitools.codegen.languages.PhpSlimServerCodegen; +import org.openapitools.codegen.languages.PhpZendExpressivePathHandlerServerCodegen; +import org.openapitools.codegen.languages.RubySinatraServerCodegen; +import org.openapitools.codegen.languages.ScalaAkkaClientCodegen; +import org.openapitools.codegen.languages.ScalaHttpClientCodegen; +import org.openapitools.codegen.languages.SwiftClientCodegen; import org.openapitools.codegen.utils.ModelUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,6 +57,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Set; @@ -139,7 +157,7 @@ public CodegenConfigurator setLang(String lang) { public CodegenConfigurator setGeneratorName(final String generatorName) { if (nameMigrationMap.containsKey(generatorName)) { String newValue = nameMigrationMap.get(generatorName); - LOGGER.warn(String.format("The name '%s' is a deprecated. Please update to the new name of '%s'.", generatorName, newValue)); + LOGGER.warn(String.format(Locale.ROOT, "The name '%s' is a deprecated. Please update to the new name of '%s'.", generatorName, newValue)); this.generatorName = newValue; } else { this.generatorName = generatorName; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/ignore/CodegenIgnoreProcessor.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/ignore/CodegenIgnoreProcessor.java index e29da72cfcac..fe7991a554f4 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/ignore/CodegenIgnoreProcessor.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/ignore/CodegenIgnoreProcessor.java @@ -25,9 +25,11 @@ import org.slf4j.LoggerFactory; import java.io.*; +import java.nio.charset.Charset; import java.util.ArrayList; import java.util.Collection; import java.util.List; +import java.util.Locale; /** * Presents a processing utility for parsing and evaluating files containing common ignore patterns. (.openapi-generator-ignore) @@ -82,30 +84,30 @@ private void loadFromFile(File targetIgnoreFile) { loadCodegenRules(targetIgnoreFile); this.ignoreFile = targetIgnoreFile; } catch (IOException e) { - LOGGER.error(String.format("Could not process %s.", targetIgnoreFile.getName()), e.getMessage()); + LOGGER.error(String.format(Locale.ROOT, "Could not process %s.", targetIgnoreFile.getName()), e.getMessage()); } } else if (!".swagger-codegen-ignore".equals(targetIgnoreFile.getName())) { final File legacyIgnoreFile = new File(targetIgnoreFile.getParentFile(), ".swagger-codegen-ignore"); if (legacyIgnoreFile.exists() && legacyIgnoreFile.isFile()) { - LOGGER.info(String.format("Legacy support: '%s' file renamed to '%s'.", legacyIgnoreFile.getName(), targetIgnoreFile.getName())); + LOGGER.info(String.format(Locale.ROOT, "Legacy support: '%s' file renamed to '%s'.", legacyIgnoreFile.getName(), targetIgnoreFile.getName())); try { Files.move(legacyIgnoreFile, targetIgnoreFile); loadFromFile(targetIgnoreFile); } catch (IOException e) { - LOGGER.error(String.format("Could not rename file: %s", e.getMessage())); + LOGGER.error(String.format(Locale.ROOT, "Could not rename file: %s", e.getMessage())); } } else { // log info message - LOGGER.info(String.format("No %s file found.", targetIgnoreFile.getName())); + LOGGER.info(String.format(Locale.ROOT, "No %s file found.", targetIgnoreFile.getName())); } } else { // log info message - LOGGER.info(String.format("No %s file found.", targetIgnoreFile.getName())); + LOGGER.info(String.format(Locale.ROOT, "No %s file found.", targetIgnoreFile.getName())); } } void loadCodegenRules(final File codegenIgnore) throws IOException { - try (BufferedReader reader = new BufferedReader(new FileReader(codegenIgnore))) { + try (BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(codegenIgnore), Charset.forName("UTF-8")))) { String line; // NOTE: Comments that start with a : (e.g. //:) are pulled from git documentation for .gitignore diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/ignore/rules/Rule.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/ignore/rules/Rule.java index a2355dfaa647..079ac3c7a1a2 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/ignore/rules/Rule.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/ignore/rules/Rule.java @@ -183,7 +183,6 @@ public static Rule create(String definition) { } } catch (ParserException e) { - e.printStackTrace(); return new InvalidRule(null, definition, e.getMessage()); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractAdaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractAdaCodegen.java index 17590e57b43d..d15b57315da7 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractAdaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractAdaCodegen.java @@ -19,13 +19,11 @@ import com.samskivert.mustache.Escapers; import com.samskivert.mustache.Mustache; - import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.Operation; import io.swagger.v3.oas.models.media.ArraySchema; import io.swagger.v3.oas.models.media.Schema; import io.swagger.v3.oas.models.responses.ApiResponse; - import org.openapitools.codegen.CodegenConfig; import org.openapitools.codegen.CodegenConstants; import org.openapitools.codegen.CodegenModel; @@ -43,6 +41,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Map; abstract public class AbstractAdaCodegen extends DefaultCodegen implements CodegenConfig { @@ -180,7 +179,7 @@ public AbstractAdaCodegen() { } public String toFilename(String name) { - return name.replace(".", "-").toLowerCase(); + return name.replace(".", "-").toLowerCase(Locale.ROOT); } /** @@ -391,7 +390,7 @@ protected int postProcessMediaTypes(List> types) { String mt = media.get("mediaType"); if (mt != null) { mt = mt.replace('/', '_'); - media.put("adaMediaType", mt.toUpperCase()); + media.put("adaMediaType", mt.toUpperCase(Locale.ROOT)); count++; } } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractApexCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractApexCodegen.java index f784110c357c..3968eaaca51b 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractApexCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractApexCodegen.java @@ -90,7 +90,7 @@ public String toVarName(String name) { // sanitize name name = sanitizeName(name); // FIXME: a parameter should not be assigned. Also declare the methods parameters as 'final'. - if (name.toLowerCase().matches("^_*class$")) { + if (name.toLowerCase(Locale.ROOT).matches("^_*class$")) { return "propertyClass"; } @@ -107,7 +107,7 @@ public String toVarName(String name) { } if (startsWithTwoUppercaseLetters(name)) { - name = name.substring(0, 2).toLowerCase() + name.substring(2); + name = name.substring(0, 2).toLowerCase(Locale.ROOT) + name.substring(2); } // camelize (lower first character) the variable name @@ -125,7 +125,7 @@ public String toVarName(String name) { private boolean startsWithTwoUppercaseLetters(String name) { boolean startsWithTwoUppercaseLetters = false; if (name.length() > 1) { - startsWithTwoUppercaseLetters = name.substring(0, 2).equals(name.substring(0, 2).toUpperCase()); + startsWithTwoUppercaseLetters = name.substring(0, 2).equals(name.substring(0, 2).toUpperCase(Locale.ROOT)); } return startsWithTwoUppercaseLetters; } @@ -225,7 +225,7 @@ public String toDefaultValue(Schema p) { return null; } - return String.format(pattern, getTypeDeclaration(ap.getItems())); + return String.format(Locale.ROOT, pattern, getTypeDeclaration(ap.getItems())); } else if (ModelUtils.isMapSchema(p)) { final MapSchema ap = (MapSchema) p; final String pattern = "new HashMap<%s>()"; @@ -233,7 +233,7 @@ public String toDefaultValue(Schema p) { return null; } - return String.format(pattern, String.format("String, %s", getTypeDeclaration(ModelUtils.getAdditionalProperties(ap)))); + return String.format(Locale.ROOT, pattern, String.format(Locale.ROOT, "String, %s", getTypeDeclaration(ModelUtils.getAdditionalProperties(ap)))); } else if (ModelUtils.isLongSchema(p)) { if (p.getDefault() != null) { return p.getDefault().toString() + "l"; @@ -297,7 +297,7 @@ public void setParameterExampleValue(CodegenParameter p) { p.example = "'" + p.example + "'"; } else if ("".equals(p.example) || p.example == null && p.dataType != "Object") { // Get an example object from the generated model - if (!isReservedWord(p.dataType.toLowerCase())) { + if (!isReservedWord(p.dataType.toLowerCase(Locale.ROOT))) { p.example = p.dataType + ".getExample()"; } } else { @@ -332,7 +332,7 @@ public String toExampleValue(Schema p) { } else if (example.isEmpty()) { example = "2000, 1, 23"; } else { - LOGGER.warn(String.format("The example provided for property '%s' is not a valid RFC3339 date. Defaulting to '2000-01-23'. [%s]", p + LOGGER.warn(String.format(Locale.ROOT, "The example provided for property '%s' is not a valid RFC3339 date. Defaulting to '2000-01-23'. [%s]", p .getName(), example)); example = "2000, 1, 23"; } @@ -343,7 +343,7 @@ public String toExampleValue(Schema p) { } else if (example.isEmpty()) { example = "2000, 1, 23, 4, 56, 7"; } else { - LOGGER.warn(String.format("The example provided for property '%s' is not a valid RFC3339 datetime. Defaulting to '2000-01-23T04-56-07Z'. [%s]", p + LOGGER.warn(String.format(Locale.ROOT, "The example provided for property '%s' is not a valid RFC3339 datetime. Defaulting to '2000-01-23T04-56-07Z'. [%s]", p .getName(), example)); example = "2000, 1, 23, 4, 56, 7"; } @@ -526,7 +526,7 @@ public String toEnumVarName(String value, String datatype) { // for symbol, e.g. $, # if (getSymbolName(value) != null) { - return getSymbolName(value).toUpperCase(); + return getSymbolName(value).toUpperCase(Locale.ROOT); } // number @@ -540,7 +540,7 @@ public String toEnumVarName(String value, String datatype) { } // string - String var = value.replaceAll("\\W+", "_").toUpperCase(); + String var = value.replaceAll("\\W+", "_").toUpperCase(Locale.ROOT); if (var.matches("\\d.*")) { return "_" + var; } else { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java index 844efb2d9e88..92c9f5360686 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java @@ -234,7 +234,7 @@ public void processOpts() { } if (additionalProperties.containsKey(CodegenConstants.INVOKER_PACKAGE)) { - LOGGER.warn(String.format("%s is not used by C# generators. Please use %s", + LOGGER.warn(String.format(Locale.ROOT, "%s is not used by C# generators. Please use %s", CodegenConstants.INVOKER_PACKAGE, CodegenConstants.PACKAGE_NAME)); } @@ -313,9 +313,9 @@ public void processOpts() { if (additionalProperties.containsKey(CodegenConstants.INTERFACE_PREFIX)) { String useInterfacePrefix = additionalProperties.get(CodegenConstants.INTERFACE_PREFIX).toString(); - if ("false".equals(useInterfacePrefix.toLowerCase())) { + if ("false".equals(useInterfacePrefix.toLowerCase(Locale.ROOT))) { setInterfacePrefix(""); - } else if (!"true".equals(useInterfacePrefix.toLowerCase())) { + } else if (!"true".equals(useInterfacePrefix.toLowerCase(Locale.ROOT))) { // NOTE: if user passes "true" explicitly, we use the default I- prefix. The other supported case here is a custom prefix. setInterfacePrefix(sanitizeName(useInterfacePrefix)); } @@ -768,8 +768,8 @@ public String getSchemaType(Schema p) { // NOTE: typeMapping here supports things like string/String, long/Long, datetime/DateTime as lowercase keys. // Should we require explicit casing here (values are not insensitive). // TODO avoid using toLowerCase as typeMapping should be case-sensitive - if (typeMapping.containsKey(openAPIType.toLowerCase())) { - type = typeMapping.get(openAPIType.toLowerCase()); + if (typeMapping.containsKey(openAPIType.toLowerCase(Locale.ROOT))) { + type = typeMapping.get(openAPIType.toLowerCase(Locale.ROOT)); if (languageSpecificPrimitives.contains(type)) { return type; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractEiffelCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractEiffelCodegen.java index 15c3981ecd18..116a27d1cacf 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractEiffelCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractEiffelCodegen.java @@ -17,15 +17,11 @@ package org.openapitools.codegen.languages; -import static com.google.common.base.Strings.isNullOrEmpty; - import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap; - import io.swagger.v3.core.util.Json; import io.swagger.v3.oas.models.media.ArraySchema; import io.swagger.v3.oas.models.media.Schema; - import org.apache.commons.lang3.StringUtils; import org.openapitools.codegen.CliOption; import org.openapitools.codegen.CodegenConfig; @@ -46,9 +42,12 @@ import java.util.Iterator; import java.util.List; import java.util.ListIterator; +import java.util.Locale; import java.util.Map; import java.util.Set; +import static com.google.common.base.Strings.isNullOrEmpty; + public abstract class AbstractEiffelCodegen extends DefaultCodegen implements CodegenConfig { private static final Logger LOGGER = LoggerFactory.getLogger(AbstractEiffelCodegen.class); @@ -169,13 +168,13 @@ public String toVarName(String name) { @Override public String toParamName(String name) { // params should be lowercase. E.g. "person: PERSON" - return toVarName(name).toLowerCase(); + return toVarName(name).toLowerCase(Locale.ROOT); } @Override public String toModelName(String name) { // phone_number => PHONE_NUMBER - return toModelFilename(name).toUpperCase(); + return toModelFilename(name).toUpperCase(Locale.ROOT); } @Override @@ -221,7 +220,7 @@ public String toApiFilename(String name) { @Override public String toApiTestFilename(String name) { - return toApiName(name).toLowerCase() + "_test"; + return toApiName(name).toLowerCase(Locale.ROOT) + "_test"; } @Override @@ -229,7 +228,7 @@ public String toApiName(String name) { if (name.length() == 0) { return "DEFAULT_API"; } - return name.toUpperCase() + "_API"; + return name.toUpperCase(Locale.ROOT) + "_API"; } /** @@ -269,7 +268,7 @@ public void postProcessModelProperty(CodegenModel model, CodegenProperty propert } } if (!isNullOrEmpty(model.parentSchema)) { - model.parentSchema = model.parentSchema.toLowerCase(); + model.parentSchema = model.parentSchema.toLowerCase(Locale.ROOT); } } @@ -352,7 +351,7 @@ public Map postProcessOperationsWithModels(Map o for (CodegenOperation operation : operations) { // http method verb conversion (e.g. PUT => Put) - operation.httpMethod = camelize(operation.httpMethod.toLowerCase()); + operation.httpMethod = camelize(operation.httpMethod.toLowerCase(Locale.ROOT)); } // remove model imports to avoid error @@ -575,7 +574,7 @@ public String toInstantiationType(Schema p) { } public String unCamelize(String name) { - return name.replaceAll("(.)(\\p{Upper})", "$1_$2").toLowerCase(); + return name.replaceAll("(.)(\\p{Upper})", "$1_$2").toLowerCase(Locale.ROOT); } public String toEiffelFeatureStyle(String operationId) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGoCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGoCodegen.java index 9608b46ad68b..e6d60a99df24 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGoCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractGoCodegen.java @@ -17,22 +17,16 @@ package org.openapitools.codegen.languages; +import io.swagger.v3.oas.models.media.ArraySchema; +import io.swagger.v3.oas.models.media.Schema; +import org.apache.commons.lang3.StringUtils; import org.openapitools.codegen.*; import org.openapitools.codegen.utils.ModelUtils; -import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.Operation; -import io.swagger.v3.oas.models.media.*; -import io.swagger.v3.core.util.Yaml; - -import java.util.*; - -import org.apache.commons.lang3.StringUtils; - -import com.fasterxml.jackson.core.JsonProcessingException; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.*; + public abstract class AbstractGoCodegen extends DefaultCodegen implements CodegenConfig { private static final Logger LOGGER = LoggerFactory.getLogger(AbstractGoCodegen.class); @@ -335,7 +329,7 @@ public Map postProcessOperationsWithModels(Map o List operations = (List) objectMap.get("operation"); for (CodegenOperation operation : operations) { // http method verb conversion (e.g. PUT => Put) - operation.httpMethod = camelize(operation.httpMethod.toLowerCase()); + operation.httpMethod = camelize(operation.httpMethod.toLowerCase(Locale.ROOT)); } // remove model imports to avoid error @@ -389,7 +383,7 @@ public Map postProcessOperationsWithModels(Map o } else { // Map optional type to dataType param.vendorExtensions.put("x-optionalDataType", - param.dataType.substring(0, 1).toUpperCase() + param.dataType.substring(1)); + param.dataType.substring(0, 1).toUpperCase(Locale.ROOT) + param.dataType.substring(1)); } } @@ -562,11 +556,11 @@ public String toEnumVarName(String name, String datatype) { // for symbol, e.g. $, # if (getSymbolName(name) != null) { - return getSymbolName(name).toUpperCase(); + return getSymbolName(name).toUpperCase(Locale.ROOT); } // string - String enumName = sanitizeName(underscore(name).toUpperCase()); + String enumName = sanitizeName(underscore(name).toUpperCase(Locale.ROOT)); enumName = enumName.replaceFirst("^_", ""); enumName = enumName.replaceFirst("_$", ""); @@ -581,7 +575,7 @@ public String toEnumVarName(String name, String datatype) { @Override public String toEnumName(CodegenProperty property) { - String enumName = underscore(toModelName(property.name)).toUpperCase(); + String enumName = underscore(toModelName(property.name)).toUpperCase(Locale.ROOT); // remove [] for array or map of enum enumName = enumName.replace("[]", ""); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java index 3a10522c7695..eb0d56a94704 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java @@ -49,6 +49,7 @@ import java.util.Iterator; import java.util.List; import java.util.ListIterator; +import java.util.Locale; import java.util.Map; import java.util.regex.Pattern; @@ -564,7 +565,7 @@ public String toVarName(String name) { // sanitize name name = sanitizeName(name, "\\W-[\\$]"); // FIXME: a parameter should not be assigned. Also declare the methods parameters as 'final'. - if (name.toLowerCase().matches("^_*class$")) { + if (name.toLowerCase(Locale.ROOT).matches("^_*class$")) { return "propertyClass"; } @@ -578,7 +579,7 @@ public String toVarName(String name) { } if (startsWithTwoUppercaseLetters(name)) { - name = name.substring(0, 2).toLowerCase() + name.substring(2); + name = name.substring(0, 2).toLowerCase(Locale.ROOT) + name.substring(2); } // If name contains special chars -> replace them. @@ -604,7 +605,7 @@ public String toVarName(String name) { private boolean startsWithTwoUppercaseLetters(String name) { boolean startsWithTwoUppercaseLetters = false; if (name.length() > 1) { - startsWithTwoUppercaseLetters = name.substring(0, 2).equals(name.substring(0, 2).toUpperCase()); + startsWithTwoUppercaseLetters = name.substring(0, 2).equals(name.substring(0, 2).toUpperCase(Locale.ROOT)); } return startsWithTwoUppercaseLetters; } @@ -720,7 +721,7 @@ public String toDefaultValue(Schema p) { } } - return String.format(pattern, typeDeclaration); + return String.format(Locale.ROOT, pattern, typeDeclaration); } else if (ModelUtils.isMapSchema(p)) { final String pattern; if (fullJavaUtil) { @@ -732,7 +733,7 @@ public String toDefaultValue(Schema p) { return null; } - String typeDeclaration = String.format("String, %s", getTypeDeclaration(ModelUtils.getAdditionalProperties(p))); + String typeDeclaration = String.format(Locale.ROOT, "String, %s", getTypeDeclaration(ModelUtils.getAdditionalProperties(p))); Object java8obj = additionalProperties.get("java8"); if (java8obj != null) { Boolean java8 = Boolean.valueOf(java8obj.toString()); @@ -741,7 +742,7 @@ public String toDefaultValue(Schema p) { } } - return String.format(pattern, typeDeclaration); + return String.format(Locale.ROOT, pattern, typeDeclaration); } else if (ModelUtils.isIntegerSchema(p)) { if (p.getDefault() != null) { if (SchemaTypeUtil.INTEGER64_FORMAT.equals(p.getFormat())) { @@ -1049,7 +1050,7 @@ public String toEnumVarName(String value, String datatype) { // for symbol, e.g. $, # if (getSymbolName(value) != null) { - return getSymbolName(value).toUpperCase(); + return getSymbolName(value).toUpperCase(Locale.ROOT); } // number @@ -1063,7 +1064,7 @@ public String toEnumVarName(String value, String datatype) { } // string - String var = value.replaceAll("\\W+", "_").toUpperCase(); + String var = value.replaceAll("\\W+", "_").toUpperCase(Locale.ROOT); if (var.matches("\\d.*")) { return "_" + var; } else { 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 de7ef7875351..774c96fe33fa 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 @@ -17,16 +17,13 @@ package org.openapitools.codegen.languages; +import io.swagger.v3.oas.models.media.ArraySchema; +import io.swagger.v3.oas.models.media.Schema; import org.openapitools.codegen.CliOption; import org.openapitools.codegen.CodegenConfig; import org.openapitools.codegen.CodegenConstants; import org.openapitools.codegen.DefaultCodegen; import org.openapitools.codegen.utils.ModelUtils; -import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.Operation; -import io.swagger.v3.oas.models.media.*; -import io.swagger.v3.oas.models.responses.ApiResponse; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -34,6 +31,7 @@ import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; +import java.util.Locale; import java.util.Map; public abstract class AbstractKotlinCodegen extends DefaultCodegen implements CodegenConfig { @@ -220,7 +218,7 @@ public String escapeQuotationMark(String input) { @Override public String escapeReservedWord(String name) { // TODO: Allow enum escaping as an option (e.g. backticks vs append/prepend underscore vs match model property escaping). - return String.format("`%s`", name); + return String.format(Locale.ROOT, "`%s`", name); } @Override @@ -414,7 +412,7 @@ public String toEnumVarName(String value, String datatype) { modified = underscore(modified); break; case UPPERCASE: - modified = modified.toUpperCase(); + modified = modified.toUpperCase(Locale.ROOT); break; } @@ -536,7 +534,7 @@ private String sanitizeKotlinSpecificNames(final String name) { } private String titleCase(final String input) { - return input.substring(0, 1).toUpperCase() + input.substring(1); + return input.substring(0, 1).toUpperCase(Locale.ROOT) + input.substring(1); } @Override diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java index d03951e5933f..98161179c1c0 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPhpCodegen.java @@ -1,5 +1,4 @@ -/* - * Copyright 2018 OpenAPI-Generator Contributors (https://openapi-generator.tech) +/*ap Copyright 2018 OpenAPI-Generator Contributors (https://openapi-generator.tech) * Copyright 2018 SmartBear Software * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -17,6 +16,9 @@ package org.openapitools.codegen.languages; +import io.swagger.v3.oas.models.media.ArraySchema; +import io.swagger.v3.oas.models.media.Schema; +import org.apache.commons.lang3.StringUtils; import org.openapitools.codegen.CliOption; import org.openapitools.codegen.CodegenConfig; import org.openapitools.codegen.CodegenConstants; @@ -26,22 +28,18 @@ import org.openapitools.codegen.DefaultCodegen; import org.openapitools.codegen.SupportingFile; import org.openapitools.codegen.utils.ModelUtils; - -import io.swagger.v3.oas.models.media.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.io.File; import java.util.Arrays; import java.util.HashMap; +import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Map; -import java.util.HashSet; import java.util.regex.Matcher; -import org.apache.commons.lang3.StringUtils; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - public abstract class AbstractPhpCodegen extends DefaultCodegen implements CodegenConfig { private static final Logger LOGGER = LoggerFactory.getLogger(AbstractPhpCodegen.class); @@ -627,7 +625,7 @@ public String toEnumVarName(String name, String datatype) { // for symbol, e.g. $, # if (getSymbolName(name) != null) { - return (getSymbolName(name)).toUpperCase(); + return (getSymbolName(name)).toUpperCase(Locale.ROOT); } // number @@ -640,7 +638,7 @@ public String toEnumVarName(String name, String datatype) { } // string - String enumName = sanitizeName(underscore(name).toUpperCase()); + String enumName = sanitizeName(underscore(name).toUpperCase(Locale.ROOT)); enumName = enumName.replaceFirst("^_", ""); enumName = enumName.replaceFirst("_$", ""); @@ -653,7 +651,7 @@ public String toEnumVarName(String name, String datatype) { @Override public String toEnumName(CodegenProperty property) { - String enumName = underscore(toModelName(property.name)).toUpperCase(); + String enumName = underscore(toModelName(property.name)).toUpperCase(Locale.ROOT); // remove [] for array or map of enum enumName = enumName.replace("[]", ""); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractRubyCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractRubyCodegen.java index fee44c741055..b26a99dd43b3 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractRubyCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractRubyCodegen.java @@ -19,12 +19,14 @@ import io.swagger.v3.oas.models.media.ArraySchema; import io.swagger.v3.oas.models.media.Schema; -import org.openapitools.codegen.*; +import org.openapitools.codegen.CodegenConfig; +import org.openapitools.codegen.DefaultCodegen; import org.openapitools.codegen.utils.ModelUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Arrays; +import java.util.Locale; abstract class AbstractRubyCodegen extends DefaultCodegen implements CodegenConfig { private static final Logger LOGGER = LoggerFactory.getLogger(AbstractRubyCodegen.class); @@ -116,7 +118,7 @@ public String toVarName(String name) { name = sanitizeName(name); // FIXME: a parameter should not be assigned. Also declare the methods parameters as 'final'. // if it's all uppper case, convert to lower case if (name.matches("^[A-Z_]*$")) { - name = name.toLowerCase(); + name = name.toLowerCase(Locale.ROOT); } // camelize (lower first character) the variable name diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AdaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AdaCodegen.java index fd7f105715b9..3a0731106f31 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AdaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AdaCodegen.java @@ -17,14 +17,18 @@ package org.openapitools.codegen.languages; +import com.samskivert.mustache.Mustache; +import com.samskivert.mustache.Template; +import org.apache.commons.lang3.StringUtils; +import org.openapitools.codegen.CodegenConfig; +import org.openapitools.codegen.CodegenConstants; +import org.openapitools.codegen.CodegenType; +import org.openapitools.codegen.SupportingFile; + import java.io.File; import java.io.IOException; import java.io.Writer; - -import org.apache.commons.lang3.StringUtils; -import com.samskivert.mustache.Mustache; -import com.samskivert.mustache.Template; -import org.openapitools.codegen.*; +import java.util.Locale; public class AdaCodegen extends AbstractAdaCodegen implements CodegenConfig { @@ -71,7 +75,7 @@ public void processOpts() { // e.g. petstore.api (package name) => petstore_api (project name) projectName = packageName.replaceAll("\\.", "_"); } - String configBaseName = modelPackage.toLowerCase(); + String configBaseName = modelPackage.toLowerCase(Locale.ROOT); supportingFiles.add(new SupportingFile("gnat-project.mustache", "", toFilename(projectName) + ".gpr")); // supportingFiles.add(new SupportingFile("README.mustache", "", "README.md")); supportingFiles.add(new SupportingFile("config.gpr", "", "config.gpr")); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AdaServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AdaServerCodegen.java index 5432657766b8..1e2730951813 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AdaServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AdaServerCodegen.java @@ -19,7 +19,6 @@ import com.samskivert.mustache.Mustache; import com.samskivert.mustache.Template; - import org.openapitools.codegen.CodegenConfig; import org.openapitools.codegen.CodegenConstants; import org.openapitools.codegen.CodegenType; @@ -28,6 +27,7 @@ import java.io.File; import java.io.IOException; import java.io.Writer; +import java.util.Locale; public class AdaServerCodegen extends AbstractAdaCodegen implements CodegenConfig { @@ -76,7 +76,7 @@ public void processOpts() { // e.g. petstore.api (package name) => petstore_api (project name) projectName = packageName.replaceAll("\\.", "_"); } - String configBaseName = modelPackage.toLowerCase(); + String configBaseName = modelPackage.toLowerCase(Locale.ROOT); supportingFiles.add(new SupportingFile("gnat-project.mustache", "", toFilename(projectName) + ".gpr")); supportingFiles.add(new SupportingFile("README.mustache", "", "README.md")); supportingFiles.add(new SupportingFile("config.gpr", "", "config.gpr")); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ApexClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ApexClientCodegen.java index 105245101fc6..66dcb89a5225 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ApexClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ApexClientCodegen.java @@ -217,6 +217,7 @@ public String toDefaultValue(Schema p) { if (ModelUtils.isArraySchema(p)) { Schema inner = ((ArraySchema) p).getItems(); out = String.format( + Locale.ROOT, "new List<%s>()", inner == null ? "Object" : getTypeDeclaration(inner) ); @@ -229,12 +230,12 @@ public String toDefaultValue(Schema p) { } else if (ModelUtils.isMapSchema(p)) { Schema inner = ModelUtils.getAdditionalProperties(p); String s = inner == null ? "Object" : getTypeDeclaration(inner); - out = String.format("new Map()", s); + out = String.format(Locale.ROOT, "new Map()", s); } else if (ModelUtils.isStringSchema(p)) { if (p.getDefault() != null) { String def = p.getDefault().toString(); if (def != null) { - out = p.getEnum() == null ? String.format("'%s'", escapeText(def)) : def; + out = p.getEnum() == null ? String.format(Locale.ROOT, "'%s'", escapeText(def)) : def; } } } else { @@ -270,7 +271,7 @@ private String toApiVersion(String apiVersion) { if (apiVersion.matches("^\\d{2}(\\.0)?$")) { return apiVersion.substring(0, 2) + ".0"; } else { - LOGGER.warn(String.format("specified API version is invalid: %s - defaulting to %s", apiVersion, this.apiVersion)); + LOGGER.warn(String.format(Locale.ROOT, "specified API version is invalid: %s - defaulting to %s", apiVersion, this.apiVersion)); return this.apiVersion; } } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AspNetCoreServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AspNetCoreServerCodegen.java index 1c269a15d576..2ae16f32581f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AspNetCoreServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AspNetCoreServerCodegen.java @@ -17,21 +17,21 @@ package org.openapitools.codegen.languages; -import com.fasterxml.jackson.core.JsonProcessingException; - import com.samskivert.mustache.Mustache; - import io.swagger.v3.oas.models.OpenAPI; - -import org.openapitools.codegen.*; -import org.openapitools.codegen.utils.ModelUtils; +import org.openapitools.codegen.CodegenConstants; +import org.openapitools.codegen.CodegenOperation; +import org.openapitools.codegen.CodegenType; +import org.openapitools.codegen.SupportingFile; import org.openapitools.codegen.utils.URLPathUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.File; import java.net.URL; -import java.util.*; +import java.util.Arrays; +import java.util.Locale; +import java.util.Map; import static java.util.UUID.randomUUID; @@ -39,7 +39,7 @@ public class AspNetCoreServerCodegen extends AbstractCSharpCodegen { public static final String USE_SWASHBUCKLE = "useSwashbuckle"; - private String packageGuid = "{" + randomUUID().toString().toUpperCase() + "}"; + private String packageGuid = "{" + randomUUID().toString().toUpperCase(Locale.ROOT) + "}"; @SuppressWarnings("hiding") protected Logger LOGGER = LoggerFactory.getLogger(AspNetCoreServerCodegen.class); @@ -141,7 +141,7 @@ public void processOpts() { additionalProperties.put(USE_SWASHBUCKLE, useSwashbuckle); } - additionalProperties.put("dockerTag", packageName.toLowerCase()); + additionalProperties.put("dockerTag", packageName.toLowerCase(Locale.ROOT)); apiPackage = packageName + ".Controllers"; modelPackage = packageName + ".Models"; @@ -211,7 +211,7 @@ protected void processOperation(CodegenOperation operation) { } // Converts, for example, PUT to HttpPut for controller attributes - operation.httpMethod = "Http" + operation.httpMethod.substring(0, 1) + operation.httpMethod.substring(1).toLowerCase(); + operation.httpMethod = "Http" + operation.httpMethod.substring(0, 1) + operation.httpMethod.substring(1).toLowerCase(Locale.ROOT); } @Override diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/BashClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/BashClientCodegen.java index 3c8b4c1b69b7..fa599d439f50 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/BashClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/BashClientCodegen.java @@ -637,7 +637,7 @@ && getConsumesInfo(openAPI, operation).contains("application/json") mapper.writerWithDefaultPrettyPrinter().writeValueAsString( definitions.get(p.dataType).getExample())); } catch (JsonProcessingException e) { - e.printStackTrace(); + LOGGER.warn(e.getMessage(), e); } } else { /** diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpClientCodegen.java index 0e493b932861..470641d928a6 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpClientCodegen.java @@ -17,13 +17,9 @@ package org.openapitools.codegen.languages; -import static org.apache.commons.lang3.StringUtils.isEmpty; - import com.google.common.collect.ImmutableMap; import com.samskivert.mustache.Mustache; - import io.swagger.v3.oas.models.media.Schema; - import org.openapitools.codegen.CliOption; import org.openapitools.codegen.CodegenConstants; import org.openapitools.codegen.CodegenModel; @@ -40,8 +36,11 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.util.Locale; import java.util.Map; +import static org.apache.commons.lang3.StringUtils.isEmpty; + public class CSharpClientCodegen extends AbstractCSharpCodegen { @SuppressWarnings({"hiding"}) private static final Logger LOGGER = LoggerFactory.getLogger(CSharpClientCodegen.class); @@ -57,7 +56,7 @@ public class CSharpClientCodegen extends AbstractCSharpCodegen { // Defines the sdk option for targeted frameworks, which differs from targetFramework and targetFrameworkNuget private static final String MCS_NET_VERSION_KEY = "x-mcs-sdk"; - protected String packageGuid = "{" + java.util.UUID.randomUUID().toString().toUpperCase() + "}"; + protected String packageGuid = "{" + java.util.UUID.randomUUID().toString().toUpperCase(Locale.ROOT) + "}"; protected String clientPackage = "Org.OpenAPITools.Client"; protected String localVariablePrefix = ""; protected String apiDocPath = "docs/"; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpNancyFXServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpNancyFXServerCodegen.java index 0180059a678b..be5147d3dac7 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpNancyFXServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpNancyFXServerCodegen.java @@ -17,17 +17,24 @@ package org.openapitools.codegen.languages; -import static com.google.common.base.Strings.isNullOrEmpty; -import static org.apache.commons.lang3.StringUtils.capitalize; -import static org.openapitools.codegen.CodegenConstants.*; -import static org.openapitools.codegen.CodegenType.SERVER; -import static java.util.Arrays.asList; -import static java.util.UUID.randomUUID; - -import org.openapitools.codegen.*; -import org.openapitools.codegen.utils.*; -import io.swagger.v3.oas.models.*; -import io.swagger.v3.oas.models.media.*; +import com.google.common.base.Predicate; +import com.google.common.collect.ArrayListMultimap; +import com.google.common.collect.BiMap; +import com.google.common.collect.HashBiMap; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Multimap; +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.media.Schema; +import org.openapitools.codegen.CodegenModel; +import org.openapitools.codegen.CodegenOperation; +import org.openapitools.codegen.CodegenProperty; +import org.openapitools.codegen.CodegenType; +import org.openapitools.codegen.SupportingFile; +import org.openapitools.codegen.utils.ModelUtils; +import org.openapitools.codegen.utils.URLPathUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.io.File; import java.net.URL; @@ -36,20 +43,34 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Map.Entry; import java.util.Set; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.common.base.Predicate; -import com.google.common.collect.ArrayListMultimap; -import com.google.common.collect.BiMap; -import com.google.common.collect.HashBiMap; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Multimap; +import static com.google.common.base.Strings.isNullOrEmpty; +import static java.util.Arrays.asList; +import static java.util.UUID.randomUUID; +import static org.apache.commons.lang3.StringUtils.capitalize; +import static org.openapitools.codegen.CodegenConstants.INTERFACE_PREFIX; +import static org.openapitools.codegen.CodegenConstants.INTERFACE_PREFIX_DESC; +import static org.openapitools.codegen.CodegenConstants.OPTIONAL_PROJECT_FILE; +import static org.openapitools.codegen.CodegenConstants.OPTIONAL_PROJECT_FILE_DESC; +import static org.openapitools.codegen.CodegenConstants.OPTIONAL_PROJECT_GUID; +import static org.openapitools.codegen.CodegenConstants.OPTIONAL_PROJECT_GUID_DESC; +import static org.openapitools.codegen.CodegenConstants.PACKAGE_NAME; +import static org.openapitools.codegen.CodegenConstants.PACKAGE_VERSION; +import static org.openapitools.codegen.CodegenConstants.RETURN_ICOLLECTION; +import static org.openapitools.codegen.CodegenConstants.RETURN_ICOLLECTION_DESC; +import static org.openapitools.codegen.CodegenConstants.SORT_PARAMS_BY_REQUIRED_FLAG; +import static org.openapitools.codegen.CodegenConstants.SORT_PARAMS_BY_REQUIRED_FLAG_DESC; +import static org.openapitools.codegen.CodegenConstants.SOURCE_FOLDER; +import static org.openapitools.codegen.CodegenConstants.SOURCE_FOLDER_DESC; +import static org.openapitools.codegen.CodegenConstants.USE_COLLECTION; +import static org.openapitools.codegen.CodegenConstants.USE_COLLECTION_DESC; +import static org.openapitools.codegen.CodegenConstants.USE_DATETIME_OFFSET; +import static org.openapitools.codegen.CodegenConstants.USE_DATETIME_OFFSET_DESC; +import static org.openapitools.codegen.CodegenType.SERVER; public class CSharpNancyFXServerCodegen extends AbstractCSharpCodegen { private static final Logger LOGGER = LoggerFactory.getLogger(CSharpNancyFXServerCodegen.class); @@ -64,7 +85,7 @@ public class CSharpNancyFXServerCodegen extends AbstractCSharpCodegen { private static final Map> propertyToOpenAPITypeMapping = createPropertyToOpenAPITypeMapping(); - private String packageGuid = "{" + randomUUID().toString().toUpperCase() + "}"; + private String packageGuid = "{" + randomUUID().toString().toUpperCase(Locale.ROOT) + "}"; private final Map dependencies = new HashMap<>(); private final Set parentModels = new HashSet<>(); @@ -185,18 +206,18 @@ private void processImportedMappings() { final String assemblyFramework = namespaceInfo.length > 3 ? namespaceInfo[3].trim() : "net45"; if (isNullOrEmpty(model) || isNullOrEmpty(namespaceName)) { - LOGGER.warn(String.format("Could not import: '%s' - invalid namespace: '%s'", model, entry.getValue())); + LOGGER.warn(String.format(Locale.ROOT, "Could not import: '%s' - invalid namespace: '%s'", model, entry.getValue())); importMapping.remove(model); } else { - LOGGER.info(String.format("Importing: '%s' from '%s' namespace.", model, namespaceName)); + LOGGER.info(String.format(Locale.ROOT, "Importing: '%s' from '%s' namespace.", model, namespaceName)); importMapping.put(model, namespaceName); } if (!isNullOrEmpty(modelClass)) { - LOGGER.info(String.format("Mapping: '%s' class to '%s'", model, modelClass)); + LOGGER.info(String.format(Locale.ROOT, "Mapping: '%s' class to '%s'", model, modelClass)); modelNameMapping.put(model, modelClass); } if (assembly != null && assemblyVersion != null) { - LOGGER.info(String.format("Adding dependency: '%s', version: '%s', framework: '%s'", + LOGGER.info(String.format(Locale.ROOT, "Adding dependency: '%s', version: '%s', framework: '%s'", assembly, assemblyVersion, assemblyVersion)); dependencies.put(assembly, new DependencyInfo(assemblyVersion, assemblyFramework)); } @@ -248,7 +269,7 @@ protected void processOperation(final CodegenOperation operation) { operation.path = operation.path.replace("?", "/"); } if (!isNullOrEmpty(operation.httpMethod)) { - operation.httpMethod = capitalize(operation.httpMethod.toLowerCase()); + operation.httpMethod = capitalize(operation.httpMethod.toLowerCase(Locale.ROOT)); } } @@ -280,7 +301,7 @@ private void processParentPropertiesInChildModel(final CodegenModel parent, fina for (final CodegenProperty property : parent.vars) { final CodegenProperty duplicatedByParent = childPropertiesByName.get(property.name); if (duplicatedByParent != null) { - LOGGER.info(String.format("Property: '%s' in '%s' model is inherited from '%s'", + LOGGER.info(String.format(Locale.ROOT, "Property: '%s' in '%s' model is inherited from '%s'", property.name, child.classname, parent.classname)); duplicatedByParent.isInherited = true; final CodegenProperty parentVar = duplicatedByParent.clone(); @@ -322,7 +343,7 @@ public String toEnumVarName(final String name, final String datatype) { } else { result = enumName; } - LOGGER.debug(String.format("toEnumVarName('%s', %s) = '%s'", name, datatype, enumName)); + LOGGER.debug(String.format(Locale.ROOT, "toEnumVarName('%s', %s) = '%s'", name, datatype, enumName)); return result; } @@ -334,7 +355,7 @@ public String toApiName(final String name) { } else { apiName = capitalize(name); } - LOGGER.debug(String.format("toApiName('%s') = '%s'", name, apiName)); + LOGGER.debug(String.format(Locale.ROOT, "toApiName('%s') = '%s'", name, apiName)); return apiName; } @@ -355,7 +376,7 @@ public String toModelImport(final String name) { } else { result = null; } - LOGGER.debug(String.format("toModelImport('%s') = '%s'", name, result)); + LOGGER.debug(String.format(Locale.ROOT, "toModelImport('%s') = '%s'", name, result)); return result; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ClojureClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ClojureClientCodegen.java index 604211bd7037..89309b512d92 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ClojureClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ClojureClientCodegen.java @@ -17,6 +17,11 @@ package org.openapitools.codegen.languages; +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.info.Contact; +import io.swagger.v3.oas.models.info.Info; +import io.swagger.v3.oas.models.info.License; +import org.apache.commons.lang3.StringUtils; import org.openapitools.codegen.CliOption; import org.openapitools.codegen.CodegenConfig; import org.openapitools.codegen.CodegenConstants; @@ -24,16 +29,11 @@ import org.openapitools.codegen.CodegenType; import org.openapitools.codegen.DefaultCodegen; import org.openapitools.codegen.SupportingFile; -import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.Operation; -import io.swagger.v3.oas.models.media.*; -import io.swagger.v3.oas.models.info.*; - -import org.apache.commons.lang3.StringUtils; import java.io.File; -import java.util.Map; import java.util.List; +import java.util.Locale; +import java.util.Map; public class ClojureClientCodegen extends DefaultCodegen implements CodegenConfig { private static final String PROJECT_NAME = "projectName"; @@ -221,7 +221,7 @@ public Map postProcessOperationsWithModels(Map o List ops = (List) objs.get("operation"); for (CodegenOperation op : ops) { // Convert httpMethod to lower case, e.g. "get", "post" - op.httpMethod = op.httpMethod.toLowerCase(); + op.httpMethod = op.httpMethod.toLowerCase(Locale.ROOT); } return operations; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ConfluenceWikiCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ConfluenceWikiCodegen.java index 02fa7d656803..753e55f8d9c6 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ConfluenceWikiCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ConfluenceWikiCodegen.java @@ -19,7 +19,6 @@ import io.swagger.v3.oas.models.media.ArraySchema; import io.swagger.v3.oas.models.media.Schema; - import org.openapitools.codegen.CliOption; import org.openapitools.codegen.CodegenConfig; import org.openapitools.codegen.CodegenConstants; @@ -32,6 +31,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Map; public class ConfluenceWikiCodegen extends DefaultCodegen implements CodegenConfig { @@ -110,7 +110,7 @@ public Map postProcessOperationsWithModels(Map o Map operations = (Map) objs.get("operations"); List operationList = (List) operations.get("operation"); for (CodegenOperation op : operationList) { - op.httpMethod = op.httpMethod.toLowerCase(); + op.httpMethod = op.httpMethod.toLowerCase(Locale.ROOT); } return objs; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppPistacheServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppPistacheServerCodegen.java index 7e4f698d8200..70ba645a4e65 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppPistacheServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppPistacheServerCodegen.java @@ -22,7 +22,6 @@ import io.swagger.v3.oas.models.media.ArraySchema; import io.swagger.v3.oas.models.media.Schema; import io.swagger.v3.oas.models.responses.ApiResponse; - import org.apache.commons.lang3.StringUtils; import org.openapitools.codegen.CodegenModel; import org.openapitools.codegen.CodegenOperation; @@ -38,6 +37,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Set; @@ -198,8 +198,8 @@ public CodegenOperation fromOperation(String path, String httpMethod, Operation public Map postProcessOperationsWithModels(Map objs, List allModels) { Map operations = (Map) objs.get("operations"); String classname = (String) operations.get("classname"); - operations.put("classnameSnakeUpperCase", DefaultCodegen.underscore(classname).toUpperCase()); - operations.put("classnameSnakeLowerCase", DefaultCodegen.underscore(classname).toLowerCase()); + operations.put("classnameSnakeUpperCase", DefaultCodegen.underscore(classname).toUpperCase(Locale.ROOT)); + operations.put("classnameSnakeLowerCase", DefaultCodegen.underscore(classname).toLowerCase(Locale.ROOT)); List operationList = (List) operations.get("operation"); for (CodegenOperation op : operationList) { @@ -220,7 +220,7 @@ public Map postProcessOperationsWithModels(Map o } } - op.httpMethod = op.httpMethod.substring(0, 1).toUpperCase() + op.httpMethod.substring(1).toLowerCase(); + op.httpMethod = op.httpMethod.substring(0, 1).toUpperCase(Locale.ROOT) + op.httpMethod.substring(1).toLowerCase(Locale.ROOT); for (CodegenParameter param : op.allParams) { if (param.isFormParam) isParsingSupported = false; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQt5ClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQt5ClientCodegen.java index eef0e00f6125..0d3d963f0f4a 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQt5ClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQt5ClientCodegen.java @@ -17,12 +17,15 @@ package org.openapitools.codegen.languages; +import io.swagger.v3.oas.models.media.ArraySchema; +import io.swagger.v3.oas.models.media.Schema; +import io.swagger.v3.parser.util.SchemaTypeUtil; import org.apache.commons.lang3.StringUtils; -import org.openapitools.codegen.*; +import org.openapitools.codegen.CodegenConfig; +import org.openapitools.codegen.CodegenConstants; +import org.openapitools.codegen.CodegenType; +import org.openapitools.codegen.SupportingFile; import org.openapitools.codegen.utils.ModelUtils; - -import io.swagger.v3.oas.models.media.*; -import io.swagger.v3.parser.util.SchemaTypeUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -30,6 +33,7 @@ import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; +import java.util.Locale; import java.util.Map; import java.util.Set; @@ -371,7 +375,7 @@ public String toVarName(String name) { // if it's all uppper case, convert to lower case if (varName.matches("^[A-Z_]*$")) { - varName = varName.toLowerCase(); + varName = varName.toLowerCase(Locale.ROOT); } // camelize (lower first character) the variable name diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQt5QHttpEngineServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQt5QHttpEngineServerCodegen.java index 8f3ca235b2ab..37f14e75c817 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQt5QHttpEngineServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQt5QHttpEngineServerCodegen.java @@ -17,12 +17,14 @@ package org.openapitools.codegen.languages; +import io.swagger.v3.oas.models.media.ArraySchema; +import io.swagger.v3.oas.models.media.Schema; +import io.swagger.v3.parser.util.SchemaTypeUtil; import org.apache.commons.lang3.StringUtils; -import org.openapitools.codegen.*; +import org.openapitools.codegen.CodegenConfig; +import org.openapitools.codegen.CodegenType; +import org.openapitools.codegen.SupportingFile; import org.openapitools.codegen.utils.ModelUtils; - -import io.swagger.v3.oas.models.media.*; -import io.swagger.v3.parser.util.SchemaTypeUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -30,6 +32,7 @@ import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; +import java.util.Locale; import java.util.Map; import java.util.Set; @@ -407,7 +410,7 @@ public String toVarName(String name) { // if it's all uppper case, convert to lower case if (varName.matches("^[A-Z_]*$")) { - varName = varName.toLowerCase(); + varName = varName.toLowerCase(Locale.ROOT); } // camelize (lower first character) the variable name diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestSdkClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestSdkClientCodegen.java index ee740d9a0f40..841e1c2dd09f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestSdkClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestSdkClientCodegen.java @@ -17,17 +17,13 @@ package org.openapitools.codegen.languages; -import static com.google.common.base.Strings.isNullOrEmpty; - import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap; - import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.Operation; import io.swagger.v3.oas.models.media.ArraySchema; import io.swagger.v3.oas.models.media.Schema; import io.swagger.v3.oas.models.responses.ApiResponse; - import org.apache.commons.lang3.StringUtils; import org.openapitools.codegen.CodegenConstants; import org.openapitools.codegen.CodegenModel; @@ -42,9 +38,12 @@ import java.util.Collection; import java.util.HashMap; import java.util.HashSet; +import java.util.Locale; import java.util.Map; import java.util.Set; +import static com.google.common.base.Strings.isNullOrEmpty; + public class CppRestSdkClientCodegen extends AbstractCppCodegen { public static final String DECLSPEC = "declspec"; @@ -189,10 +188,10 @@ public void processOpts() { additionalProperties.put("modelNamespaceDeclarations", modelPackage.split("\\.")); additionalProperties.put("modelNamespace", modelPackage.replaceAll("\\.", "::")); - additionalProperties.put("modelHeaderGuardPrefix", modelPackage.replaceAll("\\.", "_").toUpperCase()); + additionalProperties.put("modelHeaderGuardPrefix", modelPackage.replaceAll("\\.", "_").toUpperCase(Locale.ROOT)); additionalProperties.put("apiNamespaceDeclarations", apiPackage.split("\\.")); additionalProperties.put("apiNamespace", apiPackage.replaceAll("\\.", "::")); - additionalProperties.put("apiHeaderGuardPrefix", apiPackage.replaceAll("\\.", "_").toUpperCase()); + additionalProperties.put("apiHeaderGuardPrefix", apiPackage.replaceAll("\\.", "_").toUpperCase(Locale.ROOT)); additionalProperties.put("declspec", declspec); additionalProperties.put("defaultInclude", defaultInclude); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/EiffelClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/EiffelClientCodegen.java index 6ae78c52a9ba..8f7125ae3d4f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/EiffelClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/EiffelClientCodegen.java @@ -17,13 +17,16 @@ package org.openapitools.codegen.languages; -import java.io.File; -import java.util.UUID; - +import org.openapitools.codegen.CodegenConstants; +import org.openapitools.codegen.CodegenProperty; +import org.openapitools.codegen.CodegenType; +import org.openapitools.codegen.SupportingFile; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.openapitools.codegen.*; +import java.io.File; +import java.util.Locale; +import java.util.UUID; public class EiffelClientCodegen extends AbstractEiffelCodegen { private static final Logger LOGGER = LoggerFactory.getLogger(EiffelClientCodegen.class); @@ -168,7 +171,7 @@ public void setPackageVersion(String packageVersion) { @Override public String toEnumName(CodegenProperty property) { - return sanitizeName(property.name).toUpperCase() + "_ENUM"; + return sanitizeName(property.name).toUpperCase(Locale.ROOT) + "_ENUM"; } @Override @@ -179,7 +182,7 @@ public String toEnumVarName(String value, String datatype) { // for symbol, e.g. $, # if (getSymbolName(value) != null) { - return getSymbolName(value).toUpperCase(); + return getSymbolName(value).toUpperCase(Locale.ROOT); } // number @@ -193,7 +196,7 @@ public String toEnumVarName(String value, String datatype) { } // string - String var = value.replaceAll("\\W+", "_").toLowerCase(); + String var = value.replaceAll("\\W+", "_").toLowerCase(Locale.ROOT); if (var.matches("\\d.*")) { return "val_" + var; } else if (var.startsWith("_")) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ElmClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ElmClientCodegen.java index a7f9de7c2f34..ec9fac7acd95 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ElmClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ElmClientCodegen.java @@ -17,15 +17,20 @@ package org.openapitools.codegen.languages; -import org.openapitools.codegen.*; +import io.swagger.v3.oas.models.media.ArraySchema; +import io.swagger.v3.oas.models.media.NumberSchema; +import io.swagger.v3.oas.models.media.Schema; +import io.swagger.v3.oas.models.responses.ApiResponse; +import org.openapitools.codegen.CodegenConfig; +import org.openapitools.codegen.CodegenModel; +import org.openapitools.codegen.CodegenOperation; +import org.openapitools.codegen.CodegenParameter; +import org.openapitools.codegen.CodegenProperty; +import org.openapitools.codegen.CodegenResponse; +import org.openapitools.codegen.CodegenType; +import org.openapitools.codegen.DefaultCodegen; +import org.openapitools.codegen.SupportingFile; import org.openapitools.codegen.utils.ModelUtils; -import org.openapitools.codegen.languages.features.BeanValidationFeatures; -import org.openapitools.codegen.languages.features.JbossFeature; -import org.openapitools.codegen.languages.features.SwaggerFeatures; -import io.swagger.v3.oas.models.*; -import io.swagger.v3.oas.models.media.*; -import io.swagger.v3.oas.models.parameters.*; -import io.swagger.v3.oas.models.responses.*; import java.io.File; import java.text.Collator; @@ -36,6 +41,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.TreeSet; @@ -259,7 +265,7 @@ public Map postProcessAllModels(Map objs) { Collections.sort(parent.children, new Comparator() { @Override public int compare(CodegenModel cm1, CodegenModel cm2) { - return Collator.getInstance().compare(cm1.classname, cm2.classname); + return Collator.getInstance(Locale.ROOT).compare(cm1.classname, cm2.classname); } }); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangClientCodegen.java index 5ba57db31e1b..ed5889a92fd1 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangClientCodegen.java @@ -290,7 +290,7 @@ public Map postProcessOperationsWithModels(Map o Pattern pattern = Pattern.compile("\\{([^\\}]+)\\}"); for (CodegenOperation o : os) { // force http method to lower case - o.httpMethod = o.httpMethod.toLowerCase(); + o.httpMethod = o.httpMethod.toLowerCase(Locale.ROOT); if (o.isListContainer) { o.returnType = "[" + o.returnBaseType + "]"; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/FinchServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/FinchServerCodegen.java index 5519a128eb74..5830c1941747 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/FinchServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/FinchServerCodegen.java @@ -341,7 +341,7 @@ private void authParameters(CodegenOperation op) { } private void generateScalaPath(CodegenOperation op) { - op.httpMethod = op.httpMethod.toLowerCase(); + op.httpMethod = op.httpMethod.toLowerCase(Locale.ROOT); String path = op.path; @@ -366,7 +366,7 @@ private void generateScalaPath(CodegenOperation op) { final CodegenParameter cp = op.pathParams.get(pathParamIndex); // TODO: Handle non-primitives… - scalaPath = colConcat(scalaPath, cp.dataType.toLowerCase()); + scalaPath = colConcat(scalaPath, cp.dataType.toLowerCase(Locale.ROOT)); pathParamIndex++; } else { @@ -425,7 +425,7 @@ private void generateInputParameters(CodegenOperation op) { p.vendorExtensions.put("x-codegen-normalized-path-type", toPathParameter(p, "param", true)); } else { // If parameter is primitive and required, we can rely on data types like "string" or "long" - p.vendorExtensions.put("x-codegen-normalized-path-type", p.dataType.toLowerCase()); + p.vendorExtensions.put("x-codegen-normalized-path-type", p.dataType.toLowerCase(Locale.ROOT)); } p.vendorExtensions.put("x-codegen-normalized-input-type", toInputParameter(p)); } else { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/FlashClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/FlashClientCodegen.java index 1f75fce7eac1..73ca27fa1806 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/FlashClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/FlashClientCodegen.java @@ -17,25 +17,17 @@ package org.openapitools.codegen.languages; +import io.swagger.v3.oas.models.media.Schema; +import org.apache.commons.lang3.StringUtils; import org.openapitools.codegen.*; -import org.openapitools.codegen.utils.*; import org.openapitools.codegen.utils.ModelUtils; -import org.openapitools.codegen.mustache.*; - -import io.swagger.v3.oas.models.security.SecurityScheme; -import io.swagger.v3.oas.models.*; -import io.swagger.v3.oas.models.media.*; -import io.swagger.v3.oas.models.responses.ApiResponse; -import io.swagger.v3.oas.models.parameters.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.File; import java.util.Arrays; import java.util.HashMap; -import java.util.HashSet; - -import org.apache.commons.lang3.StringUtils; +import java.util.Locale; public class FlashClientCodegen extends DefaultCodegen implements CodegenConfig { private static final Logger LOGGER = LoggerFactory.getLogger(FlashClientCodegen.class); @@ -267,7 +259,7 @@ public String toVarName(String name) { // if it's all uppper case, convert to lower case if (name.matches("^[A-Z_]*$")) { - name = name.toLowerCase(); + name = name.toLowerCase(Locale.ROOT); } // underscore the variable name diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellHttpClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellHttpClientCodegen.java index 60d5177bda47..418ecd357697 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellHttpClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellHttpClientCodegen.java @@ -465,7 +465,7 @@ public void preprocessOpenAPI(OpenAPI openAPI) { } else { baseTitle = baseTitle.trim(); // Drop any API suffix - if (baseTitle.toUpperCase().endsWith("API")) { + if (baseTitle.toUpperCase(Locale.ROOT).endsWith("API")) { baseTitle = baseTitle.substring(0, baseTitle.length() - 3); } } @@ -473,7 +473,7 @@ public void preprocessOpenAPI(OpenAPI openAPI) { if (!additionalProperties.containsKey(PROP_CABAL_PACKAGE)) { List words = new ArrayList<>(); for (String word : baseTitle.split(" ")) { - words.add(word.toLowerCase()); + words.add(word.toLowerCase(Locale.ROOT)); } setCabalPackage(StringUtils.join(words, "-")); } @@ -615,7 +615,7 @@ public void addOperationToGroup(String tag, String resourcePath, Operation opera LOGGER.warn("generated unique operationId `" + uniqueName + "`"); } op.operationId = uniqueName; - op.operationIdLowerCase = uniqueName.toLowerCase(); + op.operationIdLowerCase = uniqueName.toLowerCase(Locale.ROOT); op.operationIdCamelCase = DefaultCodegen.camelize(uniqueName); op.operationIdSnakeCase = DefaultCodegen.underscore(uniqueName); opList.add(op); @@ -628,7 +628,7 @@ public void addOperationToGroup(String tag, String resourcePath, Operation opera op.vendorExtensions.put(X_OPERATION_TYPE, operationType); typeNames.add(operationType); - op.vendorExtensions.put(X_HADDOCK_PATH, String.format("%s %s", op.httpMethod, op.path.replace("/", "\\/"))); + op.vendorExtensions.put(X_HADDOCK_PATH, String.format(Locale.ROOT, "%s %s", op.httpMethod, op.path.replace("/", "\\/"))); op.vendorExtensions.put(X_HAS_BODY_OR_FORM_PARAM, op.getHasBodyParam() || op.getHasFormParams()); for (CodegenParameter param : op.allParams) { @@ -1003,9 +1003,9 @@ public String firstLetterToUpper(String word) { if (word.length() == 0) { return word; } else if (word.length() == 1) { - return word.substring(0, 1).toUpperCase(); + return word.substring(0, 1).toUpperCase(Locale.ROOT); } else { - return word.substring(0, 1).toUpperCase() + word.substring(1); + return word.substring(0, 1).toUpperCase(Locale.ROOT) + word.substring(1); } } @@ -1013,9 +1013,9 @@ public String firstLetterToLower(String word) { if (word.length() == 0) { return word; } else if (word.length() == 1) { - return word.substring(0, 1).toLowerCase(); + return word.substring(0, 1).toLowerCase(Locale.ROOT); } else { - return word.substring(0, 1).toLowerCase() + word.substring(1); + return word.substring(0, 1).toLowerCase(Locale.ROOT) + word.substring(1); } } @@ -1303,7 +1303,7 @@ public String toEnumVarName(String value, String datatype) { } // number - if (num.contains(datatype.toLowerCase())) { + if (num.contains(datatype.toLowerCase(Locale.ROOT))) { String varName = "Num" + value; varName = varName.replaceAll("-", "Minus_"); varName = varName.replaceAll("\\+", "Plus_"); @@ -1317,7 +1317,7 @@ public String toEnumVarName(String value, String datatype) { @Override public String toEnumValue(String value, String datatype) { List num = new ArrayList<>(Arrays.asList("integer", "int", "double", "long", "float")); - if (num.contains(datatype.toLowerCase())) { + if (num.contains(datatype.toLowerCase(Locale.ROOT))) { return value; } else { return "\"" + escapeText(value) + "\""; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java index decc83e340ff..9408d6b8f513 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/HaskellServantCodegen.java @@ -17,6 +17,10 @@ package org.openapitools.codegen.languages; +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.Operation; +import io.swagger.v3.oas.models.media.ArraySchema; +import io.swagger.v3.oas.models.media.Schema; import org.apache.commons.lang3.StringUtils; import org.openapitools.codegen.CliOption; import org.openapitools.codegen.CodegenConfig; @@ -29,15 +33,16 @@ import org.openapitools.codegen.DefaultCodegen; import org.openapitools.codegen.SupportingFile; import org.openapitools.codegen.utils.ModelUtils; - -import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.Operation; -import io.swagger.v3.oas.models.parameters.Parameter; -import io.swagger.v3.oas.models.media.*; - -import java.util.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Locale; +import java.util.Map; import java.util.regex.Pattern; public class HaskellServantCodegen extends DefaultCodegen implements CodegenConfig { @@ -204,9 +209,9 @@ public String firstLetterToUpper(String word) { if (word.length() == 0) { return word; } else if (word.length() == 1) { - return word.substring(0, 1).toUpperCase(); + return word.substring(0, 1).toUpperCase(Locale.ROOT); } else { - return word.substring(0, 1).toUpperCase() + word.substring(1); + return word.substring(0, 1).toUpperCase(Locale.ROOT) + word.substring(1); } } @@ -214,9 +219,9 @@ public String firstLetterToLower(String word) { if (word.length() == 0) { return word; } else if (word.length() == 1) { - return word.substring(0, 1).toLowerCase(); + return word.substring(0, 1).toLowerCase(Locale.ROOT); } else { - return word.substring(0, 1).toLowerCase() + word.substring(1); + return word.substring(0, 1).toLowerCase(Locale.ROOT) + word.substring(1); } } @@ -230,7 +235,7 @@ public void preprocessOpenAPI(OpenAPI openAPI) { title = "OpenAPI"; } else { title = title.trim(); - if (title.toUpperCase().endsWith("API")) { + if (title.toUpperCase(Locale.ROOT).endsWith("API")) { title = title.substring(0, title.length() - 3); } } @@ -240,7 +245,7 @@ public void preprocessOpenAPI(OpenAPI openAPI) { // The package name is made by appending the lowercased words of the title interspersed with dashes List wordsLower = new ArrayList(); for (String word : words) { - wordsLower.add(word.toLowerCase()); + wordsLower.add(word.toLowerCase(Locale.ROOT)); } String cabalName = joinStrings("-", wordsLower); @@ -484,7 +489,7 @@ public CodegenOperation fromOperation(String resourcePath, String httpMethod, Op if (returnType.indexOf(" ") >= 0) { returnType = "(" + returnType + ")"; } - path.add("Verb '" + op.httpMethod.toUpperCase() + " 200 '[JSON] " + returnType); + path.add("Verb '" + op.httpMethod.toUpperCase(Locale.ROOT) + " 200 '[JSON] " + returnType); type.add("m " + returnType); op.vendorExtensions.put("x-routeType", joinStrings(" :> ", path)); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaInflectorServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaInflectorServerCodegen.java index 380265a6470a..6cd8ad9815a1 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaInflectorServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaInflectorServerCodegen.java @@ -18,7 +18,6 @@ package org.openapitools.codegen.languages; import io.swagger.v3.oas.models.Operation; - import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.StringUtils; import org.openapitools.codegen.CodegenModel; @@ -32,6 +31,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; public class JavaInflectorServerCodegen extends AbstractJavaCodegen { @@ -198,7 +198,7 @@ public Map postProcessModelsEnum(Map objs) { @Override protected String getOrGenerateOperationId(Operation operation, String path, String httpMethod) { - return super.getOrGenerateOperationId(operation, path, httpMethod.toUpperCase()); + return super.getOrGenerateOperationId(operation, path, httpMethod.toUpperCase(Locale.ROOT)); } public String apiFilename(String templateName, String tag) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaJerseyServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaJerseyServerCodegen.java index 096992071bd9..d0354468ae39 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaJerseyServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaJerseyServerCodegen.java @@ -17,14 +17,13 @@ package org.openapitools.codegen.languages; +import io.swagger.v3.oas.models.Operation; +import org.apache.commons.lang3.BooleanUtils; +import org.apache.commons.lang3.StringUtils; import org.openapitools.codegen.*; -import io.swagger.v3.oas.models.*; import java.util.*; -import org.apache.commons.lang3.BooleanUtils; -import org.apache.commons.lang3.StringUtils; - public class JavaJerseyServerCodegen extends AbstractJavaJAXRSServerCodegen { protected static final String LIBRARY_JERSEY1 = "jersey1"; @@ -159,7 +158,7 @@ public Map postProcessModelsEnum(Map objs) { @Override public void addOperationToGroup(String tag, String resourcePath, Operation operation, CodegenOperation co, Map> operations) { if (useTags) { - String basePath = tag.toLowerCase(); + String basePath = tag.toLowerCase(Locale.ROOT); if (basePath.startsWith("/")) { basePath = basePath.substring(1); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaPKMSTServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaPKMSTServerCodegen.java index bcc5685777db..40932e20231d 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaPKMSTServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaPKMSTServerCodegen.java @@ -21,7 +21,6 @@ import io.swagger.v3.oas.models.Operation; import io.swagger.v3.oas.models.PathItem; import io.swagger.v3.oas.models.tags.Tag; - import org.openapitools.codegen.CliOption; import org.openapitools.codegen.CodegenConstants; import org.openapitools.codegen.CodegenModel; @@ -39,6 +38,7 @@ import java.util.Arrays; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; /** @@ -541,7 +541,7 @@ public void preprocessOpenAPI(OpenAPI openAPI) { // Drop any API suffix if (title != null) { title = title.trim().replace(" ", "-"); - if (title.toUpperCase().endsWith("API")) { + if (title.toUpperCase(Locale.ROOT).endsWith("API")) { title = title.substring(0, title.length() - 3); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaPlayFrameworkCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaPlayFrameworkCodegen.java index 4866ca8bd494..64b14186654f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaPlayFrameworkCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaPlayFrameworkCodegen.java @@ -30,6 +30,7 @@ import java.io.File; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -191,7 +192,7 @@ public void processOpts() { if (this.useSwaggerUI) { //App/Controllers supportingFiles.add(new SupportingFile("openapi.mustache", "public", "openapi.json")); - supportingFiles.add(new SupportingFile("apiDocController.mustache", String.format("app/%s", apiPackage.replace(".", File.separator)), "ApiDocController.java")); + supportingFiles.add(new SupportingFile("apiDocController.mustache", String.format(Locale.ROOT, "app/%s", apiPackage.replace(".", File.separator)), "ApiDocController.java")); } //We remove the default api.mustache that is used diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaVertXServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaVertXServerCodegen.java index 097917ddaf61..2940ec587c7c 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaVertXServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaVertXServerCodegen.java @@ -22,7 +22,6 @@ import io.swagger.v3.oas.models.PathItem; import io.swagger.v3.oas.models.PathItem.HttpMethod; import io.swagger.v3.oas.models.media.Schema; - import org.openapitools.codegen.CliOption; import org.openapitools.codegen.CodegenModel; import org.openapitools.codegen.CodegenOperation; @@ -34,6 +33,7 @@ import java.io.File; import java.net.URL; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Map.Entry; import java.util.regex.Matcher; @@ -175,7 +175,7 @@ public Map postProcessOperationsWithModels(Map o if (operations != null) { List ops = (List) operations.get("operation"); for (CodegenOperation operation : ops) { - operation.httpMethod = operation.httpMethod.toLowerCase(); + operation.httpMethod = operation.httpMethod.toLowerCase(Locale.ROOT); if ("Void".equalsIgnoreCase(operation.returnType)) { operation.returnType = null; @@ -251,7 +251,7 @@ private void manageOperationNames(PathItem path, String pathname) { serviceIdTemp = computeServiceId(pathname, entry); entry.getValue().addExtension("x-serviceid", serviceIdTemp); entry.getValue().addExtension("x-serviceid-varname", - serviceIdTemp.toUpperCase() + "_SERVICE_ID"); + serviceIdTemp.toUpperCase(Locale.ROOT) + "_SERVICE_ID"); } } } @@ -284,7 +284,7 @@ private String camelizePath(String path) { pattern = Pattern.compile("(_)(.)"); matcher = pattern.matcher(word); while (matcher.find()) { - word = matcher.replaceFirst(matcher.group(2).toUpperCase()); + word = matcher.replaceFirst(matcher.group(2).toUpperCase(Locale.ROOT)); matcher = pattern.matcher(word); } return word; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClientCodegen.java index 77e804f1837b..2991842b88d2 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptClientCodegen.java @@ -18,7 +18,12 @@ package org.openapitools.codegen.languages; import com.google.common.base.Strings; - +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.info.Info; +import io.swagger.v3.oas.models.info.License; +import io.swagger.v3.oas.models.media.ArraySchema; +import io.swagger.v3.oas.models.media.Schema; +import org.apache.commons.lang3.StringUtils; import org.openapitools.codegen.CliOption; import org.openapitools.codegen.CodegenConfig; import org.openapitools.codegen.CodegenConstants; @@ -27,18 +32,9 @@ import org.openapitools.codegen.CodegenParameter; import org.openapitools.codegen.CodegenProperty; import org.openapitools.codegen.CodegenType; -import org.openapitools.codegen.SupportingFile; import org.openapitools.codegen.DefaultCodegen; +import org.openapitools.codegen.SupportingFile; import org.openapitools.codegen.utils.ModelUtils; - -import io.swagger.v3.oas.models.media.*; -import io.swagger.v3.oas.models.PathItem; -import io.swagger.v3.oas.models.PathItem.HttpMethod; -import io.swagger.v3.oas.models.*; -import io.swagger.v3.oas.models.parameters.*; -import io.swagger.v3.oas.models.info.*; - -import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -48,6 +44,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.List; +import java.util.Locale; import java.util.Map; public class JavascriptClientCodegen extends DefaultCodegen implements CodegenConfig { @@ -1132,7 +1129,7 @@ public String toEnumVarName(String value, String datatype) { // for symbol, e.g. $, # if (getSymbolName(value) != null) { - return (getSymbolName(value)).toUpperCase(); + return (getSymbolName(value)).toUpperCase(Locale.ROOT); } return value; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptFlowtypedClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptFlowtypedClientCodegen.java index 877824582291..cc0c78c387f3 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptFlowtypedClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptFlowtypedClientCodegen.java @@ -30,7 +30,7 @@ import java.util.*; public class JavascriptFlowtypedClientCodegen extends AbstractTypeScriptClientCodegen { - private static final SimpleDateFormat SNAPSHOT_SUFFIX_FORMAT = new SimpleDateFormat("yyyyMMddHHmm"); + private static final SimpleDateFormat SNAPSHOT_SUFFIX_FORMAT = new SimpleDateFormat("yyyyMMddHHmm", Locale.ROOT); public static final String NPM_NAME = "npmName"; public static final String NPM_VERSION = "npmVersion"; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/LuaClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/LuaClientCodegen.java index b5125aab3b77..c41deb8be3d6 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/LuaClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/LuaClientCodegen.java @@ -17,21 +17,32 @@ package org.openapitools.codegen.languages; -import org.openapitools.codegen.*; -import org.openapitools.codegen.utils.ModelUtils; -import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.Operation; -import io.swagger.v3.oas.models.media.*; -import io.swagger.v3.oas.models.responses.ApiResponse; - -import java.io.File; -import java.util.*; - +import io.swagger.v3.oas.models.media.ArraySchema; +import io.swagger.v3.oas.models.media.Schema; import org.apache.commons.lang3.StringUtils; - +import org.openapitools.codegen.CliOption; +import org.openapitools.codegen.CodegenConfig; +import org.openapitools.codegen.CodegenConstants; +import org.openapitools.codegen.CodegenOperation; +import org.openapitools.codegen.CodegenParameter; +import org.openapitools.codegen.CodegenProperty; +import org.openapitools.codegen.CodegenType; +import org.openapitools.codegen.DefaultCodegen; +import org.openapitools.codegen.SupportingFile; +import org.openapitools.codegen.utils.ModelUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.File; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.ListIterator; +import java.util.Locale; +import java.util.Map; + public class LuaClientCodegen extends DefaultCodegen implements CodegenConfig { private static final Logger LOGGER = LoggerFactory.getLogger(LuaClientCodegen.class); @@ -403,7 +414,7 @@ public Map postProcessOperationsWithModels(Map o // find the datatype of the parameter //final CodegenParameter cp = op.pathParams.get(pathParamIndex); // TODO: Handle non-primitives… - //luaPath = luaPath + cp.dataType.toLowerCase(); + //luaPath = luaPath + cp.dataType.toLowerCase(Locale.ROOT); luaPath = luaPath + "/%s"; pathParamIndex++; } else if (items[i].length() != 0) { @@ -514,11 +525,11 @@ public String toEnumVarName(String name, String datatype) { // for symbol, e.g. $, # if (getSymbolName(name) != null) { - return getSymbolName(name).toUpperCase(); + return getSymbolName(name).toUpperCase(Locale.ROOT); } // string - String enumName = sanitizeName(underscore(name).toUpperCase()); + String enumName = sanitizeName(underscore(name).toUpperCase(Locale.ROOT)); enumName = enumName.replaceFirst("^_", ""); enumName = enumName.replaceFirst("_$", ""); @@ -531,7 +542,7 @@ public String toEnumVarName(String name, String datatype) { @Override public String toEnumName(CodegenProperty property) { - String enumName = underscore(toModelName(property.name)).toUpperCase(); + String enumName = underscore(toModelName(property.name)).toUpperCase(Locale.ROOT); // remove [] for array or map of enum enumName = enumName.replace("[]", ""); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/NodeJSServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/NodeJSServerCodegen.java index 662b13d3a92a..d9260bce9285 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/NodeJSServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/NodeJSServerCodegen.java @@ -20,25 +20,37 @@ import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Lists; import com.google.common.collect.Multimap; - -import org.openapitools.codegen.*; -import org.openapitools.codegen.utils.*; -import io.swagger.v3.oas.models.*; -import io.swagger.v3.oas.models.info.*; -import io.swagger.v3.oas.models.PathItem.*; +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.Operation; +import io.swagger.v3.oas.models.PathItem; +import io.swagger.v3.oas.models.PathItem.HttpMethod; import io.swagger.v3.oas.models.Paths; - +import io.swagger.v3.oas.models.info.Info; +import org.openapitools.codegen.CliOption; +import org.openapitools.codegen.CodegenConfig; +import org.openapitools.codegen.CodegenOperation; +import org.openapitools.codegen.CodegenParameter; +import org.openapitools.codegen.CodegenResponse; +import org.openapitools.codegen.CodegenType; +import org.openapitools.codegen.DefaultCodegen; +import org.openapitools.codegen.SupportingFile; +import org.openapitools.codegen.utils.URLPathUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.File; import java.net.URL; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; +import java.util.Map; import java.util.Map.Entry; import java.util.regex.Pattern; -import org.apache.commons.lang3.StringUtils; - public class NodeJSServerCodegen extends DefaultCodegen implements CodegenConfig { private static final Logger LOGGER = LoggerFactory.getLogger(NodeJSServerCodegen.class); @@ -232,7 +244,7 @@ public Map postProcessOperationsWithModels(Map o @SuppressWarnings("unchecked") List operations = (List) objectMap.get("operation"); for (CodegenOperation operation : operations) { - operation.httpMethod = operation.httpMethod.toLowerCase(); + operation.httpMethod = operation.httpMethod.toLowerCase(Locale.ROOT); List params = operation.allParams; if (params != null && params.size() == 0) { @@ -368,7 +380,7 @@ public void preprocessOpenAPI(OpenAPI openAPI) { .replaceAll("^[-]*", "") .replaceAll("[-]*$", "") .replaceAll("[-]{2,}", "-") - .toLowerCase(); + .toLowerCase(Locale.ROOT); this.additionalProperties.put("projectName", projectName); } } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ObjcClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ObjcClientCodegen.java index 8a46bc575ae2..6800e3af3896 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ObjcClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ObjcClientCodegen.java @@ -17,6 +17,9 @@ package org.openapitools.codegen.languages; +import io.swagger.v3.oas.models.media.ArraySchema; +import io.swagger.v3.oas.models.media.Schema; +import org.apache.commons.lang3.StringUtils; import org.openapitools.codegen.CliOption; import org.openapitools.codegen.CodegenConfig; import org.openapitools.codegen.CodegenConstants; @@ -28,10 +31,6 @@ import org.openapitools.codegen.DefaultCodegen; import org.openapitools.codegen.SupportingFile; import org.openapitools.codegen.utils.ModelUtils; - -import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.Operation; -import io.swagger.v3.oas.models.media.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,11 +39,10 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Set; -import org.apache.commons.lang3.StringUtils; - public class ObjcClientCodegen extends DefaultCodegen implements CodegenConfig { private static final Logger LOGGER = LoggerFactory.getLogger(ObjcClientCodegen.class); @@ -341,8 +339,8 @@ public String getSchemaType(Schema p) { } // TODO avoid using toLowerCase as typeMapping should be case-sensitive - if (typeMapping.containsKey(openAPIType.toLowerCase())) { - type = typeMapping.get(openAPIType.toLowerCase()); + if (typeMapping.containsKey(openAPIType.toLowerCase(Locale.ROOT))) { + type = typeMapping.get(openAPIType.toLowerCase(Locale.ROOT)); if (languageSpecificPrimitives.contains(type) && !foundationClasses.contains(type)) { return toModelNameWithoutReservedWordCheck(type); } @@ -417,7 +415,7 @@ else if (languageSpecificPrimitives.contains(openAPIType)) { @Override public boolean isDataTypeBinary(String dataType) { - return dataType.toLowerCase().startsWith("nsdata"); + return dataType.toLowerCase(Locale.ROOT).startsWith("nsdata"); } @Override diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpLaravelServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpLaravelServerCodegen.java index ed9215d40101..85bd0497678a 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpLaravelServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpLaravelServerCodegen.java @@ -204,7 +204,7 @@ public Map postProcessOperations(Map objs) { List operations = (List) objectMap.get("operation"); for (CodegenOperation op : operations) { - op.httpMethod = op.httpMethod.toLowerCase(); + op.httpMethod = op.httpMethod.toLowerCase(Locale.ROOT); // check to see if the path contains ".", which is not supported by PHP laravel // ref: https://github.com/swagger-api/swagger-codegen/issues/6897 if (op.path != null && op.path.contains(".")) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpLumenServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpLumenServerCodegen.java index 515e82d68cea..d81856c31340 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpLumenServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpLumenServerCodegen.java @@ -17,10 +17,12 @@ package org.openapitools.codegen.languages; -import org.openapitools.codegen.*; +import org.openapitools.codegen.CodegenOperation; +import org.openapitools.codegen.CodegenType; +import org.openapitools.codegen.SupportingFile; -import java.util.*; import java.io.File; +import java.util.*; public class PhpLumenServerCodegen extends AbstractPhpCodegen { @SuppressWarnings("hiding") @@ -115,7 +117,7 @@ public Map postProcessOperationsWithModels(Map o List operations = (List) objectMap.get("operation"); for (CodegenOperation op : operations) { - op.httpMethod = op.httpMethod.toLowerCase(); + op.httpMethod = op.httpMethod.toLowerCase(Locale.ROOT); // check to see if the path contains ".", which is not supported by Lumen if (op.path != null && op.path.contains(".")) { throw new IllegalArgumentException("'.' (dot) is not supported by PHP Lumen."); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java index e045cefab3d9..5baf8b5d7317 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java @@ -17,17 +17,11 @@ package org.openapitools.codegen.languages; +import io.swagger.v3.oas.models.media.ArraySchema; +import io.swagger.v3.oas.models.media.Schema; +import org.apache.commons.lang3.StringUtils; import org.openapitools.codegen.*; import org.openapitools.codegen.utils.ModelUtils; - -import io.swagger.v3.oas.models.media.*; -import io.swagger.v3.oas.models.PathItem; -import io.swagger.v3.oas.models.PathItem.HttpMethod; -import io.swagger.v3.oas.models.*; -import io.swagger.v3.oas.models.parameters.*; -import io.swagger.v3.core.util.Yaml; - -import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -194,7 +188,7 @@ public void setBundleName(String bundleName) { this.bundleName = bundleName; this.bundleClassName = bundleName + "Bundle"; this.bundleExtensionName = bundleName + "Extension"; - this.bundleAlias = snakeCase(bundleName).replaceAll("([A-Z]+)", "\\_$1").toLowerCase(); + this.bundleAlias = snakeCase(bundleName).replaceAll("([A-Z]+)", "\\_$1").toLowerCase(Locale.ROOT); } public void setPhpLegacySupport(Boolean support) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpZendExpressivePathHandlerServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpZendExpressivePathHandlerServerCodegen.java index fee2490ff50e..f8b5a5c4bce4 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpZendExpressivePathHandlerServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpZendExpressivePathHandlerServerCodegen.java @@ -17,23 +17,18 @@ package org.openapitools.codegen.languages; -import io.swagger.v3.oas.models.PathItem; -import org.openapitools.codegen.*; - -import io.swagger.v3.oas.models.PathItem.HttpMethod; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.Operation; +import io.swagger.v3.oas.models.PathItem; +import io.swagger.v3.oas.models.PathItem.HttpMethod; import io.swagger.v3.oas.models.media.*; -import io.swagger.v3.core.util.Yaml; -import io.swagger.v3.oas.models.parameters.*; +import io.swagger.v3.oas.models.parameters.Parameter; +import io.swagger.v3.oas.models.parameters.QueryParameter; +import org.openapitools.codegen.*; import org.openapitools.codegen.utils.ModelUtils; - import java.io.File; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; public class PhpZendExpressivePathHandlerServerCodegen extends AbstractPhpCodegen { @@ -120,7 +115,7 @@ public void addOperationToGroup(String tag, String resourcePath, Operation opera } } if (counter == 0) { - co.operationIdLowerCase = co.operationId.toLowerCase(); + co.operationIdLowerCase = co.operationId.toLowerCase(Locale.ROOT); opList.add(co); co.baseName = tag; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PowerShellClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PowerShellClientCodegen.java index 9536d72c9a99..f16a7528fa71 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PowerShellClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PowerShellClientCodegen.java @@ -17,14 +17,18 @@ package org.openapitools.codegen.languages; -import org.openapitools.codegen.*; - -import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.Operation; -import io.swagger.v3.oas.models.media.*; -import org.openapitools.codegen.utils.ModelUtils; - +import io.swagger.v3.oas.models.media.ArraySchema; +import io.swagger.v3.oas.models.media.Schema; import org.apache.commons.lang3.StringUtils; +import org.openapitools.codegen.CliOption; +import org.openapitools.codegen.CodegenConfig; +import org.openapitools.codegen.CodegenConstants; +import org.openapitools.codegen.CodegenOperation; +import org.openapitools.codegen.CodegenParameter; +import org.openapitools.codegen.CodegenType; +import org.openapitools.codegen.DefaultCodegen; +import org.openapitools.codegen.SupportingFile; +import org.openapitools.codegen.utils.ModelUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -33,6 +37,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Map; import static java.util.UUID.randomUUID; @@ -40,7 +45,7 @@ public class PowerShellClientCodegen extends DefaultCodegen implements CodegenConfig { private static final Logger LOGGER = LoggerFactory.getLogger(PowerShellClientCodegen.class); - private String packageGuid = "{" + randomUUID().toString().toUpperCase() + "}"; + private String packageGuid = "{" + randomUUID().toString().toUpperCase(Locale.ROOT) + "}"; protected String sourceFolder = "src"; protected String packageName = "Org.OpenAPITools"; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java index d3b5e9c7c4a7..0b8455108e2a 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java @@ -17,6 +17,9 @@ package org.openapitools.codegen.languages; +import io.swagger.v3.oas.models.media.ArraySchema; +import io.swagger.v3.oas.models.media.Schema; +import org.apache.commons.lang3.StringUtils; import org.openapitools.codegen.CliOption; import org.openapitools.codegen.CodegenConfig; import org.openapitools.codegen.CodegenConstants; @@ -27,11 +30,6 @@ import org.openapitools.codegen.DefaultCodegen; import org.openapitools.codegen.SupportingFile; import org.openapitools.codegen.utils.ModelUtils; -import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.Operation; -import io.swagger.v3.oas.models.media.*; -import io.swagger.v3.oas.models.responses.ApiResponse; -import io.swagger.v3.parser.util.SchemaTypeUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,13 +38,10 @@ import java.util.Arrays; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.regex.Pattern; -import org.apache.commons.lang3.StringUtils; - -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; - public class PythonClientCodegen extends DefaultCodegen implements CodegenConfig { private static final Logger LOGGER = LoggerFactory.getLogger(PythonClientCodegen.class); @@ -436,7 +431,7 @@ public String toVarName(String name) { // if it's all uppper case, convert to lower case if (name.matches("^[A-Z_]*$")) { - name = name.toLowerCase(); + name = name.toLowerCase(Locale.ROOT); } // underscore the variable name diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonFlaskConnexionServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonFlaskConnexionServerCodegen.java index b1a5c7cf4863..009dfeff8ba0 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonFlaskConnexionServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonFlaskConnexionServerCodegen.java @@ -20,21 +20,21 @@ import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Lists; import com.google.common.collect.Multimap; - -import org.openapitools.codegen.*; -import org.openapitools.codegen.utils.ModelUtils; -import io.swagger.v3.oas.models.media.*; +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.Operation; import io.swagger.v3.oas.models.PathItem; import io.swagger.v3.oas.models.PathItem.HttpMethod; -import io.swagger.v3.oas.models.*; - -import java.io.File; -import java.util.*; - +import io.swagger.v3.oas.models.media.ArraySchema; +import io.swagger.v3.oas.models.media.Schema; import org.apache.commons.lang3.StringUtils; +import org.openapitools.codegen.*; +import org.openapitools.codegen.utils.ModelUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.File; +import java.util.*; + public class PythonFlaskConnexionServerCodegen extends DefaultCodegen implements CodegenConfig { private static final Logger LOGGER = LoggerFactory.getLogger(PythonFlaskConnexionServerCodegen.class); @@ -400,7 +400,7 @@ public String toVarName(String name) { // if it's all uppper case, convert to lower case if (name.matches("^[A-Z_]*$")) { - name = name.toLowerCase(); + name = name.toLowerCase(Locale.ROOT); } // underscore the variable name diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java index b3da6e6a82d5..6be3b9814d27 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RClientCodegen.java @@ -428,11 +428,11 @@ public String toEnumVarName(String name, String datatype) { // for symbol, e.g. $, # if (getSymbolName(name) != null) { - return getSymbolName(name).toUpperCase(); + return getSymbolName(name).toUpperCase(Locale.ROOT); } // string - String enumName = sanitizeName(underscore(name).toUpperCase()); + String enumName = sanitizeName(underscore(name).toUpperCase(Locale.ROOT)); enumName = enumName.replaceFirst("^_", ""); enumName = enumName.replaceFirst("_$", ""); @@ -445,7 +445,7 @@ public String toEnumVarName(String name, String datatype) { @Override public String toEnumName(CodegenProperty property) { - String enumName = underscore(toModelName(property.name)).toUpperCase(); + String enumName = underscore(toModelName(property.name)).toUpperCase(Locale.ROOT); // remove [] for array or map of enum enumName = enumName.replace("[]", ""); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RubyClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RubyClientCodegen.java index b80b423311d8..539dda6d2a64 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RubyClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RubyClientCodegen.java @@ -17,23 +17,18 @@ package org.openapitools.codegen.languages; -import org.openapitools.codegen.CliOption; -import org.openapitools.codegen.CodegenConstants; -import org.openapitools.codegen.CodegenParameter; -import org.openapitools.codegen.CodegenProperty; -import org.openapitools.codegen.CodegenType; -import org.openapitools.codegen.SupportingFile; +import io.swagger.v3.oas.models.media.Schema; +import org.apache.commons.lang3.StringUtils; +import org.openapitools.codegen.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.io.File; import java.util.Arrays; import java.util.Iterator; +import java.util.Locale; import java.util.Map; -import io.swagger.v3.oas.models.media.*; -import org.apache.commons.lang3.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - public class RubyClientCodegen extends AbstractRubyCodegen { private static final Logger LOGGER = LoggerFactory.getLogger(RubyClientCodegen.class); public static final String GEM_NAME = "gemName"; @@ -90,7 +85,7 @@ public RubyClientCodegen() { for (String word : Arrays.asList( "local_var_path", "query_params", "header_params", "_header_accept", "_header_accept_result", "_header_content_type", "form_params", "post_body", "auth_names")) { - reservedWords.add(word.toLowerCase()); + reservedWords.add(word.toLowerCase(Locale.ROOT)); } @@ -416,7 +411,7 @@ public String toEnumVarName(String name, String datatype) { } // string - String enumName = sanitizeName(underscore(name).toUpperCase()); + String enumName = sanitizeName(underscore(name).toUpperCase(Locale.ROOT)); enumName = enumName.replaceFirst("^_", ""); enumName = enumName.replaceFirst("_$", ""); @@ -429,7 +424,7 @@ public String toEnumVarName(String name, String datatype) { @Override public String toEnumName(CodegenProperty property) { - String enumName = underscore(toModelName(property.name)).toUpperCase(); + String enumName = underscore(toModelName(property.name)).toUpperCase(Locale.ROOT); enumName = enumName.replaceFirst("^_", ""); enumName = enumName.replaceFirst("_$", ""); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RubyOnRailsServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RubyOnRailsServerCodegen.java index 1c58af9123ed..fe929e0270df 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RubyOnRailsServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RubyOnRailsServerCodegen.java @@ -28,6 +28,7 @@ import io.swagger.v3.oas.models.media.*; import java.io.File; +import java.util.Locale; import java.util.Map; import org.slf4j.Logger; @@ -36,7 +37,7 @@ public class RubyOnRailsServerCodegen extends AbstractRubyCodegen { private static final Logger LOGGER = LoggerFactory.getLogger(RubyOnRailsServerCodegen.class); - private static final SimpleDateFormat MIGRATE_FILE_NAME_FORMAT = new SimpleDateFormat("yyyyMMddHHmmss"); + private static final SimpleDateFormat MIGRATE_FILE_NAME_FORMAT = new SimpleDateFormat("yyyyMMddHHmmss", Locale.ROOT); protected String gemName; protected String moduleName; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java index dd65ab3afc8a..2625c37d06cf 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustClientCodegen.java @@ -20,7 +20,14 @@ import io.swagger.v3.oas.models.media.ArraySchema; import io.swagger.v3.oas.models.media.Schema; import org.apache.commons.lang3.StringUtils; -import org.openapitools.codegen.*; +import org.openapitools.codegen.CliOption; +import org.openapitools.codegen.CodegenConfig; +import org.openapitools.codegen.CodegenConstants; +import org.openapitools.codegen.CodegenOperation; +import org.openapitools.codegen.CodegenProperty; +import org.openapitools.codegen.CodegenType; +import org.openapitools.codegen.DefaultCodegen; +import org.openapitools.codegen.SupportingFile; import org.openapitools.codegen.utils.ModelUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -29,6 +36,7 @@ import java.util.Arrays; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Map; public class RustClientCodegen extends DefaultCodegen implements CodegenConfig { @@ -346,7 +354,7 @@ public Map postProcessOperationsWithModels(Map o List operations = (List) objectMap.get("operation"); for (CodegenOperation operation : operations) { // http method verb conversion (e.g. PUT => Put) - operation.httpMethod = camelize(operation.httpMethod.toLowerCase()); + operation.httpMethod = camelize(operation.httpMethod.toLowerCase(Locale.ROOT)); // update return type to conform to rust standard /* if (operation.returnType != null) { @@ -458,11 +466,11 @@ public String toEnumVarName(String name, String datatype) { // for symbol, e.g. $, # if (getSymbolName(name) != null) { - return getSymbolName(name).toUpperCase(); + return getSymbolName(name).toUpperCase(Locale.ROOT); } // string - String enumName = sanitizeName(underscore(name).toUpperCase()); + String enumName = sanitizeName(underscore(name).toUpperCase(Locale.ROOT)); enumName = enumName.replaceFirst("^_", ""); enumName = enumName.replaceFirst("_$", ""); @@ -475,7 +483,7 @@ public String toEnumVarName(String name, String datatype) { @Override public String toEnumName(CodegenProperty property) { - String enumName = underscore(toModelName(property.name)).toUpperCase(); + String enumName = underscore(toModelName(property.name)).toUpperCase(Locale.ROOT); // remove [] for array or map of enum enumName = enumName.replace("[]", ""); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustServerCodegen.java index 70bfeb56eddb..0486327f3e21 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RustServerCodegen.java @@ -25,7 +25,6 @@ import io.swagger.v3.oas.models.media.Schema; import io.swagger.v3.oas.models.media.XML; import io.swagger.v3.oas.models.parameters.Parameter; - import org.apache.commons.lang3.StringUtils; import org.openapitools.codegen.CliOption; import org.openapitools.codegen.CodegenConfig; @@ -52,6 +51,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Map.Entry; import java.util.Set; @@ -415,7 +415,7 @@ public String toEnumVarName(String value, String datatype) { // for symbol, e.g. $, # else if (getSymbolName(value) != null) { - var = getSymbolName(value).toUpperCase(); + var = getSymbolName(value).toUpperCase(Locale.ROOT); } // number @@ -429,7 +429,7 @@ else if ("Integer".equals(datatype) || "Long".equals(datatype) || } // string - var = value.replaceAll("\\W+", "_").toUpperCase(); + var = value.replaceAll("\\W+", "_").toUpperCase(Locale.ROOT); if (var.matches("\\d.*")) { var = "_" + var; } else { @@ -469,15 +469,15 @@ public String escapeUnsafeCharacters(String input) { } boolean isMimetypeXml(String mimetype) { - return mimetype.toLowerCase().startsWith("application/xml"); + return mimetype.toLowerCase(Locale.ROOT).startsWith("application/xml"); } boolean isMimetypePlainText(String mimetype) { - return mimetype.toLowerCase().startsWith("text/plain"); + return mimetype.toLowerCase(Locale.ROOT).startsWith("text/plain"); } boolean isMimetypeWwwFormUrlEncoded(String mimetype) { - return mimetype.toLowerCase().startsWith("application/x-www-form-urlencoded"); + return mimetype.toLowerCase(Locale.ROOT).startsWith("application/x-www-form-urlencoded"); } @Override @@ -490,7 +490,7 @@ public CodegenOperation fromOperation(String path, String httpMethod, Operation // // Construct a Rust constant (uppercase) token name, and ensure it's // unique using a numeric tie-breaker if required. - String basePathId = sanitizeName(op.path.replace("/", "_").replace("{", "").replace("}", "").replaceAll("^_", "")).toUpperCase(); + String basePathId = sanitizeName(op.path.replace("/", "_").replace("{", "").replace("}", "").replaceAll("^_", "")).toUpperCase(Locale.ROOT); String pathId = basePathId; int pathIdTiebreaker = 2; boolean found = false; @@ -521,11 +521,11 @@ public CodegenOperation fromOperation(String path, String httpMethod, Operation } op.vendorExtensions.put("operation_id", underscore(op.operationId)); - op.vendorExtensions.put("uppercase_operation_id", underscore(op.operationId).toUpperCase()); + op.vendorExtensions.put("uppercase_operation_id", underscore(op.operationId).toUpperCase(Locale.ROOT)); op.vendorExtensions.put("path", op.path.replace("{", ":").replace("}", "")); op.vendorExtensions.put("PATH_ID", pathId); op.vendorExtensions.put("hasPathParams", !op.pathParams.isEmpty()); - op.vendorExtensions.put("HttpMethod", Character.toUpperCase(op.httpMethod.charAt(0)) + op.httpMethod.substring(1).toLowerCase()); + op.vendorExtensions.put("HttpMethod", Character.toUpperCase(op.httpMethod.charAt(0)) + op.httpMethod.substring(1).toLowerCase(Locale.ROOT)); for (CodegenParameter param : op.allParams) { processParam(param, op); } @@ -603,10 +603,10 @@ public CodegenOperation fromOperation(String path, String httpMethod, Operation responseId = "Status" + rsp.code; } rsp.vendorExtensions.put("x-responseId", responseId); - rsp.vendorExtensions.put("x-uppercaseResponseId", underscore(responseId).toUpperCase()); - rsp.vendorExtensions.put("uppercase_operation_id", underscore(op.operationId).toUpperCase()); + rsp.vendorExtensions.put("x-uppercaseResponseId", underscore(responseId).toUpperCase(Locale.ROOT)); + rsp.vendorExtensions.put("uppercase_operation_id", underscore(op.operationId).toUpperCase(Locale.ROOT)); if (rsp.dataType != null) { - rsp.vendorExtensions.put("uppercase_data_type", (rsp.dataType.replace("models::", "")).toUpperCase()); + rsp.vendorExtensions.put("uppercase_data_type", (rsp.dataType.replace("models::", "")).toUpperCase(Locale.ROOT)); // Default to producing json if nothing else is specified if (producesXml) { @@ -675,7 +675,7 @@ public Map postProcessOperationsWithModels(Map o if (op.bodyParam != null) { // Default to consuming json - op.bodyParam.vendorExtensions.put("uppercase_operation_id", underscore(op.operationId).toUpperCase()); + op.bodyParam.vendorExtensions.put("uppercase_operation_id", underscore(op.operationId).toUpperCase(Locale.ROOT)); if (consumesXml) { op.bodyParam.vendorExtensions.put("consumesXml", true); } else if (consumesPlainText) { @@ -688,7 +688,7 @@ public Map postProcessOperationsWithModels(Map o for (CodegenParameter param : op.bodyParams) { processParam(param, op); - param.vendorExtensions.put("uppercase_operation_id", underscore(op.operationId).toUpperCase()); + param.vendorExtensions.put("uppercase_operation_id", underscore(op.operationId).toUpperCase(Locale.ROOT)); // Default to producing json if nothing else is specified if (consumesXml) { @@ -807,7 +807,7 @@ public String toInstantiationType(Schema p) { @Override public CodegenModel fromModel(String name, Schema model, Map allDefinitions) { CodegenModel mdl = super.fromModel(name, model, allDefinitions); - mdl.vendorExtensions.put("upperCaseName", name.toUpperCase()); + mdl.vendorExtensions.put("upperCaseName", name.toUpperCase(Locale.ROOT)); if (!StringUtils.isEmpty(model.get$ref())) { Schema schema = allDefinitions.get(ModelUtils.getSimpleRef(model.get$ref())); mdl.dataType = typeMapping.get(schema.getType()); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaGatlingCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaGatlingCodegen.java index 11ae41342e80..df68da860498 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaGatlingCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalaGatlingCodegen.java @@ -17,22 +17,31 @@ package org.openapitools.codegen.languages; -import org.openapitools.codegen.*; -import org.openapitools.codegen.utils.*; -import org.openapitools.codegen.mustache.*; -import io.swagger.v3.oas.models.security.SecurityScheme; -import io.swagger.v3.oas.models.*; -import io.swagger.v3.oas.models.media.*; -import io.swagger.v3.oas.models.responses.ApiResponse; -import io.swagger.v3.oas.models.parameters.*; +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.Operation; +import io.swagger.v3.oas.models.PathItem; +import io.swagger.v3.oas.models.media.ArraySchema; +import io.swagger.v3.oas.models.media.Schema; +import io.swagger.v3.oas.models.parameters.Parameter; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; +import org.openapitools.codegen.CodegenConfig; +import org.openapitools.codegen.CodegenType; +import org.openapitools.codegen.SupportingFile; +import org.openapitools.codegen.utils.ModelUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; -import java.util.*; import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; public class ScalaGatlingCodegen extends AbstractScalaCodegen implements CodegenConfig { private static final Logger LOGGER = LoggerFactory.getLogger(ScalaGatlingCodegen.class); @@ -324,10 +333,10 @@ private void prepareGatlingData(Operation operation, Set parameters, vendorList.add(extensionMap); parameterNames.add(parameter.getName()); } - operation.addExtension("x-gatling-" + parameterType.toLowerCase() + "-params", vendorList); - operation.addExtension("x-gatling-" + parameterType.toLowerCase() + "-feeder", operation.getOperationId() + parameterType.toUpperCase() + "Feeder"); + operation.addExtension("x-gatling-" + parameterType.toLowerCase(Locale.ROOT) + "-params", vendorList); + operation.addExtension("x-gatling-" + parameterType.toLowerCase(Locale.ROOT) + "-feeder", operation.getOperationId() + parameterType.toUpperCase(Locale.ROOT) + "Feeder"); try { - FileUtils.writeStringToFile(new File(outputFolder + File.separator + dataFolder + File.separator + operation.getOperationId() + "-" + parameterType.toLowerCase() + "Params.csv"), StringUtils.join(parameterNames, ",")); + FileUtils.writeStringToFile(new File(outputFolder + File.separator + dataFolder + File.separator + operation.getOperationId() + "-" + parameterType.toLowerCase(Locale.ROOT) + "Params.csv"), StringUtils.join(parameterNames, ",")); } catch (IOException ioe) { LOGGER.error("Could not create feeder file for operationId" + operation.getOperationId(), ioe); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalatraServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalatraServerCodegen.java index 353152afe7d3..a6818980fefc 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalatraServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ScalatraServerCodegen.java @@ -17,19 +17,17 @@ package org.openapitools.codegen.languages; -import org.openapitools.codegen.*; -import org.openapitools.codegen.utils.*; -import org.openapitools.codegen.mustache.*; -import io.swagger.v3.oas.models.security.SecurityScheme; -import io.swagger.v3.oas.models.*; -import io.swagger.v3.oas.models.media.*; -import io.swagger.v3.oas.models.responses.ApiResponse; -import io.swagger.v3.oas.models.parameters.*; +import org.openapitools.codegen.CodegenConfig; +import org.openapitools.codegen.CodegenConstants; +import org.openapitools.codegen.CodegenOperation; +import org.openapitools.codegen.CodegenType; +import org.openapitools.codegen.SupportingFile; import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Map; public class ScalatraServerCodegen extends AbstractScalaCodegen implements CodegenConfig { @@ -146,7 +144,7 @@ public Map postProcessOperationsWithModels(Map o List operationList = (List) operations.get("operation"); for (CodegenOperation op : operationList) { // force http method to lower case - op.httpMethod = op.httpMethod.toLowerCase(); + op.httpMethod = op.httpMethod.toLowerCase(Locale.ROOT); String[] items = op.path.split("/", -1); String scalaPath = ""; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java index 4411e27b81b9..5e6f269880e5 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java @@ -18,11 +18,9 @@ package org.openapitools.codegen.languages; import com.samskivert.mustache.Mustache; - import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.Operation; import io.swagger.v3.oas.models.PathItem; - import org.apache.commons.lang3.tuple.Pair; import org.openapitools.codegen.CliOption; import org.openapitools.codegen.CodegenConstants; @@ -42,7 +40,12 @@ import java.io.File; import java.net.URL; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; import java.util.regex.Matcher; import java.util.stream.Collectors; @@ -154,9 +157,9 @@ public void processOpts() { additionalProperties.put("configOptions", configOptions); // Process java8 option before common java ones to change the default dateLibrary to java8. - System.out.println("----------------------------------"); + LOGGER.info("----------------------------------"); if (additionalProperties.containsKey(JAVA_8)) { - System.out.println("has JAVA8"); + LOGGER.info("has JAVA8"); this.setJava8(Boolean.valueOf(additionalProperties.get(JAVA_8).toString())); additionalProperties.put(JAVA_8, java8); } @@ -260,7 +263,7 @@ public void processOpts() { additionalProperties.put("delegate-method", true); } else { throw new IllegalArgumentException( - String.format("Can not generate code with `%s` and `%s` true while `%s` is false.", + String.format(Locale.ROOT, "Can not generate code with `%s` and `%s` true while `%s` is false.", DELEGATE_PATTERN, INTERFACE_ONLY, JAVA_8)); } } @@ -434,7 +437,7 @@ public void preprocessOpenAPI(OpenAPI openAPI) { // Drop any API suffix if (title != null) { title = title.trim().replace(" ", "-"); - if (title.toUpperCase().endsWith("API")) { + if (title.toUpperCase(Locale.ROOT).endsWith("API")) { title = title.substring(0, title.length() - 3); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/StaticHtml2Generator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/StaticHtml2Generator.java index 9aa8fdaa1018..a975cf63bd70 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/StaticHtml2Generator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/StaticHtml2Generator.java @@ -17,14 +17,13 @@ package org.openapitools.codegen.languages; +import com.fasterxml.jackson.databind.JsonNode; import io.swagger.v3.core.util.Json; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.Operation; import io.swagger.v3.oas.models.info.Info; import io.swagger.v3.oas.models.media.ArraySchema; import io.swagger.v3.oas.models.media.Schema; - -import com.fasterxml.jackson.databind.JsonNode; import org.apache.commons.lang3.StringUtils; import org.openapitools.codegen.CliOption; import org.openapitools.codegen.CodegenConfig; @@ -43,6 +42,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Map; public class StaticHtml2Generator extends DefaultCodegen implements CodegenConfig { @@ -142,7 +142,7 @@ public Map postProcessOperationsWithModels(Map o Map operations = (Map) objs.get("operations"); List operationList = (List) operations.get("operation"); for (CodegenOperation op : operationList) { - op.httpMethod = op.httpMethod.toLowerCase(); + op.httpMethod = op.httpMethod.toLowerCase(Locale.ROOT); for (CodegenResponse response : op.responses) { if ("0".equals(response.code)) { response.code = "default"; @@ -204,7 +204,7 @@ public CodegenOperation fromOperation(String path, String httpMethod, Operation //path is an unescaped variable in the mustache template api.mustache line 82 '<&path>' op.path = sanitizePath(op.path); - op.vendorExtensions.put("x-codegen-httpMethodUpperCase", httpMethod.toUpperCase()); + op.vendorExtensions.put("x-codegen-httpMethodUpperCase", httpMethod.toUpperCase(Locale.ROOT)); return op; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/StaticHtmlGenerator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/StaticHtmlGenerator.java index eced61c947e2..8f34f49bbac9 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/StaticHtmlGenerator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/StaticHtmlGenerator.java @@ -19,12 +19,10 @@ import com.samskivert.mustache.Escapers; import com.samskivert.mustache.Mustache.Compiler; - import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; import io.swagger.v3.oas.models.media.ArraySchema; import io.swagger.v3.oas.models.media.Schema; - import org.openapitools.codegen.CliOption; import org.openapitools.codegen.CodegenConfig; import org.openapitools.codegen.CodegenConstants; @@ -42,6 +40,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Map; public class StaticHtmlGenerator extends DefaultCodegen implements CodegenConfig { @@ -129,7 +128,7 @@ public Map postProcessOperationsWithModels(Map o Map operations = (Map) objs.get("operations"); List operationList = (List) operations.get("operation"); for (CodegenOperation op : operationList) { - op.httpMethod = op.httpMethod.toLowerCase(); + op.httpMethod = op.httpMethod.toLowerCase(Locale.ROOT); for (CodegenResponse response : op.responses) { if ("0".equals(response.code)) { response.code = "default"; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift3Codegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift3Codegen.java index 06c56bad2e7f..a8b3f0d64e53 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift3Codegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift3Codegen.java @@ -584,7 +584,7 @@ public String toEnumVarName(String name, String datatype) { // for symbol, e.g. $, # if (getSymbolName(name) != null) { - return camelize(WordUtils.capitalizeFully(getSymbolName(name).toUpperCase()), true); + return camelize(WordUtils.capitalizeFully(getSymbolName(name).toUpperCase(Locale.ROOT)), true); } // Camelize only when we have a structure defined below diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift4Codegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift4Codegen.java index e920854bf6cf..76e2b0602bdf 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift4Codegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/Swift4Codegen.java @@ -697,7 +697,7 @@ public String toEnumVarName(String name, String datatype) { // for symbol, e.g. $, # if (getSymbolName(name) != null) { - return camelize(WordUtils.capitalizeFully(getSymbolName(name).toUpperCase()), true); + return camelize(WordUtils.capitalizeFully(getSymbolName(name).toUpperCase(Locale.ROOT)), true); } // Camelize only when we have a structure defined below diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SwiftClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SwiftClientCodegen.java index 9cc19982eb61..97aeb0479b22 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SwiftClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SwiftClientCodegen.java @@ -583,7 +583,7 @@ public String toEnumVarName(String name, String datatype) { } // string - String enumName = sanitizeName(underscore(name).toUpperCase()); + String enumName = sanitizeName(underscore(name).toUpperCase(Locale.ROOT)); enumName = enumName.replaceFirst("^_", ""); enumName = enumName.replaceFirst("_$", ""); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java index 2b0f087a34f4..c08a980a3395 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java @@ -32,7 +32,7 @@ public class TypeScriptAngularClientCodegen extends AbstractTypeScriptClientCodegen { private static final Logger LOGGER = LoggerFactory.getLogger(TypeScriptAngularClientCodegen.class); - private static final SimpleDateFormat SNAPSHOT_SUFFIX_FORMAT = new SimpleDateFormat("yyyyMMddHHmm"); + private static final SimpleDateFormat SNAPSHOT_SUFFIX_FORMAT = new SimpleDateFormat("yyyyMMddHHmm", Locale.ROOT); private static final String X_DISCRIMINATOR_TYPE = "x-discriminator-value"; private static String CLASS_NAME_SUFFIX_PATTERN = "^[a-zA-Z0-9]*$"; private static String FILE_NAME_SUFFIX_PATTERN = "^[a-zA-Z0-9.-]*$"; @@ -539,7 +539,7 @@ private String removeModelSuffixIfNecessary(String name) { private void validateFileSuffixArgument(String argument, String value) { if (!value.matches(FILE_NAME_SUFFIX_PATTERN)) { throw new IllegalArgumentException( - String.format("%s file suffix only allows '.', '-' and alphanumeric characters.", argument) + String.format(Locale.ROOT, "%s file suffix only allows '.', '-' and alphanumeric characters.", argument) ); } } @@ -553,7 +553,7 @@ private void validateFileSuffixArgument(String argument, String value) { private void validateClassSuffixArgument(String argument, String value) { if (!value.matches(CLASS_NAME_SUFFIX_PATTERN)) { throw new IllegalArgumentException( - String.format("%s class suffix only allows alphanumeric characters.", argument) + String.format(Locale.ROOT, "%s class suffix only allows alphanumeric characters.", argument) ); } } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAureliaClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAureliaClientCodegen.java index fe1a44b06b97..90aa18de8630 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAureliaClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAureliaClientCodegen.java @@ -17,10 +17,16 @@ package org.openapitools.codegen.languages; -import org.openapitools.codegen.*; +import org.openapitools.codegen.CliOption; +import org.openapitools.codegen.CodegenModel; +import org.openapitools.codegen.CodegenOperation; +import org.openapitools.codegen.CodegenParameter; +import org.openapitools.codegen.CodegenProperty; +import org.openapitools.codegen.SupportingFile; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.TreeSet; @@ -107,7 +113,7 @@ public Map postProcessOperationsWithModels(Map o List operationList = (List) operations.get("operation"); for (CodegenOperation op : operationList) { // Aurelia uses "asGet", "asPost", ... methods; change the method format - op.httpMethod = initialCaps(op.httpMethod.toLowerCase()); + op.httpMethod = initialCaps(op.httpMethod.toLowerCase(Locale.ROOT)); // Collect models to be imported for (CodegenParameter param : op.allParams) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptFetchClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptFetchClientCodegen.java index 0cfe7934419c..58289942173a 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptFetchClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptFetchClientCodegen.java @@ -27,9 +27,10 @@ import java.text.SimpleDateFormat; import java.util.Date; +import java.util.Locale; public class TypeScriptFetchClientCodegen extends AbstractTypeScriptClientCodegen { - private static final SimpleDateFormat SNAPSHOT_SUFFIX_FORMAT = new SimpleDateFormat("yyyyMMddHHmm"); + private static final SimpleDateFormat SNAPSHOT_SUFFIX_FORMAT = new SimpleDateFormat("yyyyMMddHHmm", Locale.ROOT); public static final String NPM_NAME = "npmName"; public static final String NPM_VERSION = "npmVersion"; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptInversifyClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptInversifyClientCodegen.java index 6d2e1c749f64..28259a7dcdb1 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptInversifyClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptInversifyClientCodegen.java @@ -30,7 +30,7 @@ public class TypeScriptInversifyClientCodegen extends AbstractTypeScriptClientCodegen { - private static final SimpleDateFormat SNAPSHOT_SUFFIX_FORMAT = new SimpleDateFormat("yyyyMMddHHmm"); + private static final SimpleDateFormat SNAPSHOT_SUFFIX_FORMAT = new SimpleDateFormat("yyyyMMddHHmm", Locale.ROOT); private static final String X_DISCRIMINATOR_TYPE = "x-discriminator-value"; public static final String NPM_NAME = "npmName"; @@ -221,7 +221,7 @@ public Map postProcessOperationsWithModels(Map o StringBuilder parameterName = new StringBuilder(); int insideCurly = 0; - op.httpMethod = op.httpMethod.toLowerCase(); + op.httpMethod = op.httpMethod.toLowerCase(Locale.ROOT); // Iterate through existing string, one character at a time. for (int i = 0; i < op.path.length(); i++) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptJqueryClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptJqueryClientCodegen.java index 2dd61d362b36..53689ae1b326 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptJqueryClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptJqueryClientCodegen.java @@ -30,10 +30,11 @@ import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.Locale; public class TypeScriptJqueryClientCodegen extends AbstractTypeScriptClientCodegen { private static final Logger LOGGER = LoggerFactory.getLogger(TypeScriptJqueryClientCodegen.class); - private static final SimpleDateFormat SNAPSHOT_SUFFIX_FORMAT = new SimpleDateFormat("yyyyMMddHHmm"); + private static final SimpleDateFormat SNAPSHOT_SUFFIX_FORMAT = new SimpleDateFormat("yyyyMMddHHmm", Locale.ROOT); public static final String NPM_NAME = "npmName"; public static final String NPM_VERSION = "npmVersion"; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptNodeClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptNodeClientCodegen.java index 45f00f626be7..3e6b1848f013 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptNodeClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptNodeClientCodegen.java @@ -31,7 +31,7 @@ public class TypeScriptNodeClientCodegen extends AbstractTypeScriptClientCodegen { private static final Logger LOGGER = LoggerFactory.getLogger(TypeScriptNodeClientCodegen.class); - private static final SimpleDateFormat SNAPSHOT_SUFFIX_FORMAT = new SimpleDateFormat("yyyyMMddHHmm"); + private static final SimpleDateFormat SNAPSHOT_SUFFIX_FORMAT = new SimpleDateFormat("yyyyMMddHHmm", Locale.ROOT); public static final String NPM_NAME = "npmName"; public static final String NPM_VERSION = "npmVersion"; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/mustache/LowercaseLambda.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/mustache/LowercaseLambda.java index 7db627291507..ba466fd0073a 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/mustache/LowercaseLambda.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/mustache/LowercaseLambda.java @@ -23,6 +23,7 @@ import java.io.IOException; import java.io.Writer; +import java.util.Locale; /** * Converts text in a fragment to lowercase. @@ -51,7 +52,7 @@ public LowercaseLambda generator(final CodegenConfig generator) { @Override public void execute(Template.Fragment fragment, Writer writer) throws IOException { - String text = fragment.execute().toLowerCase(); + String text = fragment.execute().toLowerCase(Locale.ROOT); if (generator != null && generator.reservedWords().contains(text)) { text = generator.escapeReservedWord(text); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/mustache/TitlecaseLambda.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/mustache/TitlecaseLambda.java index e3d1eb7a986a..e9ec42991b6e 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/mustache/TitlecaseLambda.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/mustache/TitlecaseLambda.java @@ -22,6 +22,7 @@ import java.io.IOException; import java.io.Writer; +import java.util.Locale; /** * Converts text in a fragment to title case. @@ -60,7 +61,7 @@ public TitlecaseLambda(String delimiter) { } private String titleCase(final String input) { - return input.substring(0, 1).toUpperCase() + input.substring(1); + return input.substring(0, 1).toUpperCase(Locale.ROOT) + input.substring(1); } @Override diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/mustache/UppercaseLambda.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/mustache/UppercaseLambda.java index 745eb10b27a7..98b835b55bc4 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/mustache/UppercaseLambda.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/mustache/UppercaseLambda.java @@ -22,6 +22,7 @@ import java.io.IOException; import java.io.Writer; +import java.util.Locale; /** * Converts text in a fragment to uppercase. @@ -40,6 +41,6 @@ public class UppercaseLambda implements Mustache.Lambda { @Override public void execute(Template.Fragment fragment, Writer writer) throws IOException { String text = fragment.execute(); - writer.write(text.toUpperCase()); + writer.write(text.toUpperCase(Locale.ROOT)); } } diff --git a/modules/openapi-generator/src/main/resources/Java/JSON.mustache b/modules/openapi-generator/src/main/resources/Java/JSON.mustache index 92fa0f9d0fa0..ae8de32fafc4 100644 --- a/modules/openapi-generator/src/main/resources/Java/JSON.mustache +++ b/modules/openapi-generator/src/main/resources/Java/JSON.mustache @@ -40,6 +40,7 @@ import java.time.OffsetDateTime; import java.time.format.DateTimeFormatter; {{/java8}} import java.util.Date; +import java.util.Locale; import java.util.Map; import java.util.HashMap; @@ -65,9 +66,9 @@ public class JSON { public Class getClassForElement(JsonElement readElement) { Map classByDiscriminatorValue = new HashMap(); {{#mappedModels}} - classByDiscriminatorValue.put("{{mappingName}}".toUpperCase(), {{modelName}}.class); + classByDiscriminatorValue.put("{{mappingName}}".toUpperCase(Locale.ROOT), {{modelName}}.class); {{/mappedModels}} - classByDiscriminatorValue.put("{{classname}}".toUpperCase(), {{classname}}.class); + classByDiscriminatorValue.put("{{classname}}".toUpperCase(Locale.ROOT), {{classname}}.class); return getClassByDiscriminator( classByDiscriminatorValue, getDiscriminatorValue(readElement, "{{{propertyName}}}")); @@ -91,7 +92,7 @@ public class JSON { } private static Class getClassByDiscriminator(Map classByDiscriminatorValue, String discriminatorValue) { - Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue.toUpperCase()); + Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue.toUpperCase(Locale.ROOT)); if(null == clazz) { throw new IllegalArgumentException("cannot determine model class of name: <" + discriminatorValue + ">"); } diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/ApiClient.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/ApiClient.mustache index ad1fcc649dd1..96ff0f776537 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/ApiClient.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/resteasy/ApiClient.mustache @@ -16,6 +16,7 @@ import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Map.Entry; import java.util.TimeZone; @@ -64,7 +65,7 @@ public class ApiClient { json = new JSON(); httpClient = buildHttpClient(debugging); - this.dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); + this.dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX", Locale.ROOT); // Use UTC as the default time zone. this.dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); @@ -477,7 +478,7 @@ public class ApiClient { public Entity serialize(Object obj, Map formParams, String contentType) throws ApiException { Entity entity = null; if (contentType.startsWith("multipart/form-data")) { - MultipartFormDataOutput multipart = new MultipartFormDataOutput(); + MultipartFormDataOutput multipart = new MultipartFormDataOutput(); //MultiPart multiPart = new MultiPart(); for (Entry param: formParams.entrySet()) { if (param.getValue() instanceof File) { diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/api.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/api.mustache index f48180f4381e..beede4b55b18 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/api.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/resttemplate/api.mustache @@ -8,6 +8,7 @@ import {{invokerPackage}}.ApiClient; {{^fullJavaUtil}}import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map;{{/fullJavaUtil}} import org.springframework.beans.factory.annotation.Autowired; @@ -77,7 +78,7 @@ public class {{classname}} { final HttpHeaders {{localVariablePrefix}}headerParams = new HttpHeaders(); final MultiValueMap {{localVariablePrefix}}formParams = new LinkedMultiValueMap();{{#hasQueryParams}} - {{#queryParams}}{{localVariablePrefix}}queryParams.putAll({{localVariablePrefix}}apiClient.parameterToMultiValueMap({{#collectionFormat}}ApiClient.CollectionFormat.valueOf("{{{collectionFormat}}}".toUpperCase()){{/collectionFormat}}{{^collectionFormat}}null{{/collectionFormat}}, "{{baseName}}", {{paramName}}));{{#hasMore}} + {{#queryParams}}{{localVariablePrefix}}queryParams.putAll({{localVariablePrefix}}apiClient.parameterToMultiValueMap({{#collectionFormat}}ApiClient.CollectionFormat.valueOf("{{{collectionFormat}}}".toUpperCase(Locale.ROOT)){{/collectionFormat}}{{^collectionFormat}}null{{/collectionFormat}}, "{{baseName}}", {{paramName}}));{{#hasMore}} {{/hasMore}}{{/queryParams}}{{/hasQueryParams}}{{#hasHeaderParams}} {{#headerParams}}if ({{paramName}} != null) diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/JSON.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/JSON.mustache index ac8958824cb8..7dbb56a3da1b 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/JSON.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/retrofit2/JSON.mustache @@ -39,6 +39,7 @@ import java.time.OffsetDateTime; import java.time.format.DateTimeFormatter; {{/java8}} import java.util.Date; +import java.util.Locale; import java.util.Map; import java.util.HashMap; @@ -62,9 +63,9 @@ public class JSON { public Class getClassForElement(JsonElement readElement) { Map classByDiscriminatorValue = new HashMap(); {{#mappedModels}} - classByDiscriminatorValue.put("{{mappingName}}".toUpperCase(), {{modelName}}.class); + classByDiscriminatorValue.put("{{mappingName}}".toUpperCase(Locale.ROOT), {{modelName}}.class); {{/mappedModels}} - classByDiscriminatorValue.put("{{classname}}".toUpperCase(), {{classname}}.class); + classByDiscriminatorValue.put("{{classname}}".toUpperCase(Locale.ROOT), {{classname}}.class); return getClassByDiscriminator( classByDiscriminatorValue, getDiscriminatorValue(readElement, "{{{propertyName}}}")); @@ -84,7 +85,7 @@ public class JSON { } private static Class getClassByDiscriminator(Map classByDiscriminatorValue, String discriminatorValue) { - Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue.toUpperCase()); + Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue.toUpperCase(Locale.ROOT)); if(null == clazz) { throw new IllegalArgumentException("cannot determine model class of name: <" + discriminatorValue + ">"); } diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/webclient/api.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/webclient/api.mustache index 6d6a38e25c05..9c3f9fb140c3 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/webclient/api.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/webclient/api.mustache @@ -8,6 +8,7 @@ import {{invokerPackage}}.ApiClient; {{^fullJavaUtil}}import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map;{{/fullJavaUtil}} import org.springframework.beans.factory.annotation.Autowired; @@ -77,7 +78,7 @@ public class {{classname}} { final HttpHeaders {{localVariablePrefix}}headerParams = new HttpHeaders(); final MultiValueMap {{localVariablePrefix}}formParams = new LinkedMultiValueMap();{{#hasQueryParams}} - {{#queryParams}}{{localVariablePrefix}}queryParams.putAll({{localVariablePrefix}}apiClient.parameterToMultiValueMap({{#collectionFormat}}ApiClient.CollectionFormat.valueOf("{{{collectionFormat}}}".toUpperCase()){{/collectionFormat}}{{^collectionFormat}}null{{/collectionFormat}}, "{{baseName}}", {{paramName}}));{{#hasMore}} + {{#queryParams}}{{localVariablePrefix}}queryParams.putAll({{localVariablePrefix}}apiClient.parameterToMultiValueMap({{#collectionFormat}}ApiClient.CollectionFormat.valueOf("{{{collectionFormat}}}".toUpperCase(Locale.ROOT)){{/collectionFormat}}{{^collectionFormat}}null{{/collectionFormat}}, "{{baseName}}", {{paramName}}));{{#hasMore}} {{/hasMore}}{{/queryParams}}{{/hasQueryParams}}{{#hasHeaderParams}} {{#headerParams}}if ({{paramName}} != null) diff --git a/modules/openapi-generator/src/main/resources/JavaPlayFramework/openapiUtils.mustache b/modules/openapi-generator/src/main/resources/JavaPlayFramework/openapiUtils.mustache index 24091812020b..e85eb571fe39 100644 --- a/modules/openapi-generator/src/main/resources/JavaPlayFramework/openapiUtils.mustache +++ b/modules/openapi-generator/src/main/resources/JavaPlayFramework/openapiUtils.mustache @@ -104,6 +104,6 @@ public class OpenAPIUtils { } public static String formatDatetime(Date date) { - return new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX").format(date); + return new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX", Locale.ROOT).format(date); } -} \ No newline at end of file +} diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/AbstractOptionsTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/AbstractOptionsTest.java index c9a98d66f58a..ee7b4f9b38d6 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/AbstractOptionsTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/AbstractOptionsTest.java @@ -30,6 +30,7 @@ import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Set; public abstract class AbstractOptionsTest { @@ -58,12 +59,12 @@ public void checkOptionsHelp() { final Set skipped = new HashSet(cliOptions); skipped.removeAll(testOptions); if (!skipped.isEmpty()) { - Assert.fail(String.format("These options weren't checked: %s.", StringUtils.join(skipped, ", "))); + Assert.fail(String.format(Locale.ROOT, "These options weren't checked: %s.", StringUtils.join(skipped, ", "))); } final Set undocumented = new HashSet(testOptions); undocumented.removeAll(cliOptions); if (!undocumented.isEmpty()) { - Assert.fail(String.format("These options weren't documented: %s. Are you expecting base options and calling cliOptions.clear()?", StringUtils.join(undocumented, ", "))); + Assert.fail(String.format(Locale.ROOT,"These options weren't documented: %s. Are you expecting base options and calling cliOptions.clear()?", StringUtils.join(undocumented, ", "))); } } diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java index 7a6fc2e0ae40..2666cc2c6dd3 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java @@ -208,9 +208,7 @@ public void testArraySchemaIsNotIncluedInAliases() throws Exception { }; - Method method = DefaultCodegen.class.getDeclaredMethod("getAllAliases", Map.class); - method.setAccessible(true); - Map aliases = (Map)method.invoke(null, schemas); + Map aliases = DefaultCodegen.getAllAliases(schemas); Assert.assertEquals(aliases.size(), 0); } diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/testutils/AssertFile.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/testutils/AssertFile.java index a34f056497f6..68f1b2a2bde6 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/testutils/AssertFile.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/testutils/AssertFile.java @@ -28,6 +28,7 @@ import java.nio.file.attribute.BasicFileAttributes; import java.util.Arrays; import java.util.List; +import java.util.Locale; import difflib.Delta; import difflib.DiffUtils; @@ -71,7 +72,7 @@ public FileVisitResult preVisitDirectory(Path expectedDir, BasicFileAttributes a Path actualDir = absoluteActual.resolve(relativeExpectedDir); if (!Files.exists(actualDir)) { - fail(String.format("Directory '%s' is missing.", actualDir)); + fail(String.format(Locale.ROOT,"Directory '%s' is missing.", actualDir)); } String[] expected = expectedDir.toFile().list(); @@ -86,7 +87,7 @@ public FileVisitResult preVisitDirectory(Path expectedDir, BasicFileAttributes a assertEquals(expected, actual, - String.format("Directory content of '%s' and '%s' differ.", expectedDir, actualDir)); + String.format(Locale.ROOT, "Directory content of '%s' and '%s' differ.", expectedDir, actualDir)); return FileVisitResult.CONTINUE; } @@ -97,7 +98,7 @@ public FileVisitResult visitFile(Path expectedFile, BasicFileAttributes attrs) t Path actualFile = absoluteActual.resolve(relativeExpectedFile); if (!Files.exists(actualFile)) { - fail(String.format("File '%s' is missing.", actualFile)); + fail(String.format(Locale.ROOT, "File '%s' is missing.", actualFile)); } assertFilesAreEqual(expectedFile, actualFile); diff --git a/pom.xml b/pom.xml index 97eb18cdc1ad..15226d3b7e1c 100644 --- a/pom.xml +++ b/pom.xml @@ -277,6 +277,33 @@ + + de.thetaphi + forbiddenapis + 2.5 + + + + jdk-unsafe + jdk-deprecated + jdk-internal + + jdk-non-portable + jdk-reflection + + + + + + check + testCheck + + + + @@ -1104,6 +1131,8 @@ + 1.8 + 1.8 2.0.2-OpenAPITools.org-1 2.0.1 2.11.1 diff --git a/samples/client/petstore/java/jersey1/src/test/java/org/openapitools/client/ApiClientTest.java b/samples/client/petstore/java/jersey1/src/test/java/org/openapitools/client/ApiClientTest.java index a890ead935f8..405267d4131f 100644 --- a/samples/client/petstore/java/jersey1/src/test/java/org/openapitools/client/ApiClientTest.java +++ b/samples/client/petstore/java/jersey1/src/test/java/org/openapitools/client/ApiClientTest.java @@ -28,7 +28,7 @@ public void testParseAndFormatDate() { assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T02:49:09.356-01:00"))); // custom date format: without milli-seconds, custom time zone - DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX"); + DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX", Locale.ROOT); format.setTimeZone(TimeZone.getTimeZone("GMT+10")); apiClient.setDateFormat(format); dateStr = "2015-11-07T13:49:09+10:00"; diff --git a/samples/client/petstore/java/jersey2-java8/src/test/java/org/openapitools/client/ApiClientTest.java b/samples/client/petstore/java/jersey2-java8/src/test/java/org/openapitools/client/ApiClientTest.java index 6fb1e54b679b..09659fb4700b 100644 --- a/samples/client/petstore/java/jersey2-java8/src/test/java/org/openapitools/client/ApiClientTest.java +++ b/samples/client/petstore/java/jersey2-java8/src/test/java/org/openapitools/client/ApiClientTest.java @@ -28,7 +28,7 @@ public void testParseAndFormatDate() { assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T02:49:09.356-01:00"))); // custom date format: without milli-seconds, custom time zone - DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX"); + DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX", Locale.ROOT); format.setTimeZone(TimeZone.getTimeZone("GMT+10")); apiClient.setDateFormat(format); dateStr = "2015-11-07T13:49:09+10:00"; diff --git a/samples/client/petstore/java/jersey2/src/test/java/org/openapitools/client/ApiClientTest.java b/samples/client/petstore/java/jersey2/src/test/java/org/openapitools/client/ApiClientTest.java index 6fb1e54b679b..09659fb4700b 100644 --- a/samples/client/petstore/java/jersey2/src/test/java/org/openapitools/client/ApiClientTest.java +++ b/samples/client/petstore/java/jersey2/src/test/java/org/openapitools/client/ApiClientTest.java @@ -28,7 +28,7 @@ public void testParseAndFormatDate() { assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T02:49:09.356-01:00"))); // custom date format: without milli-seconds, custom time zone - DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX"); + DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX", Locale.ROOT); format.setTimeZone(TimeZone.getTimeZone("GMT+10")); apiClient.setDateFormat(format); dateStr = "2015-11-07T13:49:09+10:00"; diff --git a/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/JSON.java b/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/JSON.java index 8b4f1f34d027..64ff528f11cd 100644 --- a/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/JSON.java +++ b/samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/JSON.java @@ -37,6 +37,7 @@ import java.text.ParseException; import java.text.ParsePosition; import java.util.Date; +import java.util.Locale; import java.util.Map; import java.util.HashMap; @@ -55,9 +56,9 @@ public static GsonBuilder createGson() { @Override public Class getClassForElement(JsonElement readElement) { Map classByDiscriminatorValue = new HashMap(); - classByDiscriminatorValue.put("Dog".toUpperCase(), Dog.class); - classByDiscriminatorValue.put("Cat".toUpperCase(), Cat.class); - classByDiscriminatorValue.put("Animal".toUpperCase(), Animal.class); + classByDiscriminatorValue.put("Dog".toUpperCase(Locale.ROOT), Dog.class); + classByDiscriminatorValue.put("Cat".toUpperCase(Locale.ROOT), Cat.class); + classByDiscriminatorValue.put("Animal".toUpperCase(Locale.ROOT), Animal.class); return getClassByDiscriminator( classByDiscriminatorValue, getDiscriminatorValue(readElement, "className")); @@ -78,7 +79,7 @@ private static String getDiscriminatorValue(JsonElement readElement, String disc } private static Class getClassByDiscriminator(Map classByDiscriminatorValue, String discriminatorValue) { - Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue.toUpperCase()); + Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue.toUpperCase(Locale.ROOT)); if(null == clazz) { throw new IllegalArgumentException("cannot determine model class of name: <" + discriminatorValue + ">"); } diff --git a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/JSON.java b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/JSON.java index 8b4f1f34d027..64ff528f11cd 100644 --- a/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/JSON.java +++ b/samples/client/petstore/java/okhttp-gson/src/main/java/org/openapitools/client/JSON.java @@ -37,6 +37,7 @@ import java.text.ParseException; import java.text.ParsePosition; import java.util.Date; +import java.util.Locale; import java.util.Map; import java.util.HashMap; @@ -55,9 +56,9 @@ public static GsonBuilder createGson() { @Override public Class getClassForElement(JsonElement readElement) { Map classByDiscriminatorValue = new HashMap(); - classByDiscriminatorValue.put("Dog".toUpperCase(), Dog.class); - classByDiscriminatorValue.put("Cat".toUpperCase(), Cat.class); - classByDiscriminatorValue.put("Animal".toUpperCase(), Animal.class); + classByDiscriminatorValue.put("Dog".toUpperCase(Locale.ROOT), Dog.class); + classByDiscriminatorValue.put("Cat".toUpperCase(Locale.ROOT), Cat.class); + classByDiscriminatorValue.put("Animal".toUpperCase(Locale.ROOT), Animal.class); return getClassByDiscriminator( classByDiscriminatorValue, getDiscriminatorValue(readElement, "className")); @@ -78,7 +79,7 @@ private static String getDiscriminatorValue(JsonElement readElement, String disc } private static Class getClassByDiscriminator(Map classByDiscriminatorValue, String discriminatorValue) { - Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue.toUpperCase()); + Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue.toUpperCase(Locale.ROOT)); if(null == clazz) { throw new IllegalArgumentException("cannot determine model class of name: <" + discriminatorValue + ">"); } diff --git a/samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/JSONTest.java b/samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/JSONTest.java index e7687d0b33b1..1c825e392562 100644 --- a/samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/JSONTest.java +++ b/samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/JSONTest.java @@ -12,6 +12,7 @@ import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; +import java.util.Locale; import java.util.TimeZone; import okio.ByteString; @@ -46,7 +47,7 @@ public void testSqlDateTypeAdapter() { assertEquals(json.deserialize("\"2015-11-07T03:49:09.356" + getCurrentTimezoneOffset() + "\"", java.sql.Date.class).toString(), date.toString()); // custom date format: without day - DateFormat format = new SimpleDateFormat("yyyy-MM"); + DateFormat format = new SimpleDateFormat("yyyy-MM", Locale.ROOT); apiClient.setSqlDateFormat(format); String dateStr = "\"2015-11\""; assertEquals(dateStr, json.serialize(json.deserialize("\"2015-11-07T03:49:09Z\"", java.sql.Date.class))); @@ -79,7 +80,7 @@ public void testDateTypeAdapter() { assertEquals(utcDate, json.serialize(date)); // custom datetime format: without milli-seconds, custom time zone - DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX"); + DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX", Locale.ROOT); format.setTimeZone(TimeZone.getTimeZone("GMT+10")); apiClient.setDateFormat(format); @@ -190,10 +191,10 @@ public void testByteArrayTypeAdapterDeserialization() { public static String getCurrentTimezoneOffset() { TimeZone tz = TimeZone.getDefault(); - Calendar cal = GregorianCalendar.getInstance(tz); + Calendar cal = GregorianCalendar.getInstance(tz, Locale.ROOT); int offsetInMillis = tz.getOffset(cal.getTimeInMillis()); - String offset = String.format("%02d:%02d", Math.abs(offsetInMillis / 3600000), Math.abs((offsetInMillis / 60000) % 60)); + String offset = String.format(Locale.ROOT,"%02d:%02d", Math.abs(offsetInMillis / 3600000), Math.abs((offsetInMillis / 60000) % 60)); offset = (offsetInMillis >= 0 ? "+" : "-") + offset; return offset; diff --git a/samples/client/petstore/java/rest-assured/src/main/java/org/openapitools/client/JSON.java b/samples/client/petstore/java/rest-assured/src/main/java/org/openapitools/client/JSON.java index 8b4f1f34d027..64ff528f11cd 100644 --- a/samples/client/petstore/java/rest-assured/src/main/java/org/openapitools/client/JSON.java +++ b/samples/client/petstore/java/rest-assured/src/main/java/org/openapitools/client/JSON.java @@ -37,6 +37,7 @@ import java.text.ParseException; import java.text.ParsePosition; import java.util.Date; +import java.util.Locale; import java.util.Map; import java.util.HashMap; @@ -55,9 +56,9 @@ public static GsonBuilder createGson() { @Override public Class getClassForElement(JsonElement readElement) { Map classByDiscriminatorValue = new HashMap(); - classByDiscriminatorValue.put("Dog".toUpperCase(), Dog.class); - classByDiscriminatorValue.put("Cat".toUpperCase(), Cat.class); - classByDiscriminatorValue.put("Animal".toUpperCase(), Animal.class); + classByDiscriminatorValue.put("Dog".toUpperCase(Locale.ROOT), Dog.class); + classByDiscriminatorValue.put("Cat".toUpperCase(Locale.ROOT), Cat.class); + classByDiscriminatorValue.put("Animal".toUpperCase(Locale.ROOT), Animal.class); return getClassByDiscriminator( classByDiscriminatorValue, getDiscriminatorValue(readElement, "className")); @@ -78,7 +79,7 @@ private static String getDiscriminatorValue(JsonElement readElement, String disc } private static Class getClassByDiscriminator(Map classByDiscriminatorValue, String discriminatorValue) { - Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue.toUpperCase()); + Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue.toUpperCase(Locale.ROOT)); if(null == clazz) { throw new IllegalArgumentException("cannot determine model class of name: <" + discriminatorValue + ">"); } diff --git a/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/ApiClient.java b/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/ApiClient.java index b8cbc4854217..933582c7e04c 100644 --- a/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/ApiClient.java +++ b/samples/client/petstore/java/resteasy/src/main/java/org/openapitools/client/ApiClient.java @@ -16,6 +16,7 @@ import java.util.Date; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Map.Entry; import java.util.TimeZone; @@ -64,7 +65,7 @@ public ApiClient() { json = new JSON(); httpClient = buildHttpClient(debugging); - this.dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); + this.dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX", Locale.ROOT); // Use UTC as the default time zone. this.dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); @@ -478,7 +479,7 @@ public String escapeString(String str) { public Entity serialize(Object obj, Map formParams, String contentType) throws ApiException { Entity entity = null; if (contentType.startsWith("multipart/form-data")) { - MultipartFormDataOutput multipart = new MultipartFormDataOutput(); + MultipartFormDataOutput multipart = new MultipartFormDataOutput(); //MultiPart multiPart = new MultiPart(); for (Entry param: formParams.entrySet()) { if (param.getValue() instanceof File) { diff --git a/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/api/AnotherFakeApi.java b/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/api/AnotherFakeApi.java index 08bbc033fbec..d14b1a53a835 100644 --- a/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/api/AnotherFakeApi.java +++ b/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/api/AnotherFakeApi.java @@ -7,6 +7,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; diff --git a/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/api/FakeApi.java b/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/api/FakeApi.java index 1a765af7da7c..b1e3e174e213 100644 --- a/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/api/FakeApi.java +++ b/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/api/FakeApi.java @@ -14,6 +14,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; @@ -393,7 +394,7 @@ public void testEnumParameters(List enumHeaderStringArray, String enumHe final HttpHeaders headerParams = new HttpHeaders(); final MultiValueMap formParams = new LinkedMultiValueMap(); - queryParams.putAll(apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.valueOf("csv".toUpperCase()), "enum_query_string_array", enumQueryStringArray)); + queryParams.putAll(apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.valueOf("csv".toUpperCase(Locale.ROOT)), "enum_query_string_array", enumQueryStringArray)); queryParams.putAll(apiClient.parameterToMultiValueMap(null, "enum_query_string", enumQueryString)); queryParams.putAll(apiClient.parameterToMultiValueMap(null, "enum_query_integer", enumQueryInteger)); queryParams.putAll(apiClient.parameterToMultiValueMap(null, "enum_query_double", enumQueryDouble)); diff --git a/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/api/FakeClassnameTags123Api.java b/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/api/FakeClassnameTags123Api.java index 212cf2bfef2c..6f9c1ebb5d5a 100644 --- a/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/api/FakeClassnameTags123Api.java +++ b/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/api/FakeClassnameTags123Api.java @@ -7,6 +7,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; diff --git a/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/api/PetApi.java b/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/api/PetApi.java index 7a3897f689c8..6dc75c0845bf 100644 --- a/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/api/PetApi.java +++ b/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/api/PetApi.java @@ -9,6 +9,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; @@ -141,7 +142,7 @@ public List findPetsByStatus(List status) throws RestClientExceptio final HttpHeaders headerParams = new HttpHeaders(); final MultiValueMap formParams = new LinkedMultiValueMap(); - queryParams.putAll(apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.valueOf("csv".toUpperCase()), "status", status)); + queryParams.putAll(apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.valueOf("csv".toUpperCase(Locale.ROOT)), "status", status)); final String[] accepts = { "application/xml", "application/json" @@ -178,7 +179,7 @@ public List findPetsByTags(List tags) throws RestClientException { final HttpHeaders headerParams = new HttpHeaders(); final MultiValueMap formParams = new LinkedMultiValueMap(); - queryParams.putAll(apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.valueOf("csv".toUpperCase()), "tags", tags)); + queryParams.putAll(apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.valueOf("csv".toUpperCase(Locale.ROOT)), "tags", tags)); final String[] accepts = { "application/xml", "application/json" diff --git a/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/api/StoreApi.java b/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/api/StoreApi.java index e417838bba4c..abce9547b3d1 100644 --- a/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/api/StoreApi.java +++ b/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/api/StoreApi.java @@ -7,6 +7,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; diff --git a/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/api/UserApi.java b/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/api/UserApi.java index 2949e2f57a0f..a3a67216f240 100644 --- a/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/api/UserApi.java +++ b/samples/client/petstore/java/resttemplate-withXml/src/main/java/org/openapitools/client/api/UserApi.java @@ -7,6 +7,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; diff --git a/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/api/AnotherFakeApi.java b/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/api/AnotherFakeApi.java index 08bbc033fbec..d14b1a53a835 100644 --- a/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/api/AnotherFakeApi.java +++ b/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/api/AnotherFakeApi.java @@ -7,6 +7,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; diff --git a/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/api/FakeApi.java b/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/api/FakeApi.java index 1a765af7da7c..b1e3e174e213 100644 --- a/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/api/FakeApi.java +++ b/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/api/FakeApi.java @@ -14,6 +14,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; @@ -393,7 +394,7 @@ public void testEnumParameters(List enumHeaderStringArray, String enumHe final HttpHeaders headerParams = new HttpHeaders(); final MultiValueMap formParams = new LinkedMultiValueMap(); - queryParams.putAll(apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.valueOf("csv".toUpperCase()), "enum_query_string_array", enumQueryStringArray)); + queryParams.putAll(apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.valueOf("csv".toUpperCase(Locale.ROOT)), "enum_query_string_array", enumQueryStringArray)); queryParams.putAll(apiClient.parameterToMultiValueMap(null, "enum_query_string", enumQueryString)); queryParams.putAll(apiClient.parameterToMultiValueMap(null, "enum_query_integer", enumQueryInteger)); queryParams.putAll(apiClient.parameterToMultiValueMap(null, "enum_query_double", enumQueryDouble)); diff --git a/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/api/FakeClassnameTags123Api.java b/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/api/FakeClassnameTags123Api.java index 212cf2bfef2c..6f9c1ebb5d5a 100644 --- a/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/api/FakeClassnameTags123Api.java +++ b/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/api/FakeClassnameTags123Api.java @@ -7,6 +7,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; diff --git a/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/api/PetApi.java b/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/api/PetApi.java index 7a3897f689c8..6dc75c0845bf 100644 --- a/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/api/PetApi.java +++ b/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/api/PetApi.java @@ -9,6 +9,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; @@ -141,7 +142,7 @@ public List findPetsByStatus(List status) throws RestClientExceptio final HttpHeaders headerParams = new HttpHeaders(); final MultiValueMap formParams = new LinkedMultiValueMap(); - queryParams.putAll(apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.valueOf("csv".toUpperCase()), "status", status)); + queryParams.putAll(apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.valueOf("csv".toUpperCase(Locale.ROOT)), "status", status)); final String[] accepts = { "application/xml", "application/json" @@ -178,7 +179,7 @@ public List findPetsByTags(List tags) throws RestClientException { final HttpHeaders headerParams = new HttpHeaders(); final MultiValueMap formParams = new LinkedMultiValueMap(); - queryParams.putAll(apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.valueOf("csv".toUpperCase()), "tags", tags)); + queryParams.putAll(apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.valueOf("csv".toUpperCase(Locale.ROOT)), "tags", tags)); final String[] accepts = { "application/xml", "application/json" diff --git a/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/api/StoreApi.java b/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/api/StoreApi.java index e417838bba4c..abce9547b3d1 100644 --- a/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/api/StoreApi.java +++ b/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/api/StoreApi.java @@ -7,6 +7,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; diff --git a/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/api/UserApi.java b/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/api/UserApi.java index 2949e2f57a0f..a3a67216f240 100644 --- a/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/api/UserApi.java +++ b/samples/client/petstore/java/resttemplate/src/main/java/org/openapitools/client/api/UserApi.java @@ -7,6 +7,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; diff --git a/samples/client/petstore/java/resttemplate/src/test/java/org/openapitools/client/ApiClientTest.java b/samples/client/petstore/java/resttemplate/src/test/java/org/openapitools/client/ApiClientTest.java index 2113f5d24535..a6bedae3e959 100644 --- a/samples/client/petstore/java/resttemplate/src/test/java/org/openapitools/client/ApiClientTest.java +++ b/samples/client/petstore/java/resttemplate/src/test/java/org/openapitools/client/ApiClientTest.java @@ -34,7 +34,7 @@ public void testParseAndFormatDate() { assertEquals(dateStr, apiClient.formatDate(apiClient.parseDate("2015-11-07T02:49:09.356-01:00"))); // custom date format: without milli-seconds, custom time zone - DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX"); + DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX", Locale.ROOT); format.setTimeZone(TimeZone.getTimeZone("GMT+10")); apiClient.setDateFormat(format); dateStr = "2015-11-07T13:49:09+10:00"; diff --git a/samples/client/petstore/java/retrofit2/src/main/java/org/openapitools/client/JSON.java b/samples/client/petstore/java/retrofit2/src/main/java/org/openapitools/client/JSON.java index cd8031a6b961..1325f4fce63d 100644 --- a/samples/client/petstore/java/retrofit2/src/main/java/org/openapitools/client/JSON.java +++ b/samples/client/petstore/java/retrofit2/src/main/java/org/openapitools/client/JSON.java @@ -36,6 +36,7 @@ import java.text.ParseException; import java.text.ParsePosition; import java.util.Date; +import java.util.Locale; import java.util.Map; import java.util.HashMap; @@ -52,9 +53,9 @@ public static GsonBuilder createGson() { @Override public Class getClassForElement(JsonElement readElement) { Map classByDiscriminatorValue = new HashMap(); - classByDiscriminatorValue.put("Dog".toUpperCase(), Dog.class); - classByDiscriminatorValue.put("Cat".toUpperCase(), Cat.class); - classByDiscriminatorValue.put("Animal".toUpperCase(), Animal.class); + classByDiscriminatorValue.put("Dog".toUpperCase(Locale.ROOT), Dog.class); + classByDiscriminatorValue.put("Cat".toUpperCase(Locale.ROOT), Cat.class); + classByDiscriminatorValue.put("Animal".toUpperCase(Locale.ROOT), Animal.class); return getClassByDiscriminator( classByDiscriminatorValue, getDiscriminatorValue(readElement, "className")); @@ -74,7 +75,7 @@ private static String getDiscriminatorValue(JsonElement readElement, String disc } private static Class getClassByDiscriminator(Map classByDiscriminatorValue, String discriminatorValue) { - Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue.toUpperCase()); + Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue.toUpperCase(Locale.ROOT)); if(null == clazz) { throw new IllegalArgumentException("cannot determine model class of name: <" + discriminatorValue + ">"); } diff --git a/samples/client/petstore/java/retrofit2rx/src/main/java/org/openapitools/client/JSON.java b/samples/client/petstore/java/retrofit2rx/src/main/java/org/openapitools/client/JSON.java index cd8031a6b961..1325f4fce63d 100644 --- a/samples/client/petstore/java/retrofit2rx/src/main/java/org/openapitools/client/JSON.java +++ b/samples/client/petstore/java/retrofit2rx/src/main/java/org/openapitools/client/JSON.java @@ -36,6 +36,7 @@ import java.text.ParseException; import java.text.ParsePosition; import java.util.Date; +import java.util.Locale; import java.util.Map; import java.util.HashMap; @@ -52,9 +53,9 @@ public static GsonBuilder createGson() { @Override public Class getClassForElement(JsonElement readElement) { Map classByDiscriminatorValue = new HashMap(); - classByDiscriminatorValue.put("Dog".toUpperCase(), Dog.class); - classByDiscriminatorValue.put("Cat".toUpperCase(), Cat.class); - classByDiscriminatorValue.put("Animal".toUpperCase(), Animal.class); + classByDiscriminatorValue.put("Dog".toUpperCase(Locale.ROOT), Dog.class); + classByDiscriminatorValue.put("Cat".toUpperCase(Locale.ROOT), Cat.class); + classByDiscriminatorValue.put("Animal".toUpperCase(Locale.ROOT), Animal.class); return getClassByDiscriminator( classByDiscriminatorValue, getDiscriminatorValue(readElement, "className")); @@ -74,7 +75,7 @@ private static String getDiscriminatorValue(JsonElement readElement, String disc } private static Class getClassByDiscriminator(Map classByDiscriminatorValue, String discriminatorValue) { - Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue.toUpperCase()); + Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue.toUpperCase(Locale.ROOT)); if(null == clazz) { throw new IllegalArgumentException("cannot determine model class of name: <" + discriminatorValue + ">"); } diff --git a/samples/client/petstore/java/retrofit2rx2/src/main/java/org/openapitools/client/JSON.java b/samples/client/petstore/java/retrofit2rx2/src/main/java/org/openapitools/client/JSON.java index cd8031a6b961..1325f4fce63d 100644 --- a/samples/client/petstore/java/retrofit2rx2/src/main/java/org/openapitools/client/JSON.java +++ b/samples/client/petstore/java/retrofit2rx2/src/main/java/org/openapitools/client/JSON.java @@ -36,6 +36,7 @@ import java.text.ParseException; import java.text.ParsePosition; import java.util.Date; +import java.util.Locale; import java.util.Map; import java.util.HashMap; @@ -52,9 +53,9 @@ public static GsonBuilder createGson() { @Override public Class getClassForElement(JsonElement readElement) { Map classByDiscriminatorValue = new HashMap(); - classByDiscriminatorValue.put("Dog".toUpperCase(), Dog.class); - classByDiscriminatorValue.put("Cat".toUpperCase(), Cat.class); - classByDiscriminatorValue.put("Animal".toUpperCase(), Animal.class); + classByDiscriminatorValue.put("Dog".toUpperCase(Locale.ROOT), Dog.class); + classByDiscriminatorValue.put("Cat".toUpperCase(Locale.ROOT), Cat.class); + classByDiscriminatorValue.put("Animal".toUpperCase(Locale.ROOT), Animal.class); return getClassByDiscriminator( classByDiscriminatorValue, getDiscriminatorValue(readElement, "className")); @@ -74,7 +75,7 @@ private static String getDiscriminatorValue(JsonElement readElement, String disc } private static Class getClassByDiscriminator(Map classByDiscriminatorValue, String discriminatorValue) { - Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue.toUpperCase()); + Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue.toUpperCase(Locale.ROOT)); if(null == clazz) { throw new IllegalArgumentException("cannot determine model class of name: <" + discriminatorValue + ">"); } diff --git a/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/api/AnotherFakeApi.java b/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/api/AnotherFakeApi.java index 2020fac4b53d..845a1e5cde90 100644 --- a/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/api/AnotherFakeApi.java +++ b/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/api/AnotherFakeApi.java @@ -7,6 +7,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; diff --git a/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/api/FakeApi.java b/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/api/FakeApi.java index 6cde4a7f633e..a6edb74655da 100644 --- a/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/api/FakeApi.java +++ b/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/api/FakeApi.java @@ -14,6 +14,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; @@ -393,7 +394,7 @@ public Mono testEnumParameters(List enumHeaderStringArray, String final HttpHeaders headerParams = new HttpHeaders(); final MultiValueMap formParams = new LinkedMultiValueMap(); - queryParams.putAll(apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.valueOf("csv".toUpperCase()), "enum_query_string_array", enumQueryStringArray)); + queryParams.putAll(apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.valueOf("csv".toUpperCase(Locale.ROOT)), "enum_query_string_array", enumQueryStringArray)); queryParams.putAll(apiClient.parameterToMultiValueMap(null, "enum_query_string", enumQueryString)); queryParams.putAll(apiClient.parameterToMultiValueMap(null, "enum_query_integer", enumQueryInteger)); queryParams.putAll(apiClient.parameterToMultiValueMap(null, "enum_query_double", enumQueryDouble)); diff --git a/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/api/FakeClassnameTags123Api.java b/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/api/FakeClassnameTags123Api.java index 4d3111415b25..15f1d2e67915 100644 --- a/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/api/FakeClassnameTags123Api.java +++ b/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/api/FakeClassnameTags123Api.java @@ -7,6 +7,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; diff --git a/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/api/PetApi.java b/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/api/PetApi.java index 92bfbd46d547..febe863fedad 100644 --- a/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/api/PetApi.java +++ b/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/api/PetApi.java @@ -9,6 +9,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; @@ -141,7 +142,7 @@ public Flux findPetsByStatus(List status) throws RestClientExceptio final HttpHeaders headerParams = new HttpHeaders(); final MultiValueMap formParams = new LinkedMultiValueMap(); - queryParams.putAll(apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.valueOf("csv".toUpperCase()), "status", status)); + queryParams.putAll(apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.valueOf("csv".toUpperCase(Locale.ROOT)), "status", status)); final String[] accepts = { "application/xml", "application/json" @@ -178,7 +179,7 @@ public Flux findPetsByTags(List tags) throws RestClientException { final HttpHeaders headerParams = new HttpHeaders(); final MultiValueMap formParams = new LinkedMultiValueMap(); - queryParams.putAll(apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.valueOf("csv".toUpperCase()), "tags", tags)); + queryParams.putAll(apiClient.parameterToMultiValueMap(ApiClient.CollectionFormat.valueOf("csv".toUpperCase(Locale.ROOT)), "tags", tags)); final String[] accepts = { "application/xml", "application/json" diff --git a/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/api/StoreApi.java b/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/api/StoreApi.java index e3acf8ec0d2c..383bc7ace0f3 100644 --- a/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/api/StoreApi.java +++ b/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/api/StoreApi.java @@ -7,6 +7,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; diff --git a/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/api/UserApi.java b/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/api/UserApi.java index b1d42b682e39..4b38490e704d 100644 --- a/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/api/UserApi.java +++ b/samples/client/petstore/java/webclient/src/main/java/org/openapitools/client/api/UserApi.java @@ -7,6 +7,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired;