swagger-api/swagger-codegen

Not All Model Classnames Properly Capitalized When ModelNamePrefix Present

Open

#3,828 opened on Sep 19, 2016

View on GitHub
 (7 comments) (0 reactions) (0 assignees)HTML (12,701 stars) (5,474 forks)batch import
Client: JavaIssue: Bughelp wanted

Description

Description

When specifying a model name prefix in a custom codegen class, some of the generated classes do not have proper capitalization of the original class name. For instance a model name of "account" and a model name prefix of "generated" will produce a class named "Generatedaccount" in file "Generatedaccount.java" when they should be named "GeneratedAccount" and "GeneratedAccount.java", respectively.

Swagger-codegen version

Using 2.2.1

Custom Swagger Codegen Class
import io.swagger.codegen.languages.JavaClientCodegen;

/**
 * Custom Java codegen class
 */
public class JavaUapiCodegen extends JavaClientCodegen {

  public JavaUapiCodegen() {
    super();
    setModelNamePrefix("generated");
  }

}
Suggest a Fix

In class DefaultCodegen.java:

    public String toModelName(final String name) {
        return initialCaps(modelNamePrefix)
            + initialCaps(name) + modelNameSuffix;
    }

Contributor guide