Browse Source

remove name from BlobContainerConfiguration

pull/4105/head
Halil İbrahim Kalkan 7 years ago
parent
commit
1cf0382bf7
  1. 2
      framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/AbpBlobStoringOptions.cs
  2. 9
      framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainerConfiguration.cs
  3. 10
      framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainerConfigurationDictionary.cs
  4. 10
      framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainerFactory.cs

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

@ -2,7 +2,7 @@
{ {
public class AbpBlobStoringOptions public class AbpBlobStoringOptions
{ {
public BlobContainerConfigurationDictionary Containers { get; set; } public BlobContainerConfigurationDictionary Containers { get; }
public AbpBlobStoringOptions() public AbpBlobStoringOptions()
{ {

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

@ -1,19 +1,10 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using JetBrains.Annotations;
namespace Volo.Abp.BlobStoring namespace Volo.Abp.BlobStoring
{ {
public class BlobContainerConfiguration : Dictionary<string, object> public class BlobContainerConfiguration : Dictionary<string, object>
{ {
[NotNull]
public string Name { get; }
public Type ProviderType { get; set; } public Type ProviderType { get; set; }
public BlobContainerConfiguration([NotNull] string name)
{
Name = Check.NotNullOrWhiteSpace(name, nameof(name));
}
} }
} }

10
framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainerConfigurationDictionary.cs

@ -10,7 +10,7 @@ namespace Volo.Abp.BlobStoring
public BlobContainerConfigurationDictionary() public BlobContainerConfigurationDictionary()
{ {
Default = new BlobContainerConfiguration("_default"); Default = new BlobContainerConfiguration();
} }
public BlobContainerConfigurationDictionary Configure<TContainer>( public BlobContainerConfigurationDictionary Configure<TContainer>(
@ -29,7 +29,7 @@ namespace Volo.Abp.BlobStoring
Check.NotNullOrWhiteSpace(name, nameof(name)); Check.NotNullOrWhiteSpace(name, nameof(name));
Check.NotNull(configureAction, nameof(configureAction)); Check.NotNull(configureAction, nameof(configureAction));
configureAction(this.GetOrAdd(name, () => new BlobContainerConfiguration(name))); configureAction(this.GetOrAdd(name, () => new BlobContainerConfiguration()));
return this; return this;
} }
@ -39,11 +39,5 @@ namespace Volo.Abp.BlobStoring
configureAction(Default); configureAction(Default);
return this; return this;
} }
public BlobContainerConfiguration GetOrDefaultConfiguration(string name)
{
return AbpDictionaryExtensions.GetOrDefault(this, name) ??
Default;
}
} }
} }

10
framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainerFactory.cs

@ -26,16 +26,18 @@ namespace Volo.Abp.BlobStoring
public virtual IBlobContainer Create(string name, CancellationToken cancellationToken = default) public virtual IBlobContainer Create(string name, CancellationToken cancellationToken = default)
{ {
var configuration = Options.Containers.GetOrDefaultConfiguration(name); var configuration = Options.Containers.GetOrDefault(name);
return new BlobContainerToProviderAdapter( return new BlobContainerToProviderAdapter(
name, name,
configuration, configuration,
GetProvider(configuration) GetProvider(name, configuration)
); );
} }
[NotNull] [NotNull]
protected virtual IBlobProvider GetProvider(BlobContainerConfiguration configuration) protected virtual IBlobProvider GetProvider(
string containerName,
BlobContainerConfiguration configuration)
{ {
if (!BlobProviders.Any()) if (!BlobProviders.Any())
{ {
@ -51,7 +53,7 @@ namespace Volo.Abp.BlobStoring
} }
throw new AbpException( throw new AbpException(
$"Could not find the BLOB Storage provider with the type ({configuration.ProviderType.AssemblyQualifiedName}) configured for the container {configuration.Name}" $"Could not find the BLOB Storage provider with the type ({configuration.ProviderType.AssemblyQualifiedName}) configured for the container {containerName} and no default provider was set."
); );
} }
} }

Loading…
Cancel
Save