From 4003ca254b0d8c013755b50a1a8b7b200acc197a Mon Sep 17 00:00:00 2001 From: bluextx Date: Sat, 11 Jan 2025 11:02:43 +0300 Subject: [PATCH] Refactored YAML serialization to use static Serializer/Deserializer instances --- .../LootDumpProcessorContext.cs | 4 ++-- .../Model/Config/LoggerConfig.cs | 16 ---------------- .../LootDumpProcessor/Serializers/ISerializer.cs | 7 ------- .../Serializers/Yaml/IYamlSerializer.cs | 5 ----- .../LootDumpProcessor/Serializers/Yaml/Yaml.cs | 10 ++++++++++ .../Serializers/Yaml/YamlDotNetYamlSerializer.cs | 13 ------------- .../Serializers/Yaml/YamlSerializerFactory.cs | 13 ------------- .../Serializers/IDataStorageFileSerializer.cs | 9 --------- .../Serializers/YamlDataStorageFileSerializer.cs | 11 ----------- 9 files changed, 12 insertions(+), 76 deletions(-) delete mode 100644 source/LootDumpProcessor/Model/Config/LoggerConfig.cs delete mode 100644 source/LootDumpProcessor/Serializers/ISerializer.cs delete mode 100644 source/LootDumpProcessor/Serializers/Yaml/IYamlSerializer.cs create mode 100644 source/LootDumpProcessor/Serializers/Yaml/Yaml.cs delete mode 100644 source/LootDumpProcessor/Serializers/Yaml/YamlDotNetYamlSerializer.cs delete mode 100644 source/LootDumpProcessor/Serializers/Yaml/YamlSerializerFactory.cs delete mode 100644 source/LootDumpProcessor/Storage/Implementations/File/Serializers/IDataStorageFileSerializer.cs delete mode 100644 source/LootDumpProcessor/Storage/Implementations/File/Serializers/YamlDataStorageFileSerializer.cs diff --git a/source/LootDumpProcessor/LootDumpProcessorContext.cs b/source/LootDumpProcessor/LootDumpProcessorContext.cs index 63673c9..9c50f90 100644 --- a/source/LootDumpProcessor/LootDumpProcessorContext.cs +++ b/source/LootDumpProcessor/LootDumpProcessorContext.cs @@ -39,7 +39,7 @@ public static class LootDumpProcessorContext lock (_forcedStaticLock) { if (_forcedStatic == null) - _forcedStatic = YamlSerializerFactory.GetInstance() + _forcedStatic = Yaml.Deserializer .Deserialize(File.ReadAllText("./Config/forced_static.yaml")); } @@ -71,7 +71,7 @@ public static class LootDumpProcessorContext lock (_forcedLooseLock) { if (_forcedLoose == null) - _forcedLoose = YamlSerializerFactory.GetInstance().Deserialize>>( + _forcedLoose = Yaml.Deserializer.Deserialize>>( File.ReadAllText("./Config/forced_loose.yaml")); } diff --git a/source/LootDumpProcessor/Model/Config/LoggerConfig.cs b/source/LootDumpProcessor/Model/Config/LoggerConfig.cs deleted file mode 100644 index 2344399..0000000 --- a/source/LootDumpProcessor/Model/Config/LoggerConfig.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System.Text.Json.Serialization; -using Microsoft.Extensions.Logging; -using Newtonsoft.Json; - -namespace LootDumpProcessor.Model.Config; - -public class LoggerConfig -{ - [JsonProperty("logLevel")] - [JsonPropertyName("logLevel")] - public LogLevel LogLevel { get; set; } - - [JsonProperty("queueLoggerPoolingTimeoutMs")] - [JsonPropertyName("queueLoggerPoolingTimeoutMs")] - public int QueueLoggerPoolingTimeoutMs { get; set; } = 1000; -} \ No newline at end of file diff --git a/source/LootDumpProcessor/Serializers/ISerializer.cs b/source/LootDumpProcessor/Serializers/ISerializer.cs deleted file mode 100644 index 54af955..0000000 --- a/source/LootDumpProcessor/Serializers/ISerializer.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace LootDumpProcessor.Serializers; - -public interface ISerializer -{ - string Serialize(T obj); - T? Deserialize(string obj); -} \ No newline at end of file diff --git a/source/LootDumpProcessor/Serializers/Yaml/IYamlSerializer.cs b/source/LootDumpProcessor/Serializers/Yaml/IYamlSerializer.cs deleted file mode 100644 index d754b7c..0000000 --- a/source/LootDumpProcessor/Serializers/Yaml/IYamlSerializer.cs +++ /dev/null @@ -1,5 +0,0 @@ -namespace LootDumpProcessor.Serializers.Yaml; - -public interface IYamlSerializer : ISerializer -{ -} \ No newline at end of file diff --git a/source/LootDumpProcessor/Serializers/Yaml/Yaml.cs b/source/LootDumpProcessor/Serializers/Yaml/Yaml.cs new file mode 100644 index 0000000..98a41ea --- /dev/null +++ b/source/LootDumpProcessor/Serializers/Yaml/Yaml.cs @@ -0,0 +1,10 @@ +using YamlDotNet.Serialization; + +namespace LootDumpProcessor.Serializers.Yaml; + +public static class Yaml +{ + public static readonly ISerializer Serializer = new SerializerBuilder().Build(); + + public static readonly IDeserializer Deserializer = new DeserializerBuilder().Build(); +} \ No newline at end of file diff --git a/source/LootDumpProcessor/Serializers/Yaml/YamlDotNetYamlSerializer.cs b/source/LootDumpProcessor/Serializers/Yaml/YamlDotNetYamlSerializer.cs deleted file mode 100644 index 087ef24..0000000 --- a/source/LootDumpProcessor/Serializers/Yaml/YamlDotNetYamlSerializer.cs +++ /dev/null @@ -1,13 +0,0 @@ -using YamlDotNet.Serialization; - -namespace LootDumpProcessor.Serializers.Yaml; - -public class YamlDotNetYamlSerializer : IYamlSerializer -{ - private static readonly IDeserializer yamlDeserializer = new DeserializerBuilder().Build(); - private static readonly YamlDotNet.Serialization.ISerializer yamlSerializer = new SerializerBuilder().Build(); - - public string Serialize(T obj) => yamlSerializer.Serialize(obj); - - public T Deserialize(string obj) => yamlDeserializer.Deserialize(obj); -} \ No newline at end of file diff --git a/source/LootDumpProcessor/Serializers/Yaml/YamlSerializerFactory.cs b/source/LootDumpProcessor/Serializers/Yaml/YamlSerializerFactory.cs deleted file mode 100644 index 7ae8ef0..0000000 --- a/source/LootDumpProcessor/Serializers/Yaml/YamlSerializerFactory.cs +++ /dev/null @@ -1,13 +0,0 @@ -namespace LootDumpProcessor.Serializers.Yaml; - -public static class YamlSerializerFactory -{ - private static IYamlSerializer? _instance; - - public static IYamlSerializer GetInstance() - { - if (_instance == null) _instance = new YamlDotNetYamlSerializer(); - - return _instance; - } -} \ No newline at end of file diff --git a/source/LootDumpProcessor/Storage/Implementations/File/Serializers/IDataStorageFileSerializer.cs b/source/LootDumpProcessor/Storage/Implementations/File/Serializers/IDataStorageFileSerializer.cs deleted file mode 100644 index cbf2ac7..0000000 --- a/source/LootDumpProcessor/Storage/Implementations/File/Serializers/IDataStorageFileSerializer.cs +++ /dev/null @@ -1,9 +0,0 @@ -using LootDumpProcessor.Serializers; - -namespace LootDumpProcessor.Storage.Implementations.File.Serializers; - -public interface IDataStorageFileSerializer -{ - string GetExtension(); - ISerializer GetSerializer(); -} \ No newline at end of file diff --git a/source/LootDumpProcessor/Storage/Implementations/File/Serializers/YamlDataStorageFileSerializer.cs b/source/LootDumpProcessor/Storage/Implementations/File/Serializers/YamlDataStorageFileSerializer.cs deleted file mode 100644 index 6fd6f97..0000000 --- a/source/LootDumpProcessor/Storage/Implementations/File/Serializers/YamlDataStorageFileSerializer.cs +++ /dev/null @@ -1,11 +0,0 @@ -using LootDumpProcessor.Serializers; -using LootDumpProcessor.Serializers.Yaml; - -namespace LootDumpProcessor.Storage.Implementations.File.Serializers; - -public class YamlDataStorageFileSerializer : IDataStorageFileSerializer -{ - public string GetExtension() => ".yaml"; - - public ISerializer GetSerializer() => YamlSerializerFactory.GetInstance(); -} \ No newline at end of file