Browse Source

Enable nullable annotations for Volo.Abp.BlobStoring

pull/17120/head
liangshiwei 3 years ago
parent
commit
7ffbb7a014
  1. 2
      framework/src/Volo.Abp.BlobStoring/Volo.Abp.BlobStoring.csproj
  2. 20
      framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainer.cs
  3. 20
      framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainerConfiguration.cs
  4. 2
      framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainerExtensions.cs
  5. 2
      framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainerNameAttribute.cs
  6. 6
      framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobNormalizeNaming.cs
  7. 12
      framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobNormalizeNamingService.cs
  8. 2
      framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobProviderBase.cs
  9. 2
      framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/IBlobContainer.cs

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

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

20
framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainer.cs

@ -61,7 +61,7 @@ public class BlobContainer<TContainer> : IBlobContainer<TContainer>
);
}
public Task<Stream> GetOrNullAsync(
public Task<Stream?> GetOrNullAsync(
string name,
CancellationToken cancellationToken = default)
{
@ -118,9 +118,9 @@ public class BlobContainer : IBlobContainer
await Provider.SaveAsync(
new BlobProviderSaveArgs(
blobNormalizeNaming.ContainerName,
blobNormalizeNaming.ContainerName!,
Configuration,
blobNormalizeNaming.BlobName,
blobNormalizeNaming.BlobName!,
stream,
overrideExisting,
CancellationTokenProvider.FallbackToProvider(cancellationToken)
@ -140,9 +140,9 @@ public class BlobContainer : IBlobContainer
return await Provider.DeleteAsync(
new BlobProviderDeleteArgs(
blobNormalizeNaming.ContainerName,
blobNormalizeNaming.ContainerName!,
Configuration,
blobNormalizeNaming.BlobName,
blobNormalizeNaming.BlobName!,
CancellationTokenProvider.FallbackToProvider(cancellationToken)
)
);
@ -160,9 +160,9 @@ public class BlobContainer : IBlobContainer
return await Provider.ExistsAsync(
new BlobProviderExistsArgs(
blobNormalizeNaming.ContainerName,
blobNormalizeNaming.ContainerName!,
Configuration,
blobNormalizeNaming.BlobName,
blobNormalizeNaming.BlobName!,
CancellationTokenProvider.FallbackToProvider(cancellationToken)
)
);
@ -185,7 +185,7 @@ public class BlobContainer : IBlobContainer
return stream;
}
public virtual async Task<Stream> GetOrNullAsync(
public virtual async Task<Stream?> GetOrNullAsync(
string name,
CancellationToken cancellationToken = default)
{
@ -196,9 +196,9 @@ public class BlobContainer : IBlobContainer
return await Provider.GetOrNullAsync(
new BlobProviderGetArgs(
blobNormalizeNaming.ContainerName,
blobNormalizeNaming.ContainerName!,
Configuration,
blobNormalizeNaming.BlobName,
blobNormalizeNaming.BlobName!,
CancellationTokenProvider.FallbackToProvider(cancellationToken)
)
);

20
framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainerConfiguration.cs

@ -10,7 +10,7 @@ public class BlobContainerConfiguration
/// <summary>
/// The provider to be used to store BLOBs of this container.
/// </summary>
public Type ProviderType { get; set; }
public Type? ProviderType { get; set; }
/// <summary>
/// Indicates whether this container is multi-tenant or not.
@ -26,25 +26,23 @@ public class BlobContainerConfiguration
public ITypeList<IBlobNamingNormalizer> NamingNormalizers { get; }
[NotNull] private readonly Dictionary<string, object> _properties;
[NotNull] private readonly Dictionary<string, object?> _properties;
[CanBeNull] private readonly BlobContainerConfiguration _fallbackConfiguration;
private readonly BlobContainerConfiguration? _fallbackConfiguration;
public BlobContainerConfiguration(BlobContainerConfiguration fallbackConfiguration = null)
public BlobContainerConfiguration(BlobContainerConfiguration? fallbackConfiguration = null)
{
NamingNormalizers = new TypeList<IBlobNamingNormalizer>();
_fallbackConfiguration = fallbackConfiguration;
_properties = new Dictionary<string, object>();
_properties = new Dictionary<string, object?>();
}
[CanBeNull]
public T GetConfigurationOrDefault<T>(string name, T defaultValue = default)
public T? GetConfigurationOrDefault<T>(string name, T? defaultValue = default)
{
return (T)GetConfigurationOrNull(name, defaultValue);
return (T?)GetConfigurationOrNull(name, defaultValue);
}
[CanBeNull]
public object GetConfigurationOrNull(string name, object defaultValue = null)
public object? GetConfigurationOrNull(string name, object? defaultValue = null)
{
return _properties.GetOrDefault(name) ??
_fallbackConfiguration?.GetConfigurationOrNull(name, defaultValue) ??
@ -52,7 +50,7 @@ public class BlobContainerConfiguration
}
[NotNull]
public BlobContainerConfiguration SetConfiguration([NotNull] string name, [CanBeNull] object value)
public BlobContainerConfiguration SetConfiguration([NotNull] string name, object? value)
{
Check.NotNullOrWhiteSpace(name, nameof(name));
Check.NotNull(value, nameof(value));

2
framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainerExtensions.cs

@ -37,7 +37,7 @@ public static class BlobContainerExtensions
}
}
public static async Task<byte[]> GetAllBytesOrNullAsync(
public static async Task<byte[]?> GetAllBytesOrNullAsync(
this IBlobContainer container,
string name,
CancellationToken cancellationToken = default)

2
framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainerNameAttribute.cs

@ -32,7 +32,7 @@ public class BlobContainerNameAttribute : Attribute
if (nameAttribute == null)
{
return type.FullName;
return type.FullName!;
}
return nameAttribute.GetName(type);

6
framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobNormalizeNaming.cs

@ -2,11 +2,11 @@
public class BlobNormalizeNaming
{
public string ContainerName { get; }
public string? ContainerName { get; }
public string BlobName { get; }
public string? BlobName { get; }
public BlobNormalizeNaming(string containerName, string blobName)
public BlobNormalizeNaming(string? containerName, string? blobName)
{
ContainerName = containerName;
BlobName = blobName;

12
framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobNormalizeNamingService.cs

@ -16,8 +16,8 @@ public class BlobNormalizeNamingService : IBlobNormalizeNamingService, ITransien
public BlobNormalizeNaming NormalizeNaming(
BlobContainerConfiguration configuration,
string containerName,
string blobName)
string? containerName,
string? blobName)
{
if (!configuration.NamingNormalizers.Any())
@ -33,8 +33,8 @@ public class BlobNormalizeNamingService : IBlobNormalizeNamingService, ITransien
.GetRequiredService(normalizerType)
.As<IBlobNamingNormalizer>();
containerName = containerName.IsNullOrWhiteSpace() ? containerName : normalizer.NormalizeContainerName(containerName);
blobName = blobName.IsNullOrWhiteSpace() ? blobName : normalizer.NormalizeBlobName(blobName);
containerName = containerName.IsNullOrWhiteSpace() ? containerName : normalizer.NormalizeContainerName(containerName!);
blobName = blobName.IsNullOrWhiteSpace() ? blobName : normalizer.NormalizeBlobName(blobName!);
}
return new BlobNormalizeNaming(containerName, blobName);
@ -48,7 +48,7 @@ public class BlobNormalizeNamingService : IBlobNormalizeNamingService, ITransien
return containerName;
}
return NormalizeNaming(configuration, containerName, null).ContainerName;
return NormalizeNaming(configuration, containerName, null).ContainerName!;
}
public string NormalizeBlobName(BlobContainerConfiguration configuration, string blobName)
@ -58,6 +58,6 @@ public class BlobNormalizeNamingService : IBlobNormalizeNamingService, ITransien
return blobName;
}
return NormalizeNaming(configuration, null, blobName).BlobName;
return NormalizeNaming(configuration, null, blobName).BlobName!;
}
}

2
framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobProviderBase.cs

@ -14,7 +14,7 @@ public abstract class BlobProviderBase : IBlobProvider
public abstract Task<Stream> GetOrNullAsync(BlobProviderGetArgs args);
protected virtual async Task<Stream> TryCopyToMemoryStreamAsync(Stream stream, CancellationToken cancellationToken = default)
protected virtual async Task<Stream?> TryCopyToMemoryStreamAsync(Stream? stream, CancellationToken cancellationToken = default)
{
if (stream == null)
{

2
framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/IBlobContainer.cs

@ -78,7 +78,7 @@ public interface IBlobContainer
/// <returns>
/// A <see cref="Stream"/> to read the blob data.
/// </returns>
Task<Stream> GetOrNullAsync(
Task<Stream?> GetOrNullAsync(
string name,
CancellationToken cancellationToken = default
);

Loading…
Cancel
Save