better hanlding of model name starting with number

This commit is contained in:
wing328
2016-03-17 11:49:06 +08:00
parent ec03403492
commit 47bb5689d9
76 changed files with 2855 additions and 1300 deletions

View File

@@ -500,6 +500,12 @@ public abstract class AbstractCSharpCodegen extends DefaultCodegen implements Co
name = "model_" + name; // e.g. return => ModelReturn (after camelize)
}
// model name starts with number
if (name.matches("^\\d.*")) {
LOGGER.warn(name + " (model name starts with number) cannot be used as model name. Renamed to " + camelize("model_" + name));
name = "model_" + name; // e.g. 200Response => Model200Response (after camelize)
}
// camelize the model name
// phone_number => PhoneNumber
return camelize(name);

View File

@@ -139,6 +139,13 @@ public abstract class AbstractTypeScriptClientCodegen extends DefaultCodegen imp
return modelName;
}
// model name starts with number
if (name.matches("^\\d.*")) {
String modelName = camelize("model_" + name); // e.g. 200Response => Model200Response (after camelize)
LOGGER.warn(name + " (model name starts with number) cannot be used as model name. Renamed to " + modelName);
return modelName;
}
// camelize the model name
// phone_number => PhoneNumber
return camelize(name);

View File

@@ -397,6 +397,13 @@ public class JavaClientCodegen extends DefaultCodegen implements CodegenConfig {
return modelName;
}
// model name starts with number
if (name.matches("^\\d.*")) {
final String modelName = "Model" + camelizedName; // e.g. 200Response => Model200Response (after camelize)
LOGGER.warn(name + " (model name starts with number) cannot be used as model name. Renamed to " + modelName);
return modelName;
}
return camelizedName;
}

View File

@@ -314,6 +314,13 @@ public class JavascriptClientCodegen extends DefaultCodegen implements CodegenCo
return modelName;
}
// model name starts with number
if (name.matches("^\\d.*")) {
String modelName = "Model" + name; // e.g. 200Response => Model200Response (after camelize)
LOGGER.warn(name + " (model name starts with number) cannot be used as model name. Renamed to " + modelName);
return modelName;
}
return name;
}

View File

@@ -324,6 +324,14 @@ public class ObjcClientCodegen extends DefaultCodegen implements CodegenConfig {
type = "model_" + type; // e.g. return => ModelReturn (after camelize)
}
// model name starts with number
/* no need for the fix below as objc model starts with prefix (e.g. SWG)
if (type.matches("^\\d.*")) {
LOGGER.warn(type + " (model name starts with number) cannot be used as model name. Renamed to " + camelize("model_" + type));
type = "model_" + type; // e.g. 200Response => Model200Response (after camelize)
}
*/
return toModelNameWithoutReservedWordCheck(type);
}

View File

@@ -293,6 +293,12 @@ public class PerlClientCodegen extends DefaultCodegen implements CodegenConfig {
name = "model_" + name;
}
// model name starts with number
if (name.matches("^\\d.*")) {
LOGGER.warn(name + " (model name starts with number) cannot be used as model name. Renamed to " + camelize("model_" + name));
name = "model_" + name; // e.g. 200Response => Model200Response (after camelize)
}
// add prefix/suffic to model name
if (!StringUtils.isEmpty(modelNamePrefix)) {
name = modelNamePrefix + "_" + name;

View File

@@ -224,6 +224,12 @@ public class PythonClientCodegen extends DefaultCodegen implements CodegenConfig
name = "model_" + name; // e.g. return => ModelReturn (after camelize)
}
// model name starts with number
if (name.matches("^\\d.*")) {
LOGGER.warn(name + " (model name starts with number) cannot be used as model name. Renamed to " + camelize("model_" + name));
name = "model_" + name; // e.g. 200Response => Model200Response (after camelize)
}
if (!StringUtils.isEmpty(modelNamePrefix)) {
name = modelNamePrefix + "_" + name;
}
@@ -249,6 +255,12 @@ public class PythonClientCodegen extends DefaultCodegen implements CodegenConfig
name = "model_" + name; // e.g. return => ModelReturn (after camelize)
}
// model name starts with number
if (name.matches("^\\d.*")) {
LOGGER.warn(name + " (model name starts with number) cannot be used as model name. Renamed to " + underscore("model_" + name));
name = "model_" + name; // e.g. 200Response => Model200Response (after camelize)
}
if (!StringUtils.isEmpty(modelNamePrefix)) {
name = modelNamePrefix + "_" + name;
}

View File

@@ -441,6 +441,12 @@ public class RubyClientCodegen extends DefaultCodegen implements CodegenConfig {
return modelName;
}
// model name starts with number
if (name.matches("^\\d.*")) {
LOGGER.warn(name + " (model name starts with number) cannot be used as model name. Renamed to " + camelize("model_" + name));
name = "model_" + name; // e.g. 200Response => Model200Response (after camelize)
}
// camelize the model name
// phone_number => PhoneNumber
return camelize(name);
@@ -464,6 +470,12 @@ public class RubyClientCodegen extends DefaultCodegen implements CodegenConfig {
return filename;
}
// model name starts with number
if (name.matches("^\\d.*")) {
LOGGER.warn(name + " (model name starts with number) cannot be used as model name. Renamed to " + underscore("model_" + name));
name = "model_" + name; // e.g. 200Response => model_200_response
}
// underscore the model file name
// PhoneNumber.rb => phone_number.rb
return underscore(name);

View File

@@ -305,6 +305,13 @@ public class ScalaClientCodegen extends DefaultCodegen implements CodegenConfig
return modelName;
}
// model name starts with number
if (name.matches("^\\d.*")) {
final String modelName = "Model" + camelizedName; // e.g. 200Response => Model200Response (after camelize)
LOGGER.warn(name + " (model name starts with number) cannot be used as model name. Renamed to " + modelName);
return modelName;
}
return camelizedName;
}

View File

@@ -271,6 +271,13 @@ public class SwiftCodegen extends DefaultCodegen implements CodegenConfig {
return modelName;
}
// model name starts with number
if (name.matches("^\\d.*")) {
String modelName = "Model" + name; // e.g. 200Response => Model200Response (after camelize)
LOGGER.warn(name + " (model name starts with number) cannot be used as model name. Renamed to " + modelName);
return modelName;
}
return name;
}