Browse Source

Enable nullable annotations for Volo.Abp.Settings

pull/17020/head
liangshiwei 3 years ago
parent
commit
56f6f2454a
  1. 2
      framework/src/Volo.Abp.Settings/Volo.Abp.Settings.csproj
  2. 2
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ConfigurationSettingValueProvider.cs
  3. 2
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/DefaultValueSettingValueProvider.cs
  4. 2
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/GlobalSettingValueProvider.cs
  5. 2
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingDefinitionContext.cs
  6. 2
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingDefinitionManager.cs
  7. 6
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingEncryptionService.cs
  8. 2
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingProvider.cs
  9. 10
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingStore.cs
  10. 2
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingValueProvider.cs
  11. 6
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/NullSettingStore.cs
  12. 14
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingDefinition.cs
  13. 2
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingDefinitionContext.cs
  14. 4
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingDefinitionManager.cs
  15. 4
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingEncryptionService.cs
  16. 4
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingProvider.cs
  17. 4
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingValue.cs
  18. 2
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingValueProvider.cs
  19. 2
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingValueProviderManager.cs
  20. 2
      framework/src/Volo.Abp.Settings/Volo/Abp/Settings/UserSettingValueProvider.cs

2
framework/src/Volo.Abp.Settings/Volo.Abp.Settings.csproj

@ -5,6 +5,8 @@
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netstandard2.0;netstandard2.1;net7.0</TargetFrameworks> <TargetFrameworks>netstandard2.0;netstandard2.1;net7.0</TargetFrameworks>
<Nullable>enable</Nullable>
<WarningsAsErrors>Nullable</WarningsAsErrors>
<AssemblyName>Volo.Abp.Settings</AssemblyName> <AssemblyName>Volo.Abp.Settings</AssemblyName>
<PackageId>Volo.Abp.Settings</PackageId> <PackageId>Volo.Abp.Settings</PackageId>
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback> <AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>

2
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ConfigurationSettingValueProvider.cs

@ -21,7 +21,7 @@ public class ConfigurationSettingValueProvider : ISettingValueProvider, ITransie
Configuration = configuration; Configuration = configuration;
} }
public virtual Task<string> GetOrNullAsync(SettingDefinition setting) public virtual Task<string?> GetOrNullAsync(SettingDefinition setting)
{ {
return Task.FromResult(Configuration[ConfigurationNamePrefix + setting.Name]); return Task.FromResult(Configuration[ConfigurationNamePrefix + setting.Name]);
} }

2
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/DefaultValueSettingValueProvider.cs

@ -16,7 +16,7 @@ public class DefaultValueSettingValueProvider : SettingValueProvider
} }
public override Task<string> GetOrNullAsync(SettingDefinition setting) public override Task<string?> GetOrNullAsync(SettingDefinition setting)
{ {
return Task.FromResult(setting.DefaultValue); return Task.FromResult(setting.DefaultValue);
} }

2
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/GlobalSettingValueProvider.cs

@ -15,7 +15,7 @@ public class GlobalSettingValueProvider : SettingValueProvider
{ {
} }
public override Task<string> GetOrNullAsync(SettingDefinition setting) public override Task<string?> GetOrNullAsync(SettingDefinition setting)
{ {
return SettingStore.GetOrNullAsync(setting.Name, Name, null); return SettingStore.GetOrNullAsync(setting.Name, Name, null);
} }

2
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingDefinitionContext.cs

@ -4,7 +4,7 @@ namespace Volo.Abp.Settings;
public interface ISettingDefinitionContext public interface ISettingDefinitionContext
{ {
SettingDefinition GetOrNull(string name); SettingDefinition? GetOrNull(string name);
IReadOnlyList<SettingDefinition> GetAll(); IReadOnlyList<SettingDefinition> GetAll();

2
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingDefinitionManager.cs

@ -10,5 +10,5 @@ public interface ISettingDefinitionManager
IReadOnlyList<SettingDefinition> GetAll(); IReadOnlyList<SettingDefinition> GetAll();
SettingDefinition GetOrNull(string name); SettingDefinition? GetOrNull(string name);
} }

6
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingEncryptionService.cs

@ -4,9 +4,7 @@ namespace Volo.Abp.Settings;
public interface ISettingEncryptionService public interface ISettingEncryptionService
{ {
[CanBeNull] string? Encrypt([NotNull] SettingDefinition settingDefinition, string? plainValue);
string Encrypt([NotNull] SettingDefinition settingDefinition, [CanBeNull] string plainValue);
[CanBeNull] string? Decrypt([NotNull] SettingDefinition settingDefinition, string? encryptedValue);
string Decrypt([NotNull] SettingDefinition settingDefinition, [CanBeNull] string encryptedValue);
} }

2
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingProvider.cs

@ -6,7 +6,7 @@ namespace Volo.Abp.Settings;
public interface ISettingProvider public interface ISettingProvider
{ {
Task<string> GetOrNullAsync([NotNull] string name); Task<string?> GetOrNullAsync([NotNull] string name);
Task<List<SettingValue>> GetAllAsync([NotNull] string[] names); Task<List<SettingValue>> GetAllAsync([NotNull] string[] names);

10
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingStore.cs

@ -6,15 +6,15 @@ namespace Volo.Abp.Settings;
public interface ISettingStore public interface ISettingStore
{ {
Task<string> GetOrNullAsync( Task<string?> GetOrNullAsync(
[NotNull] string name, [NotNull] string name,
[CanBeNull] string providerName, string? providerName,
[CanBeNull] string providerKey string? providerKey
); );
Task<List<SettingValue>> GetAllAsync( Task<List<SettingValue>> GetAllAsync(
[NotNull] string[] names, [NotNull] string[] names,
[CanBeNull] string providerName, string? providerName,
[CanBeNull] string providerKey string? providerKey
); );
} }

2
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingValueProvider.cs

@ -8,7 +8,7 @@ public interface ISettingValueProvider
{ {
string Name { get; } string Name { get; }
Task<string> GetOrNullAsync([NotNull] SettingDefinition setting); Task<string?> GetOrNullAsync([NotNull] SettingDefinition setting);
Task<List<SettingValue>> GetAllAsync([NotNull] SettingDefinition[] settings); Task<List<SettingValue>> GetAllAsync([NotNull] SettingDefinition[] settings);
} }

6
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/NullSettingStore.cs

@ -17,12 +17,12 @@ public class NullSettingStore : ISettingStore, ISingletonDependency
Logger = NullLogger<NullSettingStore>.Instance; Logger = NullLogger<NullSettingStore>.Instance;
} }
public Task<string> GetOrNullAsync(string name, string providerName, string providerKey) public Task<string?> GetOrNullAsync(string name, string? providerName, string? providerKey)
{ {
return Task.FromResult((string)null); return Task.FromResult((string?)null);
} }
public Task<List<SettingValue>> GetAllAsync(string[] names, string providerName, string providerKey) public Task<List<SettingValue>> GetAllAsync(string[] names, string? providerName, string? providerKey)
{ {
return Task.FromResult(names.Select(x => new SettingValue(x, null)).ToList()); return Task.FromResult(names.Select(x => new SettingValue(x, null)).ToList());
} }

14
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingDefinition.cs

@ -17,16 +17,14 @@ public class SettingDefinition
get => _displayName; get => _displayName;
set => _displayName = Check.NotNull(value, nameof(value)); set => _displayName = Check.NotNull(value, nameof(value));
} }
private ILocalizableString _displayName; private ILocalizableString _displayName = default!;
[CanBeNull] public ILocalizableString? Description { get; set; }
public ILocalizableString Description { get; set; }
/// <summary> /// <summary>
/// Default value of the setting. /// Default value of the setting.
/// </summary> /// </summary>
[CanBeNull] public string? DefaultValue { get; set; }
public string DefaultValue { get; set; }
/// <summary> /// <summary>
/// Can clients see this setting and it's value. /// Can clients see this setting and it's value.
@ -61,9 +59,9 @@ public class SettingDefinition
public SettingDefinition( public SettingDefinition(
string name, string name,
string defaultValue = null, string? defaultValue = null,
ILocalizableString displayName = null, ILocalizableString? displayName = null,
ILocalizableString description = null, ILocalizableString? description = null,
bool isVisibleToClients = false, bool isVisibleToClients = false,
bool isInherited = true, bool isInherited = true,
bool isEncrypted = false) bool isEncrypted = false)

2
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingDefinitionContext.cs

@ -12,7 +12,7 @@ public class SettingDefinitionContext : ISettingDefinitionContext
Settings = settings; Settings = settings;
} }
public virtual SettingDefinition GetOrNull(string name) public virtual SettingDefinition? GetOrNull(string name)
{ {
return Settings.GetOrDefault(name); return Settings.GetOrDefault(name);
} }

4
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingDefinitionManager.cs

@ -45,7 +45,7 @@ public class SettingDefinitionManager : ISettingDefinitionManager, ISingletonDep
return SettingDefinitions.Value.Values.ToImmutableList(); return SettingDefinitions.Value.Values.ToImmutableList();
} }
public virtual SettingDefinition GetOrNull(string name) public virtual SettingDefinition? GetOrNull(string name)
{ {
return SettingDefinitions.Value.GetOrDefault(name); return SettingDefinitions.Value.GetOrDefault(name);
} }
@ -63,7 +63,7 @@ public class SettingDefinitionManager : ISettingDefinitionManager, ISingletonDep
foreach (var provider in providers) foreach (var provider in providers)
{ {
provider.Define(new SettingDefinitionContext(settings)); provider!.Define(new SettingDefinitionContext(settings));
} }
} }

4
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingEncryptionService.cs

@ -17,7 +17,7 @@ public class SettingEncryptionService : ISettingEncryptionService, ITransientDep
Logger = NullLogger<SettingEncryptionService>.Instance; Logger = NullLogger<SettingEncryptionService>.Instance;
} }
public virtual string Encrypt(SettingDefinition settingDefinition, string plainValue) public virtual string? Encrypt(SettingDefinition settingDefinition, string? plainValue)
{ {
if (plainValue.IsNullOrEmpty()) if (plainValue.IsNullOrEmpty())
{ {
@ -27,7 +27,7 @@ public class SettingEncryptionService : ISettingEncryptionService, ITransientDep
return StringEncryptionService.Encrypt(plainValue); return StringEncryptionService.Encrypt(plainValue);
} }
public virtual string Decrypt(SettingDefinition settingDefinition, string encryptedValue) public virtual string? Decrypt(SettingDefinition settingDefinition, string? encryptedValue)
{ {
if (encryptedValue.IsNullOrEmpty()) if (encryptedValue.IsNullOrEmpty())
{ {

4
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingProvider.cs

@ -21,7 +21,7 @@ public class SettingProvider : ISettingProvider, ITransientDependency
SettingValueProviderManager = settingValueProviderManager; SettingValueProviderManager = settingValueProviderManager;
} }
public virtual async Task<string> GetOrNullAsync(string name) public virtual async Task<string?> GetOrNullAsync(string name)
{ {
var setting = SettingDefinitionManager.Get(name); var setting = SettingDefinitionManager.Get(name);
var providers = Enumerable var providers = Enumerable
@ -95,7 +95,7 @@ public class SettingProvider : ISettingProvider, ITransientDependency
return settingValues; return settingValues;
} }
protected virtual async Task<string> GetOrNullValueFromProvidersAsync( protected virtual async Task<string?> GetOrNullValueFromProvidersAsync(
IEnumerable<ISettingValueProvider> providers, IEnumerable<ISettingValueProvider> providers,
SettingDefinition setting) SettingDefinition setting)
{ {

4
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingValue.cs

@ -3,14 +3,14 @@
namespace Volo.Abp.Settings; namespace Volo.Abp.Settings;
[Serializable] [Serializable]
public class SettingValue : NameValue public class SettingValue : NameValue<string?>
{ {
public SettingValue() public SettingValue()
{ {
} }
public SettingValue(string name, string value) public SettingValue(string name, string? value)
{ {
Name = name; Name = name;
Value = value; Value = value;

2
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingValueProvider.cs

@ -15,7 +15,7 @@ public abstract class SettingValueProvider : ISettingValueProvider, ITransientDe
SettingStore = settingStore; SettingStore = settingStore;
} }
public abstract Task<string> GetOrNullAsync(SettingDefinition setting); public abstract Task<string?> GetOrNullAsync(SettingDefinition setting);
public abstract Task<List<SettingValue>> GetAllAsync(SettingDefinition[] settings); public abstract Task<List<SettingValue>> GetAllAsync(SettingDefinition[] settings);
} }

2
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/SettingValueProviderManager.cs

@ -24,7 +24,7 @@ public class SettingValueProviderManager : ISettingValueProviderManager, ISingle
() => Options () => Options
.ValueProviders .ValueProviders
.Select(type => serviceProvider.GetRequiredService(type) as ISettingValueProvider) .Select(type => serviceProvider.GetRequiredService(type) as ISettingValueProvider)
.ToList(), .ToList()!,
true true
); );
} }

2
framework/src/Volo.Abp.Settings/Volo/Abp/Settings/UserSettingValueProvider.cs

@ -19,7 +19,7 @@ public class UserSettingValueProvider : SettingValueProvider
CurrentUser = currentUser; CurrentUser = currentUser;
} }
public override async Task<string> GetOrNullAsync(SettingDefinition setting) public override async Task<string?> GetOrNullAsync(SettingDefinition setting)
{ {
if (CurrentUser.Id == null) if (CurrentUser.Id == null)
{ {

Loading…
Cancel
Save