@@ -77,16 +77,16 @@ void ${typeInfo.className}::OutputToStream(Aws::OStream& oStream, const char* lo
7777#else
7878 ${spaces}${memberVarName}.OutputToStream(oStream, ${lowerCaseVarName}LocationAndMemberSs.str().c_str());
7979#end
80- #elseif($member.shape.string || $member.shape.timeStamp || $member.shape.blob || $member.shape.double || $member.shape.boolean || $member.shape.primitive || $member.shape.enum)
80+ #elseif($member.shape.list)
81+ #serializeSubObjQueryListElement($spaces, $member, $memberName, $memberVarName)
82+ #elseif($member.shape.map)
83+ #serializeSubObjQueryMapElement($spaces, $member, $memberName, $memberVarName)
84+ #else
8185#set($memberLocation = '".' + $memberName + '="')
8286#if($member.shape.double)
8387#set($spaces = "${spaces} ")##avoiding huge diff on generation
8488#end
8589 ${spaces}oStream << location << index << locationValue << #serializeSubObjQuerySingleElement($member, $memberLocation, $memberVarName) << "&";
86- #elseif($member.shape.list)
87- #serializeSubObjQueryListElement($spaces, $member, $memberName, $memberVarName)
88- #elseif($member.shape.map)
89- #serializeSubObjQueryMapElement($spaces, $member, $memberName, $memberVarName)
9090#end
9191#if(!$member.required)
9292 }
@@ -121,116 +121,12 @@ void ${typeInfo.className}::OutputToStream(Aws::OStream& oStream, const char* lo
121121#else
122122 ${spaces}${memberVarName}.OutputToStream(oStream, ${lowerCaseVarName}LocationAndMember.c_str());
123123#end
124- #elseif($member.shape.string)
125- ${spaces}oStream << location << ".${memberName}=" << StringUtils::URLEncode(${memberVarName}.c_str()) << "&";
126- #elseif($member.shape.timeStamp)
127- ${spaces}oStream << location << ".${memberName}=" << StringUtils::URLEncode(${memberVarName}.ToGmtString(Aws::Utils::DateFormat::$CppViewHelper.computeTimestampFormatInQueryString($member.shape)).c_str()) << "&";
128- #elseif($member.shape.blob)
129- ${spaces}oStream << location << ".${memberName}=" << StringUtils::URLEncode(HashingUtils::Base64Encode(${memberVarName}).c_str()) << "&";
130- #elseif($member.shape.double)
131- ${spaces}oStream << location << ".${memberName}=" << StringUtils::URLEncode(${memberVarName}) << "&";
132- #elseif($member.shape.boolean)
133- ${spaces}oStream << location << ".${memberName}=" << std::boolalpha << ${memberVarName} << "&";
134- #elseif($member.shape.primitive)
135- ${spaces}oStream << location << ".${memberName}=" << ${memberVarName} << "&";
136- #elseif($member.shape.enum)
137- ${spaces}oStream << location << ".${memberName}=" << ${member.shape.name}Mapper::GetNameFor${member.shape.name}(${memberVarName}) << "&";
138124#elseif($member.shape.list)
139- ${spaces}unsigned ${lowerCaseVarName}Idx = 1;
140- ${spaces}for(auto& item : ${memberVarName})
141- ${spaces}{
142- #if($member.queryName)
143- #set($location = $member.queryName)
144- #elseif($member.locationName)
145- #set($location = $CppViewHelper.capitalizeFirstChar($member.locationName))
146- #elseif($member.shape.listMember.queryName)
147- #set($location = $member.shape.listMember.queryName)
148- #elseif($member.shape.listMember.locationName)
149- #set($location = $member.shape.listMember.locationName)
150- #if($metadata.findFirstSupportedProtocol() == "ec2")
151- #set($location = $CppViewHelper.capitalizeFirstChar($location))
152- #end
153- #elseif($metadata.findFirstSupportedProtocol() == "ec2")
154- #set($location = $memberName)
155- #else
156- #set($location = $memberName + ".member")
157- #end
158- #if($member.shape.listMember.shape.structure)
159- ${spaces} Aws::StringStream ${lowerCaseVarName}Ss;
160- ${spaces} ${lowerCaseVarName}Ss << location << ".${location}." << ${lowerCaseVarName}Idx++;
161- ${spaces} item.OutputToStream(oStream, ${lowerCaseVarName}Ss.str().c_str());
162- #elseif($member.shape.listMember.shape.string)
163- ${spaces} oStream << location << ".${location}." << ${lowerCaseVarName}Idx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&";
164- #elseif($member.shape.listMember.shape.timeStamp)
165- ${spaces} oStream << location << ".${location}." << ${lowerCaseVarName}Idx++ << "=" << StringUtils::URLEncode(item.ToGmtString(Aws::Utils::DateFormat::$CppViewHelper.computeTimestampFormatInQueryString($member.shape.listMember.shape)).c_str()) << "&";
166- #elseif($member.shape.listMember.shape.blob)
167- ${spaces} oStream << location << ".${location}." << ${lowerCaseVarName}Idx++ << "=" << StringUtils::URLEncode(HashingUtils::Base64Encode(item).c_str()) << "&";
168- #elseif($member.shape.listMember.shape.double)
169- ${spaces} oStream << location << ".${location}." << ${lowerCaseVarName}Idx++ << "=" << StringUtils::URLEncode(item) << "&";
170- #elseif($member.shape.listMember.shape.boolean)
171- ${spaces} oStream << location << ".${location}." << ${lowerCaseVarName}Idx++ << "=" << std::boolalpha << item << "&";
172- #elseif($member.shape.listMember.shape.primitive)
173- ${spaces} oStream << location << ".${location}." << ${lowerCaseVarName}Idx++ << "=" << item << "&";
174- #elseif($member.shape.listMember.shape.enum)
175- ${spaces} oStream << location << ".${location}." << ${lowerCaseVarName}Idx++ << "=" << ${member.shape.listMember.shape.name}Mapper::GetNameFor${member.shape.listMember.shape.name}(item) << "&";
176- #end
177- ${spaces}}
125+ #serializeSubObjQueryListElement($spaces, $member, $memberName, $memberVarName, false)
178126#elseif($member.shape.map)
179- #if($member.locationName)
180- #set($mapLocationName = $member.locationName)
181- #else
182- #set($mapLocationName = $memberName + ".entry")
183- #end
184- #if($member.shape.mapKey.locationName)
185- #set($mapKeyLocationName = $member.shape.mapKey.locationName)
186- #else
187- #set($mapKeyLocationName = "key")
188- #end
189- #if($member.shape.mapValue.locationName)
190- #set($mapValueLocationName = $member.shape.mapValue.locationName)
191- #else
192- #set($mapValueLocationName = "value")
193- #end
194- ${spaces}unsigned ${lowerCaseVarName}Idx = 1;
195- ${spaces}for(auto& item : ${memberVarName})
196- ${spaces}{
197- ${spaces} oStream << location << ".${mapLocationName}." << ${lowerCaseVarName}Idx << ".${mapKeyLocationName}="
198- #if($member.shape.mapKey.shape.string)
199- ${spaces} << StringUtils::URLEncode(item.first.c_str()) << "&";
200- #elseif($member.shape.mapKey.shape.timeStamp)
201- ${spaces} << StringUtils::URLEncode(item.first.ToGmtString(Aws::Utils::DateFormat::$CppViewHelper.computeTimestampFormatInQueryString($member.shape.mapKey.shape)).c_str()) << "&";
202- #elseif($member.shape.mapKey.shape.enum)
203- ${spaces} << StringUtils::URLEncode(${member.shape.mapKey.shape.name}Mapper::GetNameFor${member.shape.mapKey.shape.name}(item.first).c_str()) << "&";
204- #elseif($member.shape.mapKey.shape.double)
205- ${spaces} << StringUtils::URLEncode(item.first) << "&";
206- #elseif($member.shape.mapKey.shape.boolean)
207- ${spaces} << std::boolalpha << item.first << "&";
208- #else
209- ${spaces} << item.first << "&";
210- #end
211- #if(!$member.shape.mapValue.shape.structure)
212- ${spaces} oStream << location << ".${mapLocationName}." << ${lowerCaseVarName}Idx << ".${mapValueLocationName}="
213- #end
214- #if($member.shape.mapValue.shape.string)
215- ${spaces} << StringUtils::URLEncode(item.second.c_str()) << "&";
216- #elseif($member.shape.mapValue.shape.timeStamp)
217- ${spaces} << StringUtils::URLEncode(item.second.ToGmtString(Aws::Utils::DateFormat::$CppViewHelper.computeTimestampFormatInQueryString($member.shape.mapValue.shape)).c_str()) << "&";
218- #elseif($member.shape.mapValue.shape.enum)
219- ${spaces} << StringUtils::URLEncode(${member.shape.mapValue.shape.name}Mapper::GetNameFor${member.shape.mapValue.shape.name}(item.second).c_str()) << "&";
220- #elseif($member.shape.mapValue.shape.structure)
221- ${spaces} Aws::StringStream ${lowerCaseVarName}Ss;
222- ${spaces} ${lowerCaseVarName}Ss << location << ".${mapLocationName}." << ${lowerCaseVarName}Idx << ".${mapValueLocationName}";
223- ${spaces} item.second.OutputToStream(oStream, ${lowerCaseVarName}Ss.str().c_str());
224- #elseif($member.shape.mapValue.shape.double)
225- ${spaces} << StringUtils::URLEncode(item.second) << "&";
226- #elseif($member.shape.mapValue.shape.boolean)
227- ${spaces} << std::boolalpha << item.second << "&";
127+ #serializeSubObjQueryMapElement($spaces, $member, $memberName, $memberVarName, false)
228128#else
229- ${spaces} << item.second << "&";
230- #end
231- ${spaces} ${lowerCaseVarName}Idx++;
232- ${spaces}}
233-
129+ ${spaces}oStream << location << ".${memberName}=" << #serializeQuerySingleElementToText($spaces, $member, $memberVarName) << "&";
234130#end
235131#if(!$member.required)
236132 }
0 commit comments