Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Protocol tests issue 27 #3260

Merged
merged 2 commits into from
Apr 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -151,8 +151,22 @@ namespace <#=this.Config.Namespace #>.Model.Internal.MarshallTransformations
ProcessList(level, variableName, member);
}
else if(member.IsMap)
{
ProcessMap(level, variableName, member);
{
#>
<#=new string(' ', (level + 4) * 4)#>if(<#=variableName#>.IsSet<#=member.PropertyName#>())
<#=new string(' ', (level + 4) * 4)#>{
<#+
if(member.IsFlattened)
{
ProcessFlattenedMap(level,variableName,member);
}
else
{
ProcessMap(level, variableName, member);
}
#>
<#=new string(' ', (level + 4) * 4)#>}
<#+
}
else
{
Expand Down Expand Up @@ -209,11 +223,11 @@ namespace <#=this.Config.Namespace #>.Model.Internal.MarshallTransformations
{
if(member.IsStructure)
{
ProcessStructure(level, variableName, member);
ProcessStructure(level, variableName, member);
}
else if(member.IsList)
{
ProcessList(level, variableName, member);
ProcessList(level, variableName, member);
}
else if(member.IsMap)
{
Expand Down Expand Up @@ -342,11 +356,48 @@ namespace <#=this.Config.Namespace #>.Model.Internal.MarshallTransformations
}
#>
<#=new string(' ', level * 4)#> xmlWriter.WriteEndElement();
<#=new string(' ', level * 4)#> }
<#=new string(' ', level * 4)#> xmlWriter.WriteEndElement();
<#+
<#=new string(' ', level * 4)#> }
<#=new string(' ', level * 4)#> xmlWriter.WriteEndElement();
<#+
}

#>
<#+
// Separating the processing of a flattened map and a regular map for maintability
void ProcessFlattenedMap(int level, string variableName, Member member)
{
#>
<#=new string(' ', level * 4)#> foreach (var kvp in <#=variableName#>.<#=member.PropertyName#>)
<#=new string(' ', level * 4)#> {
<#=new string(' ', level * 4)#> xmlWriter.WriteStartElement("<#=member.MarshallName#>");
<#=new string(' ', level * 4)#> xmlWriter.WriteElementString("key", kvp.Key);
<#+
if(member.Shape.ValueShape.IsMap)
{
ProcessSubMap(level + 1, member.Shape.ValueShape, "kvp");
}
else if(member.Shape.ValueShape.IsStructure)
{
#>
<#=new string(' ', level * 4)#> xmlWriter.WriteStartElement("value");
<#+
ProcessStructure(level + 2, "kvp.Value", member.Shape.ValueShape);
#>
<#=new string(' ', level * 4)#> xmlWriter.WriteEndElement();
<#+
}
else
{
#>
<#=new string(' ', level * 4)#> xmlWriter.WriteElementString("value", kvp.Value<#=member.Shape.ValueShape.IsString ? "" : ".ToString()"#>);
<#=new string(' ', level * 4)#> xmlWriter.WriteEndElement();
<#+
}
#>
<#=new string(' ', level * 4)#> }
<#+
}
#>
<#+
void ProcessSubMap(int level, Shape shape, string parentVariableName)
{
#>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -352,7 +352,7 @@ internal static void WriteJson(DynamoDBEntry entry, JsonWriter writer, DynamoDBE
var ddbNull = entry as DynamoDBNull;
if (ddbNull != null)
{
writer.Write(null);
writer.Write((string)null);
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this was just to fix a build problem for the nullable value types in collections. Bo and I talked about making this change.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it was one I missed from this commit which we PRed: b19a010

return;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -288,8 +288,8 @@ public IRequest Marshall(CreateJobRequest publicRequest)
xmlWriter.WriteElementString("key", kvp.Key);
xmlWriter.WriteElementString("value", kvp.Value);
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement();
xmlWriter.WriteEndElement();
}

Expand Down Expand Up @@ -469,8 +469,8 @@ public IRequest Marshall(CreateJobRequest publicRequest)
xmlWriter.WriteElementString("key", kvp.Key);
xmlWriter.WriteElementString("value", kvp.Value);
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement();
xmlWriter.WriteEndElement();
}
var publicRequestOperationS3PutObjectCopyNewObjectTagging = publicRequest.Operation.S3PutObjectCopy.NewObjectTagging;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,15 +62,16 @@ public IRequest Marshall(FlattenedXmlMapRequest publicRequest)
using (var xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings() { Encoding = System.Text.Encoding.UTF8, OmitXmlDeclaration = true, NewLineHandling = NewLineHandling.Entitize }))
{
xmlWriter.WriteStartElement("FlattenedXmlMapRequest", "");
xmlWriter.WriteStartElement("myMap");
foreach (var kvp in publicRequest.MyMap)
if(publicRequest.IsSetMyMap())
{
foreach (var kvp in publicRequest.MyMap)
{
xmlWriter.WriteStartElement("entry");
xmlWriter.WriteStartElement("myMap");
xmlWriter.WriteElementString("key", kvp.Key);
xmlWriter.WriteElementString("value", kvp.Value);
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement();
}
}

xmlWriter.WriteEndElement();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,15 +62,16 @@ public IRequest Marshall(FlattenedXmlMapWithXmlNameRequest publicRequest)
using (var xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings() { Encoding = System.Text.Encoding.UTF8, OmitXmlDeclaration = true, NewLineHandling = NewLineHandling.Entitize }))
{
xmlWriter.WriteStartElement("FlattenedXmlMapWithXmlNameRequest", "");
xmlWriter.WriteStartElement("KVP");
foreach (var kvp in publicRequest.MyMap)
if(publicRequest.IsSetMyMap())
{
foreach (var kvp in publicRequest.MyMap)
{
xmlWriter.WriteStartElement("entry");
xmlWriter.WriteStartElement("KVP");
xmlWriter.WriteElementString("key", kvp.Key);
xmlWriter.WriteElementString("value", kvp.Value);
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement();
}
}

xmlWriter.WriteEndElement();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,11 @@ public IRequest Marshall(NestedXmlMapsRequest publicRequest)
using (var xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings() { Encoding = System.Text.Encoding.UTF8, OmitXmlDeclaration = true, NewLineHandling = NewLineHandling.Entitize }))
{
xmlWriter.WriteStartElement("NestedXmlMapsRequest", "");
xmlWriter.WriteStartElement("flatNestedMap");
foreach (var kvp in publicRequest.FlatNestedMap)
if(publicRequest.IsSetFlatNestedMap())
{
foreach (var kvp in publicRequest.FlatNestedMap)
{
xmlWriter.WriteStartElement("entry");
xmlWriter.WriteStartElement("flatNestedMap");
xmlWriter.WriteElementString("key", kvp.Key);
xmlWriter.WriteStartElement("value");
foreach (var kvp1 in kvp.Value)
Expand All @@ -76,9 +77,10 @@ public IRequest Marshall(NestedXmlMapsRequest publicRequest)
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement();
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement();
}
}
if(publicRequest.IsSetNestedMap())
{
xmlWriter.WriteStartElement("nestedMap");
foreach (var kvp in publicRequest.NestedMap)
{
Expand All @@ -94,8 +96,9 @@ public IRequest Marshall(NestedXmlMapsRequest publicRequest)
}
xmlWriter.WriteEndElement();
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement();
}

xmlWriter.WriteEndElement();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ public IRequest Marshall(XmlEmptyMapsRequest publicRequest)
using (var xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings() { Encoding = System.Text.Encoding.UTF8, OmitXmlDeclaration = true, NewLineHandling = NewLineHandling.Entitize }))
{
xmlWriter.WriteStartElement("XmlEmptyMapsRequest", "");
if(publicRequest.IsSetMyMap())
{
xmlWriter.WriteStartElement("myMap");
foreach (var kvp in publicRequest.MyMap)
{
Expand All @@ -79,8 +81,9 @@ public IRequest Marshall(XmlEmptyMapsRequest publicRequest)
}
xmlWriter.WriteEndElement();
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement();
}

xmlWriter.WriteEndElement();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,15 +83,18 @@ public IRequest Marshall(XmlEnumsRequest publicRequest)
}
xmlWriter.WriteEndElement();
}
if(publicRequest.IsSetFooEnumMap())
{
xmlWriter.WriteStartElement("fooEnumMap");
foreach (var kvp in publicRequest.FooEnumMap)
{
xmlWriter.WriteStartElement("entry");
xmlWriter.WriteElementString("key", kvp.Key);
xmlWriter.WriteElementString("value", kvp.Value);
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement();
}
var publicRequestFooEnumSet = publicRequest.FooEnumSet;
if (publicRequestFooEnumSet != null && publicRequestFooEnumSet.Count > 0)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,15 +83,18 @@ public IRequest Marshall(XmlIntEnumsRequest publicRequest)
}
xmlWriter.WriteEndElement();
}
if(publicRequest.IsSetIntEnumMap())
{
xmlWriter.WriteStartElement("intEnumMap");
foreach (var kvp in publicRequest.IntEnumMap)
{
xmlWriter.WriteStartElement("entry");
xmlWriter.WriteElementString("key", kvp.Key);
xmlWriter.WriteElementString("value", kvp.Value.ToString());
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement();
}
var publicRequestIntEnumSet = publicRequest.IntEnumSet;
if (publicRequestIntEnumSet != null && publicRequestIntEnumSet.Count > 0)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,15 +62,18 @@ public IRequest Marshall(XmlMapWithXmlNamespaceRequest publicRequest)
using (var xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings() { Encoding = System.Text.Encoding.UTF8, OmitXmlDeclaration = true, NewLineHandling = NewLineHandling.Entitize }))
{
xmlWriter.WriteStartElement("XmlMapWithXmlNamespaceRequest", "");
if(publicRequest.IsSetMyMap())
{
xmlWriter.WriteStartElement("KVP");
foreach (var kvp in publicRequest.MyMap)
{
xmlWriter.WriteStartElement("entry");
xmlWriter.WriteElementString("key", kvp.Key);
xmlWriter.WriteElementString("value", kvp.Value);
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement();
}

xmlWriter.WriteEndElement();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ public IRequest Marshall(XmlMapsRequest publicRequest)
using (var xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings() { Encoding = System.Text.Encoding.UTF8, OmitXmlDeclaration = true, NewLineHandling = NewLineHandling.Entitize }))
{
xmlWriter.WriteStartElement("XmlMapsRequest", "");
if(publicRequest.IsSetMyMap())
{
xmlWriter.WriteStartElement("myMap");
foreach (var kvp in publicRequest.MyMap)
{
Expand All @@ -79,8 +81,9 @@ public IRequest Marshall(XmlMapsRequest publicRequest)
}
xmlWriter.WriteEndElement();
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement();
}

xmlWriter.WriteEndElement();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ public IRequest Marshall(XmlMapsXmlNameRequest publicRequest)
using (var xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings() { Encoding = System.Text.Encoding.UTF8, OmitXmlDeclaration = true, NewLineHandling = NewLineHandling.Entitize }))
{
xmlWriter.WriteStartElement("XmlMapsXmlNameRequest", "");
if(publicRequest.IsSetMyMap())
{
xmlWriter.WriteStartElement("myMap");
foreach (var kvp in publicRequest.MyMap)
{
Expand All @@ -79,8 +81,9 @@ public IRequest Marshall(XmlMapsXmlNameRequest publicRequest)
}
xmlWriter.WriteEndElement();
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement();
}
xmlWriter.WriteEndElement();
}

xmlWriter.WriteEndElement();
}
Expand Down