Skip to content
This repository was archived by the owner on Dec 25, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ public interface CodegenConfig {

String toApiVarName(String name);

String toModelName(String name);
String toModelName(String name, String jsonPath);

String toParamName(String name);

Expand Down Expand Up @@ -194,9 +194,9 @@ public interface CodegenConfig {

String toApiFilename(String name);

String toModelFilename(String name);
String toModelFilename(String name, String jsonPath);

String toModuleFilename(String name);
String toModuleFilename(String name, String jsonPath);

String toApiTestFilename(String name);

Expand All @@ -206,17 +206,17 @@ public interface CodegenConfig {

String toRequestBodyFilename(String componentName);

String toHeaderFilename(String componentName);
String toHeaderFilename(String componentName, String jsonPath);

String toPathFilename(String path);
String toPathFilename(String path, String jsonPath);

String toParameterFilename(String baseName);
String toParameterFilename(String baseName, String jsonPath);

String toSecuritySchemeFilename(String baseName);
String toSecuritySchemeFilename(String baseName, String jsonPath);

String toServerFilename(String baseName);
String toServerFilename(String baseName, String jsonPath);

String toSecurityRequirementObjectFilename(String baseName);
String toSecurityRequirementObjectFilename(String baseName, String jsonPath);

String getCamelCaseServer(String baseName);

Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -686,7 +686,7 @@ private TreeMap<String, CodegenResponse> generateResponses(List<File> files) {
templateData.put("identifierToHeadingQty", new HashMap<>());
templateData.put("response", response);
// TODO make this a property that can be turned off and on
generateXs(files, sourceJsonPath, CodegenConstants.JSON_PATH_LOCATION_TYPE.RESPONSE, CodegenConstants.RESPONSE_DOCS, templateData, true);
generateXDocs(files, sourceJsonPath, CodegenConstants.JSON_PATH_LOCATION_TYPE.RESPONSE, CodegenConstants.RESPONSE_DOCS, templateData, true);
}
return responses;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -750,7 +750,7 @@ public String toApiTestFilename(String name) {

@Override
public String toModelTestFilename(String name) {
return toModelName(name) + "Test";
return toModelName(name, null) + "Test";
}

@Override
Expand Down Expand Up @@ -825,7 +825,7 @@ public String toParamName(String name) {
}

@Override
public String toModelName(final String name) {
public String toModelName(final String name, String jsonPath) {
// We need to check if schema-mapping has a different model for this class, so we use it
// instead of the auto-generated one.
if (schemaMapping.containsKey(name)) {
Expand Down Expand Up @@ -878,9 +878,9 @@ public String toModelName(final String name) {
}

@Override
public String toModelFilename(String name) {
public String toModelFilename(String name, String jsonPath) {
// should be the same as the model name
return toModelName(name);
return toModelName(name, jsonPath);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -604,7 +604,7 @@ public String toModelImport(String name) {
* @return capitalized model name
*/
@Override
public String toModelName(final String name) {
public String toModelName(final String name, String jsonPath) {
// memoization
String origName = name;
if (schemaKeyToModelNameCache.containsKey(origName)) {
Expand Down Expand Up @@ -664,9 +664,9 @@ public String toModelName(final String name) {
}

@Override
public String toModelFilename(String name) {
public String toModelFilename(String name, String jsonPath) {
// Should be the same as the model name
return toModelName(name);
return toModelName(name, jsonPath);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -455,63 +455,16 @@ public void setPackageVersion(String packageVersion) {
}

@Override
public String toModelName(String name) {
String sanitizedName = sanitizeName(name); // FIXME: a parameter should not be assigned. Also declare the methods parameters as 'final'.
// remove dollar sign
sanitizedName = sanitizedName.replaceAll("$", "");
// remove whitespace
sanitizedName = sanitizedName.replaceAll("\\s+", "");

String nameWithPrefixSuffix = sanitizedName;
if (!StringUtils.isEmpty(modelNamePrefix)) {
// add '_' so that model name can be camelized correctly
nameWithPrefixSuffix = modelNamePrefix + "_" + nameWithPrefixSuffix;
}

if (!StringUtils.isEmpty(modelNameSuffix)) {
// add '_' so that model name can be camelized correctly
nameWithPrefixSuffix = nameWithPrefixSuffix + "_" + modelNameSuffix;
}

// camelize the model name
// phone_number => PhoneNumber
String camelizedName = camelize(nameWithPrefixSuffix);

// model name cannot use reserved keyword, e.g. return
if (isReservedWord(camelizedName)) {
String modelName = "_" + camelizedName; // e.g. return => ModelReturn (after camelize)
LOGGER.warn("{} (reserved word) cannot be used as model name. Renamed to {}", camelizedName, modelName);
return modelName;
}

// model name starts with number
if (camelizedName.matches("^\\d.*")) {
String modelName = "_" + camelizedName; // e.g. return => ModelReturn (after camelize)
LOGGER.warn("{} (model name starts with number) cannot be used as model name. Renamed to {}", camelizedName, modelName);
return modelName;
}

return camelizedName;
}

@Override
public String toModelFilename(String name) {
// underscore the model file name
// PhoneNumber => phone_number
return toModuleFilename(name);
}

@Override
public String toModuleFilename(String name) {
public String toModelFilename(String name, String jsonPath) {
// underscore the model file name
// PhoneNumber => phone_number
return underscore(dropDots(toModelName(name)));
return toModuleFilename(name, jsonPath);
}


@Override
public String toModelTestFilename(String name) {
return "test_" + toModelFilename(name);
return "test_" + toModelFilename(name, null);
}

@Override
Expand Down
Loading