From 3f3ecb68791608f6436888e89da56c7ba0d4ea2e Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Thu, 25 Jul 2019 09:23:51 +0200 Subject: [PATCH] add modelNamePrefix option for qt5 (#3431) * qt5: Remove duplicate cppNamespace additional property * qt5: Add modelNamePrefix additional property --- docs/generators/cpp-qt5-client.md | 2 +- docs/generators/cpp-qt5-qhttpengine-server.md | 2 +- .../java/org/openapitools/codegen/CodegenConstants.java | 4 ++-- .../codegen/languages/CppQt5AbstractCodegen.java | 8 +++++--- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/docs/generators/cpp-qt5-client.md b/docs/generators/cpp-qt5-client.md index 8c72f0bedd6..fb3cd188444 100644 --- a/docs/generators/cpp-qt5-client.md +++ b/docs/generators/cpp-qt5-client.md @@ -12,5 +12,5 @@ sidebar_label: cpp-qt5-client |allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false| |prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false| |cppNamespace|C++ namespace (convention: name::space::for::api).| |OpenAPI| -|cppNamespace|C++ namespace (convention: name::space::for::api).| |OpenAPI| +|modelNamePrefix|Prefix that will be prepended to all model names.| |OAI| |optionalProjectFile|Generate client.pri.| |true| diff --git a/docs/generators/cpp-qt5-qhttpengine-server.md b/docs/generators/cpp-qt5-qhttpengine-server.md index 364066a0d82..171c325638f 100644 --- a/docs/generators/cpp-qt5-qhttpengine-server.md +++ b/docs/generators/cpp-qt5-qhttpengine-server.md @@ -12,4 +12,4 @@ sidebar_label: cpp-qt5-qhttpengine-server |allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false| |prependFormOrBodyParameters|Add form or body parameters to the beginning of the parameter list.| |false| |cppNamespace|C++ namespace (convention: name::space::for::api).| |OpenAPI| -|cppNamespace|C++ namespace (convention: name::space::for::api).| |OpenAPI| +|modelNamePrefix|Prefix that will be prepended to all model names.| |OAI| diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConstants.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConstants.java index 02ec63ec5b6..50f35eff4b6 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConstants.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConstants.java @@ -203,10 +203,10 @@ public class CodegenConstants { public static final String ENUM_PROPERTY_NAMING_DESC = "Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'"; public static final String MODEL_NAME_PREFIX = "modelNamePrefix"; - public static final String MODEL_NAME_PREFIX_DESC = "Prefix that will be prepended to all model names. Default is the empty string."; + public static final String MODEL_NAME_PREFIX_DESC = "Prefix that will be prepended to all model names."; public static final String MODEL_NAME_SUFFIX = "modelNameSuffix"; - public static final String MODEL_NAME_SUFFIX_DESC = "Suffix that will be appended to all model names. Default is the empty string."; + public static final String MODEL_NAME_SUFFIX_DESC = "Suffix that will be appended to all model names."; public static final String GIT_USER_ID = "gitUserId"; public static final String GIT_USER_ID_DESC = "Git user ID, e.g. openapitools."; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQt5AbstractCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQt5AbstractCodegen.java index 7dcd055d9aa..cfaac199a1c 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQt5AbstractCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQt5AbstractCodegen.java @@ -5,6 +5,7 @@ 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.CodegenModel; import org.openapitools.codegen.CodegenOperation; import org.openapitools.codegen.CodegenParameter; @@ -34,6 +35,7 @@ public class CppQt5AbstractCodegen extends AbstractCppCodegen implements Codegen } // CLI options addOption(CPP_NAMESPACE, CPP_NAMESPACE_DESC, this.cppNamespace); + addOption(CodegenConstants.MODEL_NAME_PREFIX, CodegenConstants.MODEL_NAME_PREFIX_DESC, this.modelNamePrefix); /* * Additional Properties. These values can be passed to the templates and @@ -45,9 +47,7 @@ public class CppQt5AbstractCodegen extends AbstractCppCodegen implements Codegen // Write defaults namespace in properties so that it can be accessible in templates. // At this point command line has not been parsed so if value is given // in command line it will supersede this content - additionalProperties.put("cppNamespace", cppNamespace); - // CLI options - addOption(CPP_NAMESPACE, CPP_NAMESPACE_DESC, this.cppNamespace); + additionalProperties.put("cppNamespace", cppNamespace); /* * Language Specific Primitives. These types will not trigger imports by * the client generator @@ -112,7 +112,9 @@ public class CppQt5AbstractCodegen extends AbstractCppCodegen implements Codegen } additionalProperties.put("cppNamespaceDeclarations", cppNamespace.split("\\::")); + if (additionalProperties.containsKey("modelNamePrefix")) { + modelNamePrefix = (String) additionalProperties.get("modelNamePrefix"); typeMapping.put("object", modelNamePrefix + "Object"); additionalProperties().put("prefix", modelNamePrefix); }