Skip to content

Commit

Permalink
Refactor services that depend on LitJson to use STJ
Browse files Browse the repository at this point in the history
  • Loading branch information
muhammad-othman committed Jan 24, 2025
1 parent 6d81072 commit dce5b75
Show file tree
Hide file tree
Showing 10 changed files with 108 additions and 159 deletions.
1 change: 0 additions & 1 deletion sdk/src/Services/DynamoDBv2/Custom/DataModel/S3Link.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
using System;
using System.Collections.Generic;
using Amazon.Util.Internal;
using ThirdParty.Json.LitJson;

#if NET8_0_OR_GREATER
using System.Text.Json;
Expand Down
27 changes: 16 additions & 11 deletions sdk/src/Services/EC2/Custom/Util/ImageUtilities.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,11 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Threading;
using System.Text.Json;

using Amazon.EC2.Model;
using Amazon.Runtime.Internal.Util;

using ThirdParty.Json.LitJson;
using Amazon.Runtime;

#pragma warning disable 1591

Expand Down Expand Up @@ -417,7 +413,7 @@ private static void ParseAMIDefinitions(StreamReader reader)
{
try
{
var jdata = JsonMapper.ToObject(reader);
using var jsonDocument = JsonDocument.Parse(reader.BaseStream);

var platformTags = new string[]
{
Expand All @@ -428,18 +424,27 @@ private static void ParseAMIDefinitions(StreamReader reader)
var parsedDefinitionsMap = new Dictionary<string, string>();
foreach (var platformTag in platformTags)
{
var imageDefinitions = jdata[platformTag];
if (imageDefinitions == null)
if (!jsonDocument.RootElement.TryGetProperty(platformTag, out var imageDefinitions) || imageDefinitions.ValueKind != JsonValueKind.Array)
{
Logger.InfoFormat("Parsing AMI definitions - did not find any images for platform tag '{0}'", platformTag);
continue;
}

for (int d = 0; d < imageDefinitions.Count; d++)
for (int d = 0; d < imageDefinitions.GetArrayLength(); d++)
{
var def = imageDefinitions[d];
var key = (string)def[DefinitionKeyTag];
var prefix = (string)def[DefinitionPrefixTag];
if (def.ValueKind != JsonValueKind.Object)
{
continue;
}

var key = def.TryGetProperty(DefinitionKeyTag, out var keyElement) && keyElement.ValueKind == JsonValueKind.String
? keyElement.GetString()
: null;

var prefix = def.TryGetProperty(DefinitionPrefixTag, out var prefixElement) && prefixElement.ValueKind == JsonValueKind.String
? prefixElement.GetString()
: null;

if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(prefix))
parsedDefinitionsMap[key] = prefix;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,13 @@
* AWS SDK for .NET
*/
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Threading;

using Amazon.EC2.Model;
using Amazon.Runtime.Internal.Util;

using ThirdParty.Json.LitJson;
using Amazon.Runtime;
using System.Threading.Tasks;
using Amazon.Util.Internal;
Expand Down
2 changes: 0 additions & 2 deletions sdk/src/Services/EC2/Custom/Util/_bcl/ImageUtilities.bcl.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
* AWS SDK for .NET
*/
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
Expand All @@ -27,7 +26,6 @@
using Amazon.EC2.Model;
using Amazon.Runtime.Internal.Util;

using ThirdParty.Json.LitJson;
using Amazon.Runtime;
using Amazon.Util.Internal;

Expand Down
7 changes: 3 additions & 4 deletions sdk/src/Services/EC2/Custom/_bcl/Util/EC2Metadata.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@
using System.Net;
using System.Threading;

using Amazon.Runtime;
using ThirdParty.Json.LitJson;
using System.Text.Json;
using System.Globalization;
using Amazon.Runtime.Internal.Util;
using Amazon.Util.Internal;
Expand Down Expand Up @@ -237,7 +236,7 @@ public static IAMInfo IAMInstanceProfileInfo
IAMInfo info;
try
{
info = JsonMapper.ToObject<IAMInfo>(json);
info = JsonSerializer.Deserialize<IAMInfo>(json);
}
catch
{
Expand Down Expand Up @@ -265,7 +264,7 @@ public static IDictionary<string, IAMSecurityCredential> IAMSecurityCredentials
var json = GetData("/iam/security-credentials/" + item);
try
{
var cred = JsonMapper.ToObject<IAMSecurityCredential>(json);
var cred = JsonSerializer.Deserialize<IAMSecurityCredential>(json);
creds[item] = cred;
}
catch
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,26 +15,11 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Net;
using System.Text;
using System.Threading;

using Amazon.Glacier.Model;
using Amazon.Glacier.Transfer.Internal;

using System.Text.Json;
using Amazon.Runtime.Internal;

using Amazon.SimpleNotificationService;
using Amazon.SimpleNotificationService.Model;

using Amazon.SQS;
using Amazon.SQS.Model;
using Amazon.SQS.Util;

using Amazon.Util;

using ThirdParty.Json.LitJson;

namespace Amazon.Glacier.Transfer.Internal
{
Expand Down Expand Up @@ -114,8 +99,8 @@ string getJobIdFromMessage(Message message)
else
json = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(message.Body));

Dictionary<string, string> outerLayer = JsonMapper.ToObject<Dictionary<string, string>>(json);
Dictionary<string, object> fields = JsonMapper.ToObject<Dictionary<string, object>>(outerLayer["Message"]);
Dictionary<string, string> outerLayer = JsonSerializer.Deserialize<Dictionary<string, string>>(json);
Dictionary<string, object> fields = JsonSerializer.Deserialize<Dictionary<string, object>>(outerLayer["Message"]);

string jobId = fields["JobId"] as string;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,29 +14,13 @@
*/
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Net;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

using Amazon.Glacier.Model;
using Amazon.Glacier.Transfer.Internal;

using Amazon.Runtime.Internal;

using Amazon.SimpleNotificationService;
using Amazon.SimpleNotificationService.Model;

using Amazon.SQS;
using Amazon.SQS.Model;
using Amazon.SQS.Util;

using Amazon.Util;

using ThirdParty.Json.LitJson;
using System.Threading.Tasks;

namespace Amazon.Glacier.Transfer.Internal
{
internal partial class DownloadFileCommand : IDisposable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,28 +14,13 @@
*/
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Net;
using System.Text;
using System.Threading;

using Amazon.Glacier.Model;
using Amazon.Glacier.Transfer.Internal;

using Amazon.Runtime.Internal;

using Amazon.SimpleNotificationService;
using Amazon.SimpleNotificationService.Model;

using Amazon.SQS;
using Amazon.SQS.Model;
using Amazon.SQS.Util;

using Amazon.Util;

using ThirdParty.Json.LitJson;

namespace Amazon.Glacier.Transfer.Internal
{
internal partial class DownloadFileCommand : IDisposable
Expand Down
Loading

0 comments on commit dce5b75

Please sign in to comment.