From ad1fc073c962adbb6f1e5dd1c79860d23268d313 Mon Sep 17 00:00:00 2001 From: steve Date: Thu, 7 Jan 2016 11:27:58 -0500 Subject: [PATCH] Fixed codegen for lists with locationNames. This primarily impacts the EC2 APIs. See issue #70 --- .../velocity/cpp/queryxml/QueryRequestSource.vm | 7 +++++++ .../velocity/cpp/xml/ModelClassMembersDeserializeXml.vm | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/queryxml/QueryRequestSource.vm b/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/queryxml/QueryRequestSource.vm index 50e5d15f704..655b7fb38ea 100644 --- a/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/queryxml/QueryRequestSource.vm +++ b/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/queryxml/QueryRequestSource.vm @@ -54,8 +54,15 @@ Aws::String ${typeInfo.className}::SerializePayload() const #set($location = $member.key) #end #else +#if($member.value.locationName) +#set($location = $member.value.locationName) +#else #set($location = $member.key + ".member") #end +#if($metadata.protocol == "ec2") +#set($location = $CppViewHelper.capitalizeFirstChar($location)) +#end +#end #if($member.value.shape.listMember.shape.structure) ${spaces} item.OutputToStream(ss, "${location}.", ${varName}Count, ""); #else diff --git a/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/ModelClassMembersDeserializeXml.vm b/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/ModelClassMembersDeserializeXml.vm index 6208d3116e0..b01a4c76db4 100644 --- a/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/ModelClassMembersDeserializeXml.vm +++ b/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/ModelClassMembersDeserializeXml.vm @@ -29,7 +29,11 @@ #set($listVarName = $CppViewHelper.computeVariableName($memberName) + "Member") #set($listMemberName = "member") #end##location specified in model +#if($member.locationName)##location specified + XmlNode ${lowerCaseVarName}Node = resultNode.FirstChild("${member.locationName}"); +#else##no location specified XmlNode ${lowerCaseVarName}Node = resultNode.FirstChild("${memberName}"); +#end## #end##list member uses flattened serialization #elseif($member.shape.map)##member is a map #if($member.locationName)##member uses location for serialization