Skip to content

Commit ac52990

Browse files
Merge pull request #80 from tellapart/filter-fixes
Code gen fixes for filters
2 parents 9d50a46 + 589fb1f commit ac52990

File tree

1 file changed

+28
-0
lines changed
  • code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/queryxml

1 file changed

+28
-0
lines changed

code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/queryxml/QueryXmlSubObjectSource.vm

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,40 @@ void ${typeInfo.className}::OutputToStream(Aws::OStream& oStream, const char* lo
6666
#elseif($member.shape.enum)
6767
${spaces}oStream << location << index << locationValue << ".${memberName}=" << ${member.shape.name}Mapper::GetNameFor${member.shape.name}(${memberVarName}) << "&";
6868
#elseif($member.shape.list)
69+
#if($metadata.protocol == "ec2")
70+
${spaces}unsigned ${lowerCaseVarName}Idx = 0;
71+
#end
6972
${spaces}for(auto& item : ${memberVarName})
7073
${spaces}{
74+
#if($metadata.protocol == "ec2")
75+
#if($member.locationName)
76+
#set($location = $CppViewHelper.capitalizeFirstChar($member.locationName))
77+
#else
78+
#set($location = $CppViewHelper.capitalizeFirstChar($memberName))
79+
#end
80+
#else
7181
#if($member.shape.listMember.locationName)
7282
#set($location = $member.shape.listMember.locationName)
7383
#else
7484
#set($location = $memberName)
7585
#end
86+
#end
87+
#if($metadata.protocol == "ec2")
88+
${spaces} ${lowerCaseVarName}Idx++;
89+
#if($member.shape.listMember.shape.structure)
90+
${spaces} Aws::StringStream ${lowerCaseVarName}Ss;
91+
${spaces} ${lowerCaseVarName}Ss << location << index << locationValue << ".${location}." << ${lowerCaseVarName}Idx;
92+
${spaces} item.OutputToStream(oStream, ${lowerCaseVarName}Ss.str().c_str());
93+
#elseif($member.shape.listMember.shape.string)
94+
${spaces} oStream << location << index << locationValue << ".${location}." << ${lowerCaseVarName}Idx << "=" << StringUtils::URLEncode(item.c_str()) << "&";
95+
#elseif($member.shape.listMember.shape.blob)
96+
${spaces} oStream << location << index << locationValue << ".${location}." << ${lowerCaseVarName}Idx << "=" << StringUtils::URLEncode(HashingUtils::Base64Encode(item).c_str()) << "&";
97+
#elseif($member.shape.listMember.shape.primitive)
98+
${spaces} oStream << location << index << locationValue << ".${location}." << ${lowerCaseVarName}Idx << "=" << item << "&";
99+
#elseif($member.shape.listMember.shape.enum)
100+
${spaces} oStream << location << index << locationValue << ".${location}." << ${lowerCaseVarName}Idx << "=" << ${member.shape.listMember.shape.name}Mapper::GetNameFor${member.shape.listMember.shape.name}(item) << "&";
101+
#end
102+
#else
76103
#if($member.shape.listMember.shape.structure)
77104
${spaces} Aws::StringStream ${lowerCaseVarName}Ss;
78105
${spaces} ${lowerCaseVarName}Ss << location << index << locationValue << ".${location}";
@@ -85,6 +112,7 @@ void ${typeInfo.className}::OutputToStream(Aws::OStream& oStream, const char* lo
85112
${spaces} oStream << location << index << locationValue << ".${location}=" << item << "&";
86113
#elseif($member.shape.listMember.shape.enum)
87114
${spaces} oStream << location << index << locationValue << ".${location}=" << ${member.shape.listMember.shape.name}Mapper::GetNameFor${member.shape.listMember.shape.name}(item) << "&";
115+
#end
88116
#end
89117
${spaces}}
90118
#end

0 commit comments

Comments
 (0)