From 66238da304ce9dcd3168e117f1ffbdc3afce049b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 26 Aug 2022 14:22:43 +0300 Subject: [PATCH] Merge IDistributedLocalizationStore into IExternalLocalizationStore --- .../AbpApplicationConfigurationAppService.cs | 11 ++++---- .../Abp/Localization/AbpLocalizationModule.cs | 7 +++--- .../DistributedLocalizationData.cs | 18 ------------- .../IDistributedLocalizationStore.cs | 12 --------- .../NullDistributedLocalizationStore.cs | 25 ------------------- .../AbpExternalLocalizationOptions.cs} | 6 ++--- .../External/ExternalLocalizationData.cs | 18 +++++++++++++ .../ExternalLocalizationResourceData.cs} | 6 ++--- .../External/IExternalLocalizationStore.cs | 8 ++++++ .../External/NullExternalLocalizationStore.cs | 20 +++++++++++++++ 10 files changed, 62 insertions(+), 69 deletions(-) delete mode 100644 framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Distributed/DistributedLocalizationData.cs delete mode 100644 framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Distributed/IDistributedLocalizationStore.cs delete mode 100644 framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Distributed/NullDistributedLocalizationStore.cs rename framework/src/Volo.Abp.Localization/Volo/Abp/Localization/{Distributed/AbpDistributedLocalizationOptions.cs => External/AbpExternalLocalizationOptions.cs} (51%) create mode 100644 framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/ExternalLocalizationData.cs rename framework/src/Volo.Abp.Localization/Volo/Abp/Localization/{Distributed/DistributedLocalizationResourceData.cs => External/ExternalLocalizationResourceData.cs} (67%) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/AbpApplicationConfigurationAppService.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/AbpApplicationConfigurationAppService.cs index 97ae0c868d..bf797e3c7a 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/AbpApplicationConfigurationAppService.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/AbpApplicationConfigurationAppService.cs @@ -18,6 +18,7 @@ using Volo.Abp.Features; using Volo.Abp.GlobalFeatures; using Volo.Abp.Localization; using Volo.Abp.Localization.Distributed; +using Volo.Abp.Localization.External; using Volo.Abp.MultiTenancy; using Volo.Abp.Settings; using Volo.Abp.Timing; @@ -43,7 +44,7 @@ public class AbpApplicationConfigurationAppService : ApplicationService, IAbpApp private readonly ITimezoneProvider _timezoneProvider; private readonly AbpClockOptions _abpClockOptions; private readonly ICachedObjectExtensionsDtoService _cachedObjectExtensionsDtoService; - private readonly AbpDistributedLocalizationOptions _distributedLocalizationOptions; + private readonly AbpExternalLocalizationOptions _externalLocalizationOptions; private readonly AbpApplicationConfigurationOptions _options; public AbpApplicationConfigurationAppService( @@ -64,7 +65,7 @@ public class AbpApplicationConfigurationAppService : ApplicationService, IAbpApp IOptions abpClockOptions, ICachedObjectExtensionsDtoService cachedObjectExtensionsDtoService, IOptions options, - IOptions distributedLocalizationOptions) + IOptions distributedLocalizationOptions) { _serviceProvider = serviceProvider; _abpAuthorizationPolicyProvider = abpAuthorizationPolicyProvider; @@ -80,7 +81,7 @@ public class AbpApplicationConfigurationAppService : ApplicationService, IAbpApp _timezoneProvider = timezoneProvider; _abpClockOptions = abpClockOptions.Value; _cachedObjectExtensionsDtoService = cachedObjectExtensionsDtoService; - _distributedLocalizationOptions = distributedLocalizationOptions.Value; + _externalLocalizationOptions = distributedLocalizationOptions.Value; _options = options.Value; _localizationOptions = localizationOptions.Value; _multiTenancyOptions = multiTenancyOptions.Value; @@ -230,11 +231,11 @@ public class AbpApplicationConfigurationAppService : ApplicationService, IAbpApp localizationConfig.Values[resource.ResourceName] = dictionary; } - if (_distributedLocalizationOptions.GetFromDistributedStore) + if (_externalLocalizationOptions.GetFromExternalStore) { var distributedLocalizationData = await this .LazyServiceProvider - .LazyGetRequiredService() + .LazyGetRequiredService() .GetAsync(); foreach (var resource in distributedLocalizationData.Resources) diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpLocalizationModule.cs b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpLocalizationModule.cs index 6508976d85..90bec99212 100644 --- a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpLocalizationModule.cs +++ b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/AbpLocalizationModule.cs @@ -8,6 +8,7 @@ using Microsoft.Extensions.Options; using Polly; using Volo.Abp.DependencyInjection; using Volo.Abp.Localization.Distributed; +using Volo.Abp.Localization.External; using Volo.Abp.Localization.Resources.AbpLocalization; using Volo.Abp.Modularity; using Volo.Abp.Settings; @@ -63,10 +64,10 @@ public class AbpLocalizationModule : AbpModule { var options = context .ServiceProvider - .GetRequiredService>() + .GetRequiredService>() .Value; - if (!options.SaveToDistributedStore) + if (!options.SaveToExternalStore) { return; } @@ -99,7 +100,7 @@ public class AbpLocalizationModule : AbpModule // ReSharper disable once AccessToDisposedClosure await scope .ServiceProvider - .GetRequiredService() + .GetRequiredService() .SaveAsync(); } catch (Exception ex) diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Distributed/DistributedLocalizationData.cs b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Distributed/DistributedLocalizationData.cs deleted file mode 100644 index b8374f7119..0000000000 --- a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Distributed/DistributedLocalizationData.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.Collections.Generic; - -namespace Volo.Abp.Localization.Distributed; - -public class DistributedLocalizationData -{ - public List Resources { get; } - - public DistributedLocalizationData() - { - Resources = new(); - } - - public DistributedLocalizationData(List resources) - { - Resources = Check.NotNull(resources, nameof(resources)); - } -} \ No newline at end of file diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Distributed/IDistributedLocalizationStore.cs b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Distributed/IDistributedLocalizationStore.cs deleted file mode 100644 index 52f2b52cdb..0000000000 --- a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Distributed/IDistributedLocalizationStore.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System.Threading.Tasks; - -namespace Volo.Abp.Localization.Distributed; - -public interface IDistributedLocalizationStore -{ - Task SaveAsync(); - - Task GetAsync(); - - Task GetResourceNames(); -} \ No newline at end of file diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Distributed/NullDistributedLocalizationStore.cs b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Distributed/NullDistributedLocalizationStore.cs deleted file mode 100644 index 579b434a33..0000000000 --- a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Distributed/NullDistributedLocalizationStore.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -using System.Threading.Tasks; -using Volo.Abp.DependencyInjection; - -namespace Volo.Abp.Localization.Distributed; - -public class NullDistributedLocalizationStore : IDistributedLocalizationStore, ISingletonDependency -{ - private readonly DistributedLocalizationData _data = new(); - - public Task SaveAsync() - { - return Task.CompletedTask; - } - - public Task GetAsync() - { - return Task.FromResult(_data); - } - - public Task GetResourceNames() - { - return Task.FromResult(Array.Empty()); - } -} \ No newline at end of file diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Distributed/AbpDistributedLocalizationOptions.cs b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/AbpExternalLocalizationOptions.cs similarity index 51% rename from framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Distributed/AbpDistributedLocalizationOptions.cs rename to framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/AbpExternalLocalizationOptions.cs index 802bc15a06..2058e8b693 100644 --- a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Distributed/AbpDistributedLocalizationOptions.cs +++ b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/AbpExternalLocalizationOptions.cs @@ -1,14 +1,14 @@ namespace Volo.Abp.Localization.Distributed; -public class AbpDistributedLocalizationOptions +public class AbpExternalLocalizationOptions { /// /// Default: true. /// - public bool SaveToDistributedStore { get; set; } = true; + public bool SaveToExternalStore { get; set; } = true; /// /// Default: false. /// - public bool GetFromDistributedStore { get; set; } + public bool GetFromExternalStore { get; set; } } \ No newline at end of file diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/ExternalLocalizationData.cs b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/ExternalLocalizationData.cs new file mode 100644 index 0000000000..3a894bbfca --- /dev/null +++ b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/ExternalLocalizationData.cs @@ -0,0 +1,18 @@ +using System.Collections.Generic; + +namespace Volo.Abp.Localization.Distributed; + +public class ExternalLocalizationData +{ + public List Resources { get; } + + public ExternalLocalizationData() + { + Resources = new(); + } + + public ExternalLocalizationData(List resources) + { + Resources = Check.NotNull(resources, nameof(resources)); + } +} \ No newline at end of file diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Distributed/DistributedLocalizationResourceData.cs b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/ExternalLocalizationResourceData.cs similarity index 67% rename from framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Distributed/DistributedLocalizationResourceData.cs rename to framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/ExternalLocalizationResourceData.cs index bbb449a380..48eefe05af 100644 --- a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Distributed/DistributedLocalizationResourceData.cs +++ b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/ExternalLocalizationResourceData.cs @@ -2,19 +2,19 @@ using System.Collections.Generic; namespace Volo.Abp.Localization.Distributed; -public class DistributedLocalizationResourceData +public class ExternalLocalizationResourceData { public string ResourceName { get; } public Dictionary Texts { get; } - public DistributedLocalizationResourceData(string resourceName) + public ExternalLocalizationResourceData(string resourceName) { ResourceName = Check.NotNullOrWhiteSpace(resourceName, nameof(resourceName)); Texts = new(); } - public DistributedLocalizationResourceData(string resourceName, Dictionary texts) + public ExternalLocalizationResourceData(string resourceName, Dictionary texts) { ResourceName = Check.NotNullOrWhiteSpace(resourceName, nameof(resourceName)); Texts = Check.NotNull(texts, nameof(texts)); diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/IExternalLocalizationStore.cs b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/IExternalLocalizationStore.cs index ecce4a86e0..3f3fcdd9ca 100644 --- a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/IExternalLocalizationStore.cs +++ b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/IExternalLocalizationStore.cs @@ -1,9 +1,17 @@ +using System.Threading.Tasks; using JetBrains.Annotations; +using Volo.Abp.Localization.Distributed; namespace Volo.Abp.Localization.External; public interface IExternalLocalizationStore { + Task SaveAsync(); + [CanBeNull] LocalizationResourceBase GetResourceOrNull([NotNull] string resourceName); + + Task GetAsync(); + + Task GetResourceNames(); } \ No newline at end of file diff --git a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/NullExternalLocalizationStore.cs b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/NullExternalLocalizationStore.cs index 3a2b63a617..4f1f8edd0d 100644 --- a/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/NullExternalLocalizationStore.cs +++ b/framework/src/Volo.Abp.Localization/Volo/Abp/Localization/External/NullExternalLocalizationStore.cs @@ -1,11 +1,31 @@ +using System; +using System.Threading.Tasks; using Volo.Abp.DependencyInjection; +using Volo.Abp.Localization.Distributed; namespace Volo.Abp.Localization.External; public class NullExternalLocalizationStore : IExternalLocalizationStore, ISingletonDependency { + private readonly ExternalLocalizationData _data = new(); + + public Task SaveAsync() + { + return Task.CompletedTask; + } + public LocalizationResourceBase GetResourceOrNull(string resourceName) { return null; } + + public Task GetAsync() + { + return Task.FromResult(_data); + } + + public Task GetResourceNames() + { + return Task.FromResult(Array.Empty()); + } } \ No newline at end of file