For example, when an operation's tag is "users-api", "users_api" or
"UsersApi", generate the api file named users_api.clj and "users-api"
as the namespace (it was "usersapi.clj" and "usersapi" before).
To implement this, I have to move the "sanitizeTag" method from
DefaultGenerator.java to DefaultCodegen.java so that its behaviour can
be overridden in ClojureClientCodegen.java, which is needed as the
default implementation would sanitize "users-api" to "usersapi" before
the tag is passed to "toApiName" and "toApiFilename".
When generating Java clients with mode name prefix/suffix given, there
are invalid imports on Date and File, e.g. for the Petstore sample
(with model name prefix set to "My" and suffix set to "Model"):
import io.swagger.client.model.MyfileModel;
import io.swagger.client.model.MyDateModel;
This commit fixes it to:
import java.io.File;
import java.util.Date;
This is a fix to support enums in query parameters. Enum-related information was not being stored on `CodegenParameter` previously; it is now. Test cases have been added to make sure that the enum information is being properly processed from the model.
As pointed out in the review, using a super.toModelName call makes future changes harder
to review, therefore we are implementing the addition of suffix and prefix here again.
In addition, I fixed the FIXME about assigning the parameter.
Instead of declaring `Map` and `List` as primitive (which caused them
to be not imported anymore), now we exclude them from the model name
transformation in `JavaClientCodegen.getSwaggerType`.
This allows using the model name prefix and suffix parameters also in Java generators.
We add List and Map to the "language specific primitives" so they don't get mangled
by the suffixes/prefixes in `getSwaggerType`
This implements the command line arguments `--model-name-prefix` and `--model-name-suffix`
for all languages which do not override `DefaultCodegen.toModelName()`.
This fixes most of swagger-api/swagger-codegen#1255.
Connection to the maven plugin works with additional-properties, a more explicit
parameter waits for swagger-api/swagger-codegen#2168.