diff --git a/bin/restbed-petstore-server.sh b/bin/restbed-petstore-server.sh index 753db764da6..0b15d89b3bd 100755 --- a/bin/restbed-petstore-server.sh +++ b/bin/restbed-petstore-server.sh @@ -26,6 +26,6 @@ fi # if you've executed sbt assembly previously it will use that instead. export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties" -ags="$@ generate -l restbed -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -o samples/server/petstore/restbed" +ags="$@ generate -l cpp-restbed-server -i modules/openapi-generator/src/test/resources/2_0/petstore.yaml -o samples/server/petstore/restbed" java $JAVA_OPTS -jar $executable $ags diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestbedServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestbedServerCodegen.java index 825a868d9e5..289d66b1dbe 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestbedServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppRestbedServerCodegen.java @@ -261,24 +261,23 @@ public class CppRestbedServerCodegen extends AbstractCppCodegen { */ @Override public String getTypeDeclaration(Schema p) { - String swaggerType = getSchemaType(p); + String openAPIType = getSchemaType(p); if (p instanceof ArraySchema) { ArraySchema ap = (ArraySchema) p; Schema inner = ap.getItems(); return getSchemaType(p) + "<" + getTypeDeclaration(inner) + ">"; - } - if (isMapSchema(p)) { + } else if (isMapSchema(p)) { Schema inner = (Schema) p.getAdditionalProperties(); return getSchemaType(p) + ""; - } - if (p instanceof StringSchema || p instanceof DateSchema + } else if (p instanceof StringSchema || SchemaTypeUtil.STRING_TYPE.equals(p.getType()) + || p instanceof DateSchema || p instanceof DateTimeSchema || p instanceof FileSchema - || languageSpecificPrimitives.contains(swaggerType)) { - return toModelName(swaggerType); + || languageSpecificPrimitives.contains(openAPIType)) { + return toModelName(openAPIType); } - return "std::shared_ptr<" + swaggerType + ">"; + return "std::shared_ptr<" + openAPIType + ">"; } @Override @@ -340,14 +339,14 @@ public class CppRestbedServerCodegen extends AbstractCppCodegen { */ @Override public String getSchemaType(Schema p) { - String swaggerType = super.getSchemaType(p); + String openAPIType = super.getSchemaType(p); String type = null; - if (typeMapping.containsKey(swaggerType)) { - type = typeMapping.get(swaggerType); + if (typeMapping.containsKey(openAPIType)) { + type = typeMapping.get(openAPIType); if (languageSpecificPrimitives.contains(type)) return toModelName(type); } else - type = swaggerType; + type = openAPIType; return toModelName(type); } diff --git a/modules/openapi-generator/src/main/resources/restbed/api-source.mustache b/modules/openapi-generator/src/main/resources/restbed/api-source.mustache index ab9ab30ddaa..35196da731d 100644 --- a/modules/openapi-generator/src/main/resources/restbed/api-source.mustache +++ b/modules/openapi-generator/src/main/resources/restbed/api-source.mustache @@ -75,7 +75,7 @@ void {{classname}}{{vendorExtensions.x-codegen-resourceName}}Resource::{{httpMet // Getting the path params {{#pathParams}} {{#isPrimitiveType}} - const {{dataType}} {{paramName}} = request->get_path_parameter("{{paramName}}", {{#isString}}""{{/isString}}{{#isInteger}}0{{/isInteger}}{{#isLong}}0L{{/isLong}}{{#isFloat}}0.0f{{/isFloat}}{{#isDouble}}0.0{{/isDouble}}); + const {{{dataType}}} {{{paramName}}} = request->get_path_parameter("{{paramName}}", {{#isString}}""{{/isString}}{{#isInteger}}0{{/isInteger}}{{#isLong}}0L{{/isLong}}{{#isFloat}}0.0f{{/isFloat}}{{#isDouble}}0.0{{/isDouble}}); {{/isPrimitiveType}} {{/pathParams}} {{/hasPathParams}} @@ -84,7 +84,7 @@ void {{classname}}{{vendorExtensions.x-codegen-resourceName}}Resource::{{httpMet // Getting the query params {{#queryParams}} {{#isPrimitiveType}} - const {{dataType}} {{paramName}} = request->get_query_parameter("{{paramName}}", {{#isString}}""{{/isString}}{{#isInteger}}0{{/isInteger}}{{#isLong}}0L{{/isLong}}{{#isFloat}}0.0f{{/isFloat}}{{#isDouble}}0.0{{/isDouble}}); + const {{{dataType}}} {{{paramName}}} = request->get_query_parameter("{{paramName}}", {{#isString}}""{{/isString}}{{#isInteger}}0{{/isInteger}}{{#isLong}}0L{{/isLong}}{{#isFloat}}0.0f{{/isFloat}}{{#isDouble}}0.0{{/isDouble}}); {{/isPrimitiveType}} {{/queryParams}} {{/hasQueryParams}} @@ -93,7 +93,7 @@ void {{classname}}{{vendorExtensions.x-codegen-resourceName}}Resource::{{httpMet // Getting the headers {{#headerParams}} {{#isPrimitiveType}} - const {{dataType}} {{paramName}} = request->get_header("{{paramName}}", {{#isString}}""{{/isString}}{{#isInteger}}0{{/isInteger}}{{#isLong}}0L{{/isLong}}{{#isFloat}}0.0f{{/isFloat}}{{#isDouble}}0.0{{/isDouble}}); + const {{{dataType}}} {{{paramName}}} = request->get_header("{{paramName}}", {{#isString}}""{{/isString}}{{#isInteger}}0{{/isInteger}}{{#isLong}}0L{{/isLong}}{{#isFloat}}0.0f{{/isFloat}}{{#isDouble}}0.0{{/isDouble}}); {{/isPrimitiveType}} {{/headerParams}} {{/hasHeaderParams}}