From 025bf3aa8018aa0be2e6e7d519bdb98a9e83245e Mon Sep 17 00:00:00 2001 From: stkrwork Date: Thu, 22 Jun 2017 17:00:54 +0200 Subject: [PATCH] Final fix for cpprest for issue #5862 (#5893) * - Added Restbed Generator * - Added Json processing functions to model - Removed unnused code from restbed codegen class - Added response header processing to api template * Changed it to respect alphabetical order * Made the string joining java 7 compatible * Added samples * First step in fixing the cpp rest template regenerated new samples TODO: Fix the other functions * Updated samples * Added isMapContainer check * Fixed item selection in json object for MapContainer * - Fixed Syntax error in C++ - Fixed Syntax error in Mustache, that escaped characters --- .../resources/cpprest/model-source.mustache | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/cpprest/model-source.mustache b/modules/swagger-codegen/src/main/resources/cpprest/model-source.mustache index 38388fa4fa5a..e90e2a5371cd 100644 --- a/modules/swagger-codegen/src/main/resources/cpprest/model-source.mustache +++ b/modules/swagger-codegen/src/main/resources/cpprest/model-source.mustache @@ -90,8 +90,8 @@ web::json::value {{classname}}::toJson() const for( auto& item : m_{{name}} ) { web::json::value tmp = web::json::value::object(); - tmp[U("key")] = ModelBase::toJson(item.first()); - tmp[U("value")] = ModelBase::toJson(item.second()); + tmp[U("key")] = ModelBase::toJson(item.first); + tmp[U("value")] = ModelBase::toJson(item.second); jsonArray.push_back(tmp); } {{#required}} @@ -200,32 +200,32 @@ void {{classname}}::fromJson(web::json::value& val) {{/required}} for( auto& item : val[U("{{baseName}}")].as_array() ) { - utility::string_t key = ""; + utility::string_t key; if(item.has_field(U("key"))) { key = ModelBase::stringFromJson(item[U("key")]); } {{#items.isPrimitiveType}} - m_{{name}}.insert(std::pair( key, ModelBase::{{items.baseType}}FromJson(item[U("value")]))); + m_{{name}}.insert(std::pair( key, ModelBase::{{items.baseType}}FromJson(item[U("value")]))); {{/items.isPrimitiveType}} {{^items.isPrimitiveType}} {{#items.isString}} - m_{{name}}.insert(std::pair( key, ModelBase::stringFromJson(item[U("value")]))); + m_{{name}}.insert(std::pair( key, ModelBase::stringFromJson(item[U("value")]))); {{/items.isString}} {{^items.isString}} {{#items.isDateTime}} - m_{{name}}.insert(std::pair( key, ModelBase::dateFromJson(item[U("value")]))); + m_{{name}}.insert(std::pair( key, ModelBase::dateFromJson(item[U("value")]))); {{/items.isDateTime}} {{^items.isDateTime}} if(item.is_null()) { - m_{{name}}.insert(std::pair( key, {{{items.datatype}}}(nullptr) )); + m_{{name}}.insert(std::pair( key, {{{items.datatype}}}(nullptr) )); } else { {{{items.datatype}}} newItem({{{items.defaultValue}}}); newItem->fromJson(item[U("value")]); - m_{{name}}.insert(std::pair( key, newItem )); + m_{{name}}.insert(std::pair( key, newItem )); } {{/items.isDateTime}} {{/items.isString}} @@ -334,8 +334,8 @@ void {{classname}}::toMultipart(std::shared_ptr multipart, co for( auto& item : m_{{name}} ) { web::json::value tmp = web::json::value::object(); - tmp[U("key")] = ModelBase::toJson(item.first()); - tmp[U("value")] = ModelBase::toJson(item.second()); + tmp[U("key")] = ModelBase::toJson(item.first); + tmp[U("value")] = ModelBase::toJson(item.second); jsonArray.push_back(tmp); } {{#required}}multipart->add(ModelBase::toHttpContent(namePrefix + U("{{baseName}}"), web::json::value::array(jsonArray), U("application/json"))); @@ -463,32 +463,32 @@ void {{classname}}::fromMultiPart(std::shared_ptr multipart, web::json::value jsonArray = web::json::value::parse(ModelBase::stringFromHttpContent(multipart->getContent(U("{{baseName}}")))); for( auto& item : jsonArray.as_array() ) { - utility::string_t key = ""; + utility::string_t key; if(item.has_field(U("key"))) { key = ModelBase::stringFromJson(item[U("key")]); } {{#items.isPrimitiveType}} - m_{{name}}.insert(std::pair( key, ModelBase::{{items.baseType}}FromJson(item[U("value")]))); + m_{{name}}.insert(std::pair( key, ModelBase::{{items.baseType}}FromJson(item[U("value")]))); {{/items.isPrimitiveType}} {{^items.isPrimitiveType}} {{#items.isString}} - m_{{name}}.insert(std::pair( key, ModelBase::stringFromJson(item[U("value")]))); + m_{{name}}.insert(std::pair( key, ModelBase::stringFromJson(item[U("value")]))); {{/items.isString}} {{^items.isString}} {{#items.isDateTime}} - m_{{name}}.insert(std::pair( key, ModelBase::dateFromJson(item[U("value")]))); + m_{{name}}.insert(std::pair( key, ModelBase::dateFromJson(item[U("value")]))); {{/items.isDateTime}} {{^items.isDateTime}} if(item.is_null()) { - m_{{name}}.insert(std::pair( key, {{{items.datatype}}}(nullptr) )); + m_{{name}}.insert(std::pair( key, {{{items.datatype}}}(nullptr) )); } else { {{{items.datatype}}} newItem({{{items.defaultValue}}}); newItem->fromJson(item[U("value")]); - m_{{name}}.insert(std::pair( key, newItem )); + m_{{name}}.insert(std::pair( key, newItem )); } {{/items.isDateTime}} {{/items.isString}}