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)