Browse Source

remove name from BlobContainerConfiguration

pull/4105/head
Halil İbrahim Kalkan 6 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 BlobContainerConfigurationDictionary Containers { get; set; }
public BlobContainerConfigurationDictionary Containers { get; }
public AbpBlobStoringOptions()
{

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

@ -1,19 +1,10 @@
using System;
using System.Collections.Generic;
using JetBrains.Annotations;
namespace Volo.Abp.BlobStoring
{
public class BlobContainerConfiguration : Dictionary<string, object>
{
[NotNull]
public string Name { get; }
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()
{
Default = new BlobContainerConfiguration("_default");
Default = new BlobContainerConfiguration();
}
public BlobContainerConfigurationDictionary Configure<TContainer>(
@ -29,7 +29,7 @@ namespace Volo.Abp.BlobStoring
Check.NotNullOrWhiteSpace(name, nameof(name));
Check.NotNull(configureAction, nameof(configureAction));
configureAction(this.GetOrAdd(name, () => new BlobContainerConfiguration(name)));
configureAction(this.GetOrAdd(name, () => new BlobContainerConfiguration()));
return this;
}
@ -39,11 +39,5 @@ namespace Volo.Abp.BlobStoring
configureAction(Default);
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)
{
var configuration = Options.Containers.GetOrDefaultConfiguration(name);
var configuration = Options.Containers.GetOrDefault(name);
return new BlobContainerToProviderAdapter(
name,
configuration,
GetProvider(configuration)
GetProvider(name, configuration)
);
}
[NotNull]
protected virtual IBlobProvider GetProvider(BlobContainerConfiguration configuration)
protected virtual IBlobProvider GetProvider(
string containerName,
BlobContainerConfiguration configuration)
{
if (!BlobProviders.Any())
{
@ -51,7 +53,7 @@ namespace Volo.Abp.BlobStoring
}
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