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.
This commit is contained in:
Jens Oberender
2018-08-22 06:06:01 +02:00
committed by Jérémie Bresson
parent 227f2779d7
commit 9bc335b35e
126 changed files with 714 additions and 551 deletions

View File

@@ -28,7 +28,7 @@ public class ApiClientTest {
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";

View File

@@ -28,7 +28,7 @@ public class ApiClientTest {
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";

View File

@@ -12,6 +12,7 @@ import java.text.SimpleDateFormat;
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 class JSONTest {
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 class JSONTest {
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 class JSONTest {
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;

View File

@@ -34,7 +34,7 @@ public class ApiClientTest {
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";

View File

@@ -24,6 +24,8 @@ import io.airlift.airline.ParseOptionMissingException;
import io.airlift.airline.ParseOptionMissingValueException;
import org.openapitools.codegen.cmd.*;
import java.util.Locale;
/**
* User: lanwen Date: 24.03.15 Time: 17:56
* <p>
@@ -40,6 +42,7 @@ public class OpenAPIGenerator {
Cli.<Runnable>builder("openapi-generator-cli")
.withDescription(
String.format(
Locale.ROOT,
"OpenAPI generator CLI (version %s).",
version))
.withDefaultCommand(ListGenerators.class)
@@ -69,10 +72,10 @@ public class OpenAPIGenerator {
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);
}
}

View File

@@ -21,6 +21,8 @@ import ch.lambdaj.collection.LambdaIterable;
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<String> 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);
}
}

View File

@@ -9,6 +9,7 @@ import org.openapitools.codegen.CodegenType;
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 class ListGenerators implements Runnable {
}
}
System.out.printf("%s%n", sb.toString());
System.out.printf(Locale.ROOT,"%s%n", sb.toString());
}
}

View File

@@ -19,11 +19,16 @@ package org.openapitools.codegen.online.service;
import com.fasterxml.jackson.databind.JsonNode;
import io.swagger.parser.OpenAPIParser;
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.oas.models.OpenAPI;
import io.swagger.v3.parser.core.models.AuthorizationValue;
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.io.File;
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 class Generator {
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<String, CliOption> map = new LinkedHashMap<>();
@@ -77,7 +83,7 @@ public class Generator {
}
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");
}

View File

@@ -22,6 +22,7 @@ import io.swagger.v3.oas.models.ExternalDocumentation;
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

View File

@@ -25,6 +25,7 @@ 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;
@@ -196,7 +197,7 @@ public class CodegenOperation {
* @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 class CodegenOperation {
* @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 class CodegenOperation {
* @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 @@ public class CodegenOperation {
@Override
public String toString() {
return String.format("%s(%s)", baseName, path);
return String.format(Locale.ROOT, "%s(%s)", baseName, path);
}
@Override

View File

@@ -20,6 +20,7 @@ package org.openapitools.codegen;
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 class CodegenResponse {
@Override
public String toString() {
return String.format("%s(%s)", code, containerType);
return String.format(Locale.ROOT, "%s(%s)", code, containerType);
}
@Override

View File

@@ -21,6 +21,7 @@ import io.swagger.v3.oas.models.security.Scopes;
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

View File

@@ -21,6 +21,7 @@ import com.fasterxml.jackson.annotation.JsonCreator;
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 enum CodegenType {
names.put("documentation", DOCUMENTATION);
names.put("other", OTHER);
}
}
}

View File

@@ -68,6 +68,7 @@ import java.util.Iterator;
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 class DefaultCodegen implements CodegenConfig {
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 class DefaultCodegen implements CodegenConfig {
}
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 @@ public class DefaultCodegen implements CodegenConfig {
// 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 class DefaultCodegen implements CodegenConfig {
// 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 class DefaultCodegen implements CodegenConfig {
protected void setReservedWordsLowerCase(List<String> words) {
reservedWords = new HashSet<String>();
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 class DefaultCodegen implements CodegenConfig {
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 class DefaultCodegen implements CodegenConfig {
word = word.replace('-', '_');
// replace space with underscore
word = word.replace(' ', '_');
word = word.toLowerCase();
word = word.toLowerCase(Locale.ROOT);
return word;
}
@@ -3336,7 +3337,7 @@ public class DefaultCodegen implements CodegenConfig {
* @param schemas The complete set of model definitions (schemas).
* @return A mapping from model name to type alias
*/
private static Map<String, String> getAllAliases(Map<String, Schema> schemas) {
static Map<String, String> getAllAliases(Map<String, Schema> schemas) {
if (schemas == null || schemas.isEmpty()) {
return new HashMap<>();
}
@@ -3379,7 +3380,7 @@ public class DefaultCodegen implements CodegenConfig {
.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 class DefaultCodegen implements CodegenConfig {
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 class DefaultCodegen implements CodegenConfig {
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 class DefaultCodegen implements CodegenConfig {
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 class DefaultCodegen implements CodegenConfig {
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 class DefaultCodegen implements CodegenConfig {
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 class DefaultCodegen implements CodegenConfig {
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

View File

@@ -21,6 +21,7 @@ import io.swagger.v3.parser.core.models.AuthorizationValue;
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 class AuthParser {
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());
}
}
}
}

View File

@@ -19,16 +19,33 @@ package org.openapitools.codegen.config;
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.nio.file.Paths;
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 class CodegenConfigurator implements Serializable {
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;

View File

@@ -25,9 +25,11 @@ import org.slf4j.Logger;
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 @@ public class CodegenIgnoreProcessor {
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

View File

@@ -183,7 +183,6 @@ public abstract class Rule {
}
} catch (ParserException e) {
e.printStackTrace();
return new InvalidRule(null, definition, e.getMessage());
}

View File

@@ -19,13 +19,11 @@ package org.openapitools.codegen.languages;
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.Arrays;
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 @@ abstract public class AbstractAdaCodegen extends DefaultCodegen implements Codeg
}
public String toFilename(String name) {
return name.replace(".", "-").toLowerCase();
return name.replace(".", "-").toLowerCase(Locale.ROOT);
}
/**
@@ -391,7 +390,7 @@ abstract public class AbstractAdaCodegen extends DefaultCodegen implements Codeg
String mt = media.get("mediaType");
if (mt != null) {
mt = mt.replace('/', '_');
media.put("adaMediaType", mt.toUpperCase());
media.put("adaMediaType", mt.toUpperCase(Locale.ROOT));
count++;
}
}

View File

@@ -90,7 +90,7 @@ public abstract class AbstractApexCodegen extends DefaultCodegen implements Code
// 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 abstract class AbstractApexCodegen extends DefaultCodegen implements Code
}
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 abstract class AbstractApexCodegen extends DefaultCodegen implements Code
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 abstract class AbstractApexCodegen extends DefaultCodegen implements Code
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 abstract class AbstractApexCodegen extends DefaultCodegen implements Code
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 abstract class AbstractApexCodegen extends DefaultCodegen implements Code
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 abstract class AbstractApexCodegen extends DefaultCodegen implements Code
} 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 abstract class AbstractApexCodegen extends DefaultCodegen implements Code
} 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 abstract class AbstractApexCodegen extends DefaultCodegen implements Code
// for symbol, e.g. $, #
if (getSymbolName(value) != null) {
return getSymbolName(value).toUpperCase();
return getSymbolName(value).toUpperCase(Locale.ROOT);
}
// number
@@ -540,7 +540,7 @@ public abstract class AbstractApexCodegen extends DefaultCodegen implements Code
}
// string
String var = value.replaceAll("\\W+", "_").toUpperCase();
String var = value.replaceAll("\\W+", "_").toUpperCase(Locale.ROOT);
if (var.matches("\\d.*")) {
return "_" + var;
} else {

View File

@@ -234,7 +234,7 @@ public abstract class AbstractCSharpCodegen extends DefaultCodegen implements Co
}
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 abstract class AbstractCSharpCodegen extends DefaultCodegen implements Co
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 abstract class AbstractCSharpCodegen extends DefaultCodegen implements Co
// 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;
}

View File

@@ -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.HashSet;
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 abstract class AbstractEiffelCodegen extends DefaultCodegen implements Co
@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 abstract class AbstractEiffelCodegen extends DefaultCodegen implements Co
@Override
public String toApiTestFilename(String name) {
return toApiName(name).toLowerCase() + "_test";
return toApiName(name).toLowerCase(Locale.ROOT) + "_test";
}
@Override
@@ -229,7 +228,7 @@ public abstract class AbstractEiffelCodegen extends DefaultCodegen implements Co
if (name.length() == 0) {
return "DEFAULT_API";
}
return name.toUpperCase() + "_API";
return name.toUpperCase(Locale.ROOT) + "_API";
}
/**
@@ -269,7 +268,7 @@ public abstract class AbstractEiffelCodegen extends DefaultCodegen implements Co
}
}
if (!isNullOrEmpty(model.parentSchema)) {
model.parentSchema = model.parentSchema.toLowerCase();
model.parentSchema = model.parentSchema.toLowerCase(Locale.ROOT);
}
}
@@ -352,7 +351,7 @@ public abstract class AbstractEiffelCodegen extends DefaultCodegen implements Co
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 abstract class AbstractEiffelCodegen extends DefaultCodegen implements Co
}
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) {

View File

@@ -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 abstract class AbstractGoCodegen extends DefaultCodegen implements Codege
List<CodegenOperation> operations = (List<CodegenOperation>) 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 abstract class AbstractGoCodegen extends DefaultCodegen implements Codege
} 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 abstract class AbstractGoCodegen extends DefaultCodegen implements Codege
// 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 abstract class AbstractGoCodegen extends DefaultCodegen implements Codege
@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("[]", "");

View File

@@ -49,6 +49,7 @@ import java.util.HashSet;
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 abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
// 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 abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
}
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 abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
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 abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
}
}
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 abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
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 abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
}
}
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 abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
// for symbol, e.g. $, #
if (getSymbolName(value) != null) {
return getSymbolName(value).toUpperCase();
return getSymbolName(value).toUpperCase(Locale.ROOT);
}
// number
@@ -1063,7 +1064,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
}
// string
String var = value.replaceAll("\\W+", "_").toUpperCase();
String var = value.replaceAll("\\W+", "_").toUpperCase(Locale.ROOT);
if (var.matches("\\d.*")) {
return "_" + var;
} else {

View File

@@ -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.io.File;
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 abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co
@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 abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co
modified = underscore(modified);
break;
case UPPERCASE:
modified = modified.toUpperCase();
modified = modified.toUpperCase(Locale.ROOT);
break;
}
@@ -536,7 +534,7 @@ public abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co
}
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

View File

@@ -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.CodegenProperty;
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.List;
import java.util.Map;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;
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 abstract class AbstractPhpCodegen extends DefaultCodegen implements Codeg
// for symbol, e.g. $, #
if (getSymbolName(name) != null) {
return (getSymbolName(name)).toUpperCase();
return (getSymbolName(name)).toUpperCase(Locale.ROOT);
}
// number
@@ -640,7 +638,7 @@ public abstract class AbstractPhpCodegen extends DefaultCodegen implements Codeg
}
// 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 abstract class AbstractPhpCodegen extends DefaultCodegen implements Codeg
@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("[]", "");

View File

@@ -19,12 +19,14 @@ 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.*;
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 @@ abstract class AbstractRubyCodegen extends DefaultCodegen implements CodegenConf
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

View File

@@ -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 class AdaCodegen extends AbstractAdaCodegen implements CodegenConfig {
// 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"));

View File

@@ -19,7 +19,6 @@ package org.openapitools.codegen.languages;
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 org.openapitools.codegen.SupportingFile;
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 class AdaServerCodegen extends AbstractAdaCodegen implements CodegenConfi
// 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"));

View File

@@ -217,6 +217,7 @@ public class ApexClientCodegen extends AbstractApexCodegen {
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 class ApexClientCodegen extends AbstractApexCodegen {
} else if (ModelUtils.isMapSchema(p)) {
Schema inner = ModelUtils.getAdditionalProperties(p);
String s = inner == null ? "Object" : getTypeDeclaration(inner);
out = String.format("new Map<String, %s>()", s);
out = String.format(Locale.ROOT, "new Map<String, %s>()", 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 @@ public class ApexClientCodegen extends AbstractApexCodegen {
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;
}
}

View File

@@ -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 class AspNetCoreServerCodegen extends AbstractCSharpCodegen {
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 @@ public class AspNetCoreServerCodegen extends AbstractCSharpCodegen {
}
// 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

View File

@@ -637,7 +637,7 @@ public class BashClientCodegen extends DefaultCodegen implements CodegenConfig {
mapper.writerWithDefaultPrettyPrinter().writeValueAsString(
definitions.get(p.dataType).getExample()));
} catch (JsonProcessingException e) {
e.printStackTrace();
LOGGER.warn(e.getMessage(), e);
}
} else {
/**

View File

@@ -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.ArrayList;
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/";

View File

@@ -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.Collection;
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<String, Predicate<Schema>> propertyToOpenAPITypeMapping =
createPropertyToOpenAPITypeMapping();
private String packageGuid = "{" + randomUUID().toString().toUpperCase() + "}";
private String packageGuid = "{" + randomUUID().toString().toUpperCase(Locale.ROOT) + "}";
private final Map<String, DependencyInfo> dependencies = new HashMap<>();
private final Set<String> parentModels = new HashSet<>();
@@ -185,18 +206,18 @@ public class CSharpNancyFXServerCodegen extends AbstractCSharpCodegen {
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 @@ public class CSharpNancyFXServerCodegen extends AbstractCSharpCodegen {
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 @@ public class CSharpNancyFXServerCodegen extends AbstractCSharpCodegen {
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 class CSharpNancyFXServerCodegen extends AbstractCSharpCodegen {
} 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 class CSharpNancyFXServerCodegen extends AbstractCSharpCodegen {
} 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 class CSharpNancyFXServerCodegen extends AbstractCSharpCodegen {
} 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;
}

View File

@@ -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.CodegenOperation;
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 class ClojureClientCodegen extends DefaultCodegen implements CodegenConfi
List<CodegenOperation> ops = (List<CodegenOperation>) 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;
}

View File

@@ -19,7 +19,6 @@ 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;
@@ -32,6 +31,7 @@ import org.openapitools.codegen.utils.ModelUtils;
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 class ConfluenceWikiCodegen extends DefaultCodegen implements CodegenConf
Map<String, Object> operations = (Map<String, Object>) objs.get("operations");
List<CodegenOperation> operationList = (List<CodegenOperation>) operations.get("operation");
for (CodegenOperation op : operationList) {
op.httpMethod = op.httpMethod.toLowerCase();
op.httpMethod = op.httpMethod.toLowerCase(Locale.ROOT);
}
return objs;
}

View File

@@ -22,7 +22,6 @@ 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.CodegenModel;
import org.openapitools.codegen.CodegenOperation;
@@ -38,6 +37,7 @@ 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;
@@ -198,8 +198,8 @@ public class CppPistacheServerCodegen extends AbstractCppCodegen {
public Map<String, Object> postProcessOperationsWithModels(Map<String, Object> objs, List<Object> allModels) {
Map<String, Object> operations = (Map<String, Object>) 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<CodegenOperation> operationList = (List<CodegenOperation>) operations.get("operation");
for (CodegenOperation op : operationList) {
@@ -220,7 +220,7 @@ public class CppPistacheServerCodegen extends AbstractCppCodegen {
}
}
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;

View File

@@ -17,12 +17,15 @@
package org.openapitools.codegen.languages;
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.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.CodegenConfig;
import org.openapitools.codegen.CodegenConstants;
import org.openapitools.codegen.CodegenType;
import org.openapitools.codegen.SupportingFile;
import org.openapitools.codegen.utils.ModelUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -30,6 +33,7 @@ import java.io.File;
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 class CppQt5ClientCodegen extends AbstractCppCodegen implements CodegenCo
// 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

View File

@@ -17,12 +17,14 @@
package org.openapitools.codegen.languages;
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.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.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;
@@ -30,6 +32,7 @@ import java.io.File;
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 class CppQt5QHttpEngineServerCodegen extends AbstractCppCodegen implement
// 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

View File

@@ -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.Arrays;
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 class CppRestSdkClientCodegen extends AbstractCppCodegen {
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);
}

View File

@@ -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 class EiffelClientCodegen extends AbstractEiffelCodegen {
@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 class EiffelClientCodegen extends AbstractEiffelCodegen {
// for symbol, e.g. $, #
if (getSymbolName(value) != null) {
return getSymbolName(value).toUpperCase();
return getSymbolName(value).toUpperCase(Locale.ROOT);
}
// number
@@ -193,7 +196,7 @@ public class EiffelClientCodegen extends AbstractEiffelCodegen {
}
// 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("_")) {

View File

@@ -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.Comparator;
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 class ElmClientCodegen extends DefaultCodegen implements CodegenConfig {
Collections.sort(parent.children, new Comparator<CodegenModel>() {
@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);
}
});
}

View File

@@ -290,7 +290,7 @@ public class ErlangClientCodegen extends DefaultCodegen implements CodegenConfig
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 + "]";

View File

@@ -341,7 +341,7 @@ public class FinchServerCodegen extends DefaultCodegen implements CodegenConfig
}
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 @@ public class FinchServerCodegen extends DefaultCodegen implements CodegenConfig
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 @@ public class FinchServerCodegen extends DefaultCodegen implements CodegenConfig
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 {

View File

@@ -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 class FlashClientCodegen extends DefaultCodegen implements CodegenConfig
// 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

View File

@@ -465,7 +465,7 @@ public class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
} 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 class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
if (!additionalProperties.containsKey(PROP_CABAL_PACKAGE)) {
List<String> 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 class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
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 class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
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 class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
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 class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
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 class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
}
// 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 class HaskellHttpClientCodegen extends DefaultCodegen implements CodegenC
@Override
public String toEnumValue(String value, String datatype) {
List<String> 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) + "\"";

View File

@@ -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.CodegenType;
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 class HaskellServantCodegen extends DefaultCodegen implements CodegenConf
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 class HaskellServantCodegen extends DefaultCodegen implements CodegenConf
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 class HaskellServantCodegen extends DefaultCodegen implements CodegenConf
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 class HaskellServantCodegen extends DefaultCodegen implements CodegenConf
// The package name is made by appending the lowercased words of the title interspersed with dashes
List<String> wordsLower = new ArrayList<String>();
for (String word : words) {
wordsLower.add(word.toLowerCase());
wordsLower.add(word.toLowerCase(Locale.ROOT));
}
String cabalName = joinStrings("-", wordsLower);
@@ -484,7 +489,7 @@ public class HaskellServantCodegen extends DefaultCodegen implements CodegenConf
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));

View File

@@ -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 org.slf4j.LoggerFactory;
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 class JavaInflectorServerCodegen extends AbstractJavaCodegen {
@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) {

View File

@@ -17,13 +17,12 @@
package org.openapitools.codegen.languages;
import org.openapitools.codegen.*;
import io.swagger.v3.oas.models.*;
import java.util.*;
import io.swagger.v3.oas.models.Operation;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils;
import org.openapitools.codegen.*;
import java.util.*;
public class JavaJerseyServerCodegen extends AbstractJavaJAXRSServerCodegen {
@@ -159,7 +158,7 @@ public class JavaJerseyServerCodegen extends AbstractJavaJAXRSServerCodegen {
@Override
public void addOperationToGroup(String tag, String resourcePath, Operation operation, CodegenOperation co, Map<String, List<CodegenOperation>> operations) {
if (useTags) {
String basePath = tag.toLowerCase();
String basePath = tag.toLowerCase(Locale.ROOT);
if (basePath.startsWith("/")) {
basePath = basePath.substring(1);
}

View File

@@ -21,7 +21,6 @@ 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.tags.Tag;
import org.openapitools.codegen.CliOption;
import org.openapitools.codegen.CodegenConstants;
import org.openapitools.codegen.CodegenModel;
@@ -39,6 +38,7 @@ import java.util.ArrayList;
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 class JavaPKMSTServerCodegen extends AbstractJavaCodegen {
// 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);
}

View File

@@ -30,6 +30,7 @@ import org.openapitools.codegen.languages.features.BeanValidationFeatures;
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 class JavaPlayFrameworkCodegen extends AbstractJavaCodegen implements Bea
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

View File

@@ -22,7 +22,6 @@ 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.Schema;
import org.openapitools.codegen.CliOption;
import org.openapitools.codegen.CodegenModel;
import org.openapitools.codegen.CodegenOperation;
@@ -34,6 +33,7 @@ import org.openapitools.codegen.utils.URLPathUtils;
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 class JavaVertXServerCodegen extends AbstractJavaCodegen {
if (operations != null) {
List<CodegenOperation> ops = (List<CodegenOperation>) 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 @@ public class JavaVertXServerCodegen extends AbstractJavaCodegen {
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 @@ public class JavaVertXServerCodegen extends AbstractJavaCodegen {
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;

View File

@@ -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.CodegenOperation;
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.Arrays;
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 class JavascriptClientCodegen extends DefaultCodegen implements CodegenCo
// for symbol, e.g. $, #
if (getSymbolName(value) != null) {
return (getSymbolName(value)).toUpperCase();
return (getSymbolName(value)).toUpperCase(Locale.ROOT);
}
return value;

View File

@@ -30,7 +30,7 @@ import java.text.SimpleDateFormat;
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";

View File

@@ -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 class LuaClientCodegen extends DefaultCodegen implements CodegenConfig {
// 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 class LuaClientCodegen extends DefaultCodegen implements CodegenConfig {
// 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 class LuaClientCodegen extends DefaultCodegen implements CodegenConfig {
@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("[]", "");

View File

@@ -20,25 +20,37 @@ package org.openapitools.codegen.languages;
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 class NodeJSServerCodegen extends DefaultCodegen implements CodegenConfig
@SuppressWarnings("unchecked")
List<CodegenOperation> operations = (List<CodegenOperation>) objectMap.get("operation");
for (CodegenOperation operation : operations) {
operation.httpMethod = operation.httpMethod.toLowerCase();
operation.httpMethod = operation.httpMethod.toLowerCase(Locale.ROOT);
List<CodegenParameter> params = operation.allParams;
if (params != null && params.size() == 0) {
@@ -368,7 +380,7 @@ public class NodeJSServerCodegen extends DefaultCodegen implements CodegenConfig
.replaceAll("^[-]*", "")
.replaceAll("[-]*$", "")
.replaceAll("[-]{2,}", "-")
.toLowerCase();
.toLowerCase(Locale.ROOT);
this.additionalProperties.put("projectName", projectName);
}
}

View File

@@ -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.CodegenType;
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.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;
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 class ObjcClientCodegen extends DefaultCodegen implements CodegenConfig {
}
// 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 @@ public class ObjcClientCodegen extends DefaultCodegen implements CodegenConfig {
@Override
public boolean isDataTypeBinary(String dataType) {
return dataType.toLowerCase().startsWith("nsdata");
return dataType.toLowerCase(Locale.ROOT).startsWith("nsdata");
}
@Override

View File

@@ -204,7 +204,7 @@ public class PhpLaravelServerCodegen extends AbstractPhpCodegen {
List<CodegenOperation> operations = (List<CodegenOperation>) 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(".")) {

View File

@@ -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 class PhpLumenServerCodegen extends AbstractPhpCodegen {
List<CodegenOperation> operations = (List<CodegenOperation>) 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.");

View File

@@ -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 class PhpSymfonyServerCodegen extends AbstractPhpCodegen implements Codeg
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) {

View File

@@ -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 class PhpZendExpressivePathHandlerServerCodegen extends AbstractPhpCodege
}
}
if (counter == 0) {
co.operationIdLowerCase = co.operationId.toLowerCase();
co.operationIdLowerCase = co.operationId.toLowerCase(Locale.ROOT);
opList.add(co);
co.baseName = tag;
}

View File

@@ -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.Arrays;
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 @@ import static java.util.UUID.randomUUID;
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";

View File

@@ -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.CodegenType;
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.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.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 class PythonClientCodegen extends DefaultCodegen implements CodegenConfig
// 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

View File

@@ -20,21 +20,21 @@ package org.openapitools.codegen.languages;
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 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.*;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class PythonFlaskConnexionServerCodegen extends DefaultCodegen implements CodegenConfig {
private static final Logger LOGGER = LoggerFactory.getLogger(PythonFlaskConnexionServerCodegen.class);
@@ -400,7 +400,7 @@ public class PythonFlaskConnexionServerCodegen extends DefaultCodegen implements
// 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

View File

@@ -428,11 +428,11 @@ public class RClientCodegen extends DefaultCodegen implements CodegenConfig {
// 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 class RClientCodegen extends DefaultCodegen implements CodegenConfig {
@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("[]", "");

View File

@@ -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 class RubyClientCodegen extends AbstractRubyCodegen {
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 class RubyClientCodegen extends AbstractRubyCodegen {
}
// 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 class RubyClientCodegen extends AbstractRubyCodegen {
@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("_$", "");

View File

@@ -28,6 +28,7 @@ import org.openapitools.codegen.SupportingFile;
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 @@ import org.slf4j.LoggerFactory;
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;

View File

@@ -20,7 +20,14 @@ 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.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.io.File;
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 class RustClientCodegen extends DefaultCodegen implements CodegenConfig {
List<CodegenOperation> operations = (List<CodegenOperation>) 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 class RustClientCodegen extends DefaultCodegen implements CodegenConfig {
// 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 class RustClientCodegen extends DefaultCodegen implements CodegenConfig {
@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("[]", "");

View File

@@ -25,7 +25,6 @@ import io.swagger.v3.oas.models.media.FileSchema;
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.Comparator;
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 class RustServerCodegen extends DefaultCodegen implements CodegenConfig {
// for symbol, e.g. $, #
else if (getSymbolName(value) != null) {
var = getSymbolName(value).toUpperCase();
var = getSymbolName(value).toUpperCase(Locale.ROOT);
}
// number
@@ -429,7 +429,7 @@ public class RustServerCodegen extends DefaultCodegen implements CodegenConfig {
}
// 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 class RustServerCodegen extends DefaultCodegen implements CodegenConfig {
}
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 class RustServerCodegen extends DefaultCodegen implements CodegenConfig {
//
// 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 class RustServerCodegen extends DefaultCodegen implements CodegenConfig {
}
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 class RustServerCodegen extends DefaultCodegen implements CodegenConfig {
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 class RustServerCodegen extends DefaultCodegen implements CodegenConfig {
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 class RustServerCodegen extends DefaultCodegen implements CodegenConfig {
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 class RustServerCodegen extends DefaultCodegen implements CodegenConfig {
@Override
public CodegenModel fromModel(String name, Schema model, Map<String, Schema> 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());

View File

@@ -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 @@ public class ScalaGatlingCodegen extends AbstractScalaCodegen implements Codegen
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);
}

View File

@@ -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 class ScalatraServerCodegen extends AbstractScalaCodegen implements Codeg
List<CodegenOperation> operationList = (List<CodegenOperation>) 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 = "";

View File

@@ -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 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.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 class SpringCodegen extends AbstractJavaCodegen
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 class SpringCodegen extends AbstractJavaCodegen
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 class SpringCodegen extends AbstractJavaCodegen
// 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);
}

View File

@@ -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 org.slf4j.LoggerFactory;
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 class StaticHtml2Generator extends DefaultCodegen implements CodegenConfi
Map<String, Object> operations = (Map<String, Object>) objs.get("operations");
List<CodegenOperation> operationList = (List<CodegenOperation>) 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 class StaticHtml2Generator extends DefaultCodegen implements CodegenConfi
//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;
}

View File

@@ -19,12 +19,10 @@ package org.openapitools.codegen.languages;
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 org.openapitools.codegen.utils.ModelUtils;
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 class StaticHtmlGenerator extends DefaultCodegen implements CodegenConfig
Map<String, Object> operations = (Map<String, Object>) objs.get("operations");
List<CodegenOperation> operationList = (List<CodegenOperation>) 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";

View File

@@ -584,7 +584,7 @@ public class Swift3Codegen extends DefaultCodegen implements CodegenConfig {
// 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

View File

@@ -697,7 +697,7 @@ public class Swift4Codegen extends DefaultCodegen implements CodegenConfig {
// 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

View File

@@ -583,7 +583,7 @@ public class SwiftClientCodegen extends DefaultCodegen implements CodegenConfig
}
// string
String enumName = sanitizeName(underscore(name).toUpperCase());
String enumName = sanitizeName(underscore(name).toUpperCase(Locale.ROOT));
enumName = enumName.replaceFirst("^_", "");
enumName = enumName.replaceFirst("_$", "");

View File

@@ -32,7 +32,7 @@ import java.util.*;
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 @@ public class TypeScriptAngularClientCodegen extends AbstractTypeScriptClientCode
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 @@ public class TypeScriptAngularClientCodegen extends AbstractTypeScriptClientCode
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)
);
}
}

View File

@@ -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 class TypeScriptAureliaClientCodegen extends AbstractTypeScriptClientCode
List<CodegenOperation> operationList = (List<CodegenOperation>) 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) {

View File

@@ -27,9 +27,10 @@ import org.openapitools.codegen.utils.ModelUtils;
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";

View File

@@ -30,7 +30,7 @@ import java.util.*;
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 class TypeScriptInversifyClientCodegen extends AbstractTypeScriptClientCo
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++) {

View File

@@ -30,10 +30,11 @@ import org.slf4j.LoggerFactory;
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";

View File

@@ -31,7 +31,7 @@ import java.util.*;
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";

View File

@@ -23,6 +23,7 @@ import org.openapitools.codegen.CodegenConfig;
import java.io.IOException;
import java.io.Writer;
import java.util.Locale;
/**
* Converts text in a fragment to lowercase.
@@ -51,7 +52,7 @@ public class LowercaseLambda implements Mustache.Lambda {
@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);
}

View File

@@ -22,6 +22,7 @@ import com.samskivert.mustache.Template;
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 class TitlecaseLambda implements Mustache.Lambda {
}
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

View File

@@ -22,6 +22,7 @@ import com.samskivert.mustache.Template;
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));
}
}

View File

@@ -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 + ">");
}

View File

@@ -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<String, Object> 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<String, Object> param: formParams.entrySet()) {
if (param.getValue() instanceof File) {

View File

@@ -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<String, Object> {{localVariablePrefix}}formParams = new LinkedMultiValueMap<String, Object>();{{#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)

View File

@@ -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 + ">");
}

View File

@@ -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<String, Object> {{localVariablePrefix}}formParams = new LinkedMultiValueMap<String, Object>();{{#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)

View File

@@ -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);
}
}
}

View File

@@ -30,6 +30,7 @@ import org.testng.annotations.Test;
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 abstract class AbstractOptionsTest {
final Set<String> skipped = new HashSet<String>(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<String> undocumented = new HashSet<String>(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, ", ")));
}
}

View File

@@ -208,9 +208,7 @@ public class DefaultCodegenTest {
};
Method method = DefaultCodegen.class.getDeclaredMethod("getAllAliases", Map.class);
method.setAccessible(true);
Map<String, String> aliases = (Map<String, String>)method.invoke(null, schemas);
Map<String, String> aliases = DefaultCodegen.getAllAliases(schemas);
Assert.assertEquals(aliases.size(), 0);
}

View File

@@ -28,6 +28,7 @@ import java.nio.file.Path;
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 class AssertFile {
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 class AssertFile {
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 class AssertFile {
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);

29
pom.xml
View File

@@ -277,6 +277,33 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>de.thetaphi</groupId>
<artifactId>forbiddenapis</artifactId>
<version>2.5</version>
<configuration>
<bundledSignatures>
<!--
This will automatically choose the right
signatures based on 'maven.compiler.target':
-->
<bundledSignature>jdk-unsafe</bundledSignature>
<bundledSignature>jdk-deprecated</bundledSignature>
<bundledSignature>jdk-internal</bundledSignature>
<!-- disallow undocumented classes like sun.misc.Unsafe: -->
<bundledSignature>jdk-non-portable</bundledSignature>
<bundledSignature>jdk-reflection</bundledSignature>
</bundledSignatures>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
<goal>testCheck</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
@@ -1104,6 +1131,8 @@
</repository>
</repositories>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<swagger-parser-version>2.0.2-OpenAPITools.org-1</swagger-parser-version>
<swagger-core-version>2.0.1</swagger-core-version>
<scala-version>2.11.1</scala-version>

View File

@@ -28,7 +28,7 @@ public class ApiClientTest {
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";

View File

@@ -28,7 +28,7 @@ public class ApiClientTest {
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";

View File

@@ -28,7 +28,7 @@ public class ApiClientTest {
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";

View File

@@ -37,6 +37,7 @@ import java.text.DateFormat;
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 class JSON {
@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 @@ 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 + ">");
}

Some files were not shown because too many files have changed in this diff Show More