From baf16cf834bed798bec05b79e7d0747fdbda944e Mon Sep 17 00:00:00 2001 From: sunn <33183834+etherealjoy@users.noreply.github.com> Date: Tue, 7 Aug 2018 15:19:56 +0200 Subject: [PATCH] [cpp pistache] use model namespace only on Model import (#733) Don't use model namespaces when not imported --- .../codegen/languages/CppPistacheServerCodegen.java | 6 ++++++ .../main/resources/cpp-pistache-server/api-header.mustache | 3 ++- .../resources/cpp-pistache-server/api-impl-header.mustache | 3 ++- .../resources/cpp-pistache-server/api-impl-source.mustache | 3 ++- .../main/resources/cpp-pistache-server/api-source.mustache | 3 ++- 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppPistacheServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppPistacheServerCodegen.java index c288575f695..4bef1d6fc66 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppPistacheServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppPistacheServerCodegen.java @@ -246,6 +246,12 @@ public class CppPistacheServerCodegen extends AbstractCppCodegen { } op.vendorExtensions.put("x-codegen-pistache-consumesJson", consumeJson); op.vendorExtensions.put("x-codegen-pistache-isParsingSupported", isParsingSupported); + for(String hdr : op.imports) { + if(importMapping.containsKey(hdr)) { + continue; + } + additionalProperties.put("hasModelImport", true); + } } return objs; diff --git a/modules/openapi-generator/src/main/resources/cpp-pistache-server/api-header.mustache b/modules/openapi-generator/src/main/resources/cpp-pistache-server/api-header.mustache index 1ede8d1a982..9db55ca4bac 100644 --- a/modules/openapi-generator/src/main/resources/cpp-pistache-server/api-header.mustache +++ b/modules/openapi-generator/src/main/resources/cpp-pistache-server/api-header.mustache @@ -23,7 +23,8 @@ namespace {{this}} { {{/apiNamespaceDeclarations}} -using namespace {{modelNamespace}}; +{{#hasModelImport}} +using namespace {{modelNamespace}};{{/hasModelImport}} class {{declspec}} {{classname}} { public: diff --git a/modules/openapi-generator/src/main/resources/cpp-pistache-server/api-impl-header.mustache b/modules/openapi-generator/src/main/resources/cpp-pistache-server/api-impl-header.mustache index 3aa6d5bc421..49c274d8fd7 100644 --- a/modules/openapi-generator/src/main/resources/cpp-pistache-server/api-impl-header.mustache +++ b/modules/openapi-generator/src/main/resources/cpp-pistache-server/api-impl-header.mustache @@ -26,7 +26,8 @@ namespace {{this}} { {{/apiNamespaceDeclarations}} -using namespace {{modelNamespace}}; +{{#hasModelImport}} +using namespace {{modelNamespace}};{{/hasModelImport}} class {{classname}}Impl : public {{apiNamespace}}::{{classname}} { public: diff --git a/modules/openapi-generator/src/main/resources/cpp-pistache-server/api-impl-source.mustache b/modules/openapi-generator/src/main/resources/cpp-pistache-server/api-impl-source.mustache index a3babcd5cad..d6ba91e15af 100644 --- a/modules/openapi-generator/src/main/resources/cpp-pistache-server/api-impl-source.mustache +++ b/modules/openapi-generator/src/main/resources/cpp-pistache-server/api-impl-source.mustache @@ -7,7 +7,8 @@ namespace {{this}} { {{/apiNamespaceDeclarations}} -using namespace {{modelNamespace}}; +{{#hasModelImport}} +using namespace {{modelNamespace}};{{/hasModelImport}} {{classname}}Impl::{{classname}}Impl(Pistache::Address addr) : {{classname}}(addr) diff --git a/modules/openapi-generator/src/main/resources/cpp-pistache-server/api-source.mustache b/modules/openapi-generator/src/main/resources/cpp-pistache-server/api-source.mustache index d6aa9becb04..c40c67eaa74 100644 --- a/modules/openapi-generator/src/main/resources/cpp-pistache-server/api-source.mustache +++ b/modules/openapi-generator/src/main/resources/cpp-pistache-server/api-source.mustache @@ -7,7 +7,8 @@ namespace {{this}} { {{/apiNamespaceDeclarations}} -using namespace {{modelNamespace}}; +{{#hasModelImport}} +using namespace {{modelNamespace}};{{/hasModelImport}} {{classname}}::{{classname}}(Pistache::Address addr) : httpEndpoint(addr)