Browse Source

Renamed ISettingContributor and ISettingProvider.

pull/204/head
Halil İbrahim Kalkan 9 years ago
parent
commit
5b77271e49
  1. 2
      src/Volo.Abp.Session/Volo/Abp/Session/AbpSessionModule.cs
  2. 4
      src/Volo.Abp.Session/Volo/Abp/Session/UserSettingValueProvider.cs
  3. 12
      src/Volo.Abp.Session/Volo/Abp/Settings/UserSettingManagerExtensions.cs
  4. 4
      src/Volo.Abp.Settings/Volo/Abp/Settings/DefaultStoreSettingValueProvider.cs
  5. 4
      src/Volo.Abp.Settings/Volo/Abp/Settings/DefaultValueSettingValueProvider.cs
  6. 2
      src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingDefinitionProvider.cs
  7. 2
      src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingValueProvider.cs
  8. 10
      src/Volo.Abp.Settings/Volo/Abp/Settings/SettingDefinitionManager.cs
  9. 2
      src/Volo.Abp.Settings/Volo/Abp/Settings/SettingDefinitionProvider.cs
  10. 20
      src/Volo.Abp.Settings/Volo/Abp/Settings/SettingManager.cs
  11. 12
      src/Volo.Abp.Settings/Volo/Abp/Settings/SettingOptions.cs
  12. 4
      src/Volo.Abp.Settings/Volo/Abp/Settings/SettingValueProvider.cs
  13. 2
      test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/AbpIdentityApplicationTestModule.cs
  14. 4
      test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/AbpIdentityTestDataBuilder.cs
  15. 2
      test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/TestSettingDefinitionProvider.cs

2
src/Volo.Abp.Session/Volo/Abp/Session/AbpSessionModule.cs

@ -13,7 +13,7 @@ namespace Volo.Abp.Session
{
services.Configure<SettingOptions>(options =>
{
options.Contributors.Add<UserSettingContributor>();
options.ValueProviders.Add<UserSettingValueProvider>();
});
services.AddAssemblyOf<AbpSessionModule>();

4
src/Volo.Abp.Session/Volo/Abp/Session/UserSettingContributor.cs → src/Volo.Abp.Session/Volo/Abp/Session/UserSettingValueProvider.cs

@ -6,7 +6,7 @@ namespace Volo.Abp.Session
{
//TODO: Optimization: Get all settings and cache it!
public class UserSettingContributor : SettingContributor
public class UserSettingValueProvider : SettingValueProvider
{
public const string DefaultEntityType = "User";
@ -14,7 +14,7 @@ namespace Volo.Abp.Session
protected ICurrentUser CurrentUser { get; }
public UserSettingContributor(ISettingStore settingStore, ICurrentUser currentUser)
public UserSettingValueProvider(ISettingStore settingStore, ICurrentUser currentUser)
: base(settingStore)
{
CurrentUser = currentUser;

12
src/Volo.Abp.Session/Volo/Abp/Settings/UserSettingManagerExtensions.cs

@ -10,32 +10,32 @@ namespace Volo.Abp.Settings
{
public static Task<string> GetOrNullForUserAsync(this ISettingManager settingManager, [NotNull] string name, Guid userId, bool fallback = true)
{
return settingManager.GetOrNullAsync(name, UserSettingContributor.DefaultEntityType, userId.ToString(), fallback);
return settingManager.GetOrNullAsync(name, UserSettingValueProvider.DefaultEntityType, userId.ToString(), fallback);
}
public static Task<string> GetOrNullForCurrentUserAsync(this ISettingManager settingManager, [NotNull] string name, bool fallback = true)
{
return settingManager.GetOrNullAsync(name, UserSettingContributor.DefaultEntityType, null, fallback);
return settingManager.GetOrNullAsync(name, UserSettingValueProvider.DefaultEntityType, null, fallback);
}
public static Task<List<SettingValue>> GetAllForUserAsync(this ISettingManager settingManager, Guid userId, bool fallback = true)
{
return settingManager.GetAllAsync(UserSettingContributor.DefaultEntityType, userId.ToString(), fallback);
return settingManager.GetAllAsync(UserSettingValueProvider.DefaultEntityType, userId.ToString(), fallback);
}
public static Task<List<SettingValue>> GetAllForCurrentUserAsync(this ISettingManager settingManager, bool fallback = true)
{
return settingManager.GetAllAsync(UserSettingContributor.DefaultEntityType, null, fallback);
return settingManager.GetAllAsync(UserSettingValueProvider.DefaultEntityType, null, fallback);
}
public static Task SetForUserAsync(this ISettingManager settingManager, Guid userId, [NotNull] string name, [CanBeNull] string value)
{
return settingManager.SetAsync(name, value, UserSettingContributor.DefaultEntityType, userId.ToString());
return settingManager.SetAsync(name, value, UserSettingValueProvider.DefaultEntityType, userId.ToString());
}
public static Task SetForCurrentUserAsync(this ISettingManager settingManager, [NotNull] string name, [CanBeNull] string value)
{
return settingManager.SetAsync(name, value, UserSettingContributor.DefaultEntityType, null);
return settingManager.SetAsync(name, value, UserSettingValueProvider.DefaultEntityType, null);
}
}
}

4
src/Volo.Abp.Settings/Volo/Abp/Settings/DefaultStoreSettingContributor.cs → src/Volo.Abp.Settings/Volo/Abp/Settings/DefaultStoreSettingValueProvider.cs

@ -2,11 +2,11 @@
namespace Volo.Abp.Settings
{
public class DefaultStoreSettingContributor : SettingContributor
public class DefaultStoreSettingValueProvider : SettingValueProvider
{
public override string EntityType => null;
public DefaultStoreSettingContributor(ISettingStore settingStore)
public DefaultStoreSettingValueProvider(ISettingStore settingStore)
: base(settingStore)
{
}

4
src/Volo.Abp.Settings/Volo/Abp/Settings/DefaultValueSettingContributor.cs → src/Volo.Abp.Settings/Volo/Abp/Settings/DefaultValueSettingValueProvider.cs

@ -2,11 +2,11 @@
namespace Volo.Abp.Settings
{
public class DefaultValueSettingContributor : SettingContributor
public class DefaultValueSettingValueProvider : SettingValueProvider
{
public override string EntityType => null;
public DefaultValueSettingContributor(ISettingStore settingStore)
public DefaultValueSettingValueProvider(ISettingStore settingStore)
: base(settingStore)
{

2
src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingProvider.cs → src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingDefinitionProvider.cs

@ -1,6 +1,6 @@
namespace Volo.Abp.Settings
{
public interface ISettingProvider
public interface ISettingDefinitionProvider
{
void Define(ISettingDefinitionContext context);
}

2
src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingContributor.cs → src/Volo.Abp.Settings/Volo/Abp/Settings/ISettingValueProvider.cs

@ -3,7 +3,7 @@ using JetBrains.Annotations;
namespace Volo.Abp.Settings
{
public interface ISettingContributor
public interface ISettingValueProvider
{
string EntityType { get; }

10
src/Volo.Abp.Settings/Volo/Abp/Settings/SettingDefinitionManager.cs

@ -9,7 +9,7 @@ namespace Volo.Abp.Settings
{
public class SettingDefinitionManager : ISettingDefinitionManager, ISingletonDependency
{
protected Lazy<List<ISettingProvider>> Providers { get; }
protected Lazy<List<ISettingDefinitionProvider>> Providers { get; }
protected Lazy<IDictionary<string, SettingDefinition>> SettingDefinitions { get; }
@ -24,7 +24,7 @@ namespace Volo.Abp.Settings
_serviceProvider = serviceProvider;
Options = options.Value;
Providers = new Lazy<List<ISettingProvider>>(CreateSettingProviders, true);
Providers = new Lazy<List<ISettingDefinitionProvider>>(CreateSettingProviders, true);
SettingDefinitions = new Lazy<IDictionary<string, SettingDefinition>>(CreateSettingDefinitions, true);
}
@ -47,11 +47,11 @@ namespace Volo.Abp.Settings
return SettingDefinitions.Value.GetOrDefault(name);
}
private List<ISettingProvider> CreateSettingProviders()
private List<ISettingDefinitionProvider> CreateSettingProviders()
{
return Options
.Providers
.Select(p => _serviceProvider.GetRequiredService(p) as ISettingProvider)
.DefinitionProviders
.Select(p => _serviceProvider.GetRequiredService(p) as ISettingDefinitionProvider)
.ToList();
}

2
src/Volo.Abp.Settings/Volo/Abp/Settings/SettingProvider.cs → src/Volo.Abp.Settings/Volo/Abp/Settings/SettingDefinitionProvider.cs

@ -2,7 +2,7 @@
namespace Volo.Abp.Settings
{
public abstract class SettingProvider : ISettingProvider, ISingletonDependency
public abstract class SettingDefinitionProvider : ISettingDefinitionProvider, ISingletonDependency
{
public abstract void Define(ISettingDefinitionContext context);
}

20
src/Volo.Abp.Settings/Volo/Abp/Settings/SettingManager.cs

@ -12,7 +12,7 @@ namespace Volo.Abp.Settings
{
protected ISettingDefinitionManager SettingDefinitionManager { get; }
protected Lazy<List<ISettingContributor>> Contributors { get; }
protected Lazy<List<ISettingValueProvider>> Providers { get; }
protected SettingOptions Options { get; }
@ -28,10 +28,10 @@ namespace Volo.Abp.Settings
SettingDefinitionManager = settingDefinitionManager;
Options = options.Value;
Contributors = new Lazy<List<ISettingContributor>>(
Providers = new Lazy<List<ISettingValueProvider>>(
() => Options
.Contributors
.Select(c => serviceProvider.GetRequiredService(c) as ISettingContributor)
.ValueProviders
.Select(c => serviceProvider.GetRequiredService(c) as ISettingValueProvider)
.ToList(),
true
);
@ -42,7 +42,7 @@ namespace Volo.Abp.Settings
Check.NotNull(name, nameof(name));
var setting = SettingDefinitionManager.Get(name);
var contributors = Enumerable.Reverse(Contributors.Value);
var contributors = Enumerable.Reverse(Providers.Value);
foreach (var contributor in contributors)
{
@ -62,18 +62,18 @@ namespace Volo.Abp.Settings
Check.NotNull(entityType, nameof(entityType));
var setting = SettingDefinitionManager.Get(name);
var contributors = Enumerable
.Reverse(Contributors.Value)
var providers = Enumerable
.Reverse(Providers.Value)
.SkipWhile(c => c.EntityType != entityType);
if (!fallback)
{
contributors = contributors.TakeWhile(c => c.EntityType == entityType);
providers = providers.TakeWhile(c => c.EntityType == entityType);
}
foreach (var contributor in contributors)
foreach (var provider in providers)
{
var value = await contributor.GetOrNullAsync(setting, entityId);
var value = await provider.GetOrNullAsync(setting, entityId);
if (value != null)
{
return value;

12
src/Volo.Abp.Settings/Volo/Abp/Settings/SettingOptions.cs

@ -4,17 +4,17 @@ namespace Volo.Abp.Settings
{
public class SettingOptions
{
public ITypeList<ISettingProvider> Providers { get; set; }
public ITypeList<ISettingDefinitionProvider> DefinitionProviders { get; }
public ITypeList<ISettingContributor> Contributors { get; }
public ITypeList<ISettingValueProvider> ValueProviders { get; }
public SettingOptions()
{
Providers = new TypeList<ISettingProvider>();
Contributors = new TypeList<ISettingContributor>
DefinitionProviders = new TypeList<ISettingDefinitionProvider>();
ValueProviders = new TypeList<ISettingValueProvider>
{
typeof(DefaultValueSettingContributor),
typeof(DefaultStoreSettingContributor)
typeof(DefaultValueSettingValueProvider),
typeof(DefaultStoreSettingValueProvider)
};
}
}

4
src/Volo.Abp.Settings/Volo/Abp/Settings/SettingContributor.cs → src/Volo.Abp.Settings/Volo/Abp/Settings/SettingValueProvider.cs

@ -3,13 +3,13 @@ using Volo.Abp.DependencyInjection;
namespace Volo.Abp.Settings
{
public abstract class SettingContributor : ISettingContributor, ISingletonDependency
public abstract class SettingValueProvider : ISettingValueProvider, ISingletonDependency
{
public abstract string EntityType { get; }
protected ISettingStore SettingStore { get; }
protected SettingContributor(ISettingStore settingStore)
protected SettingValueProvider(ISettingStore settingStore)
{
SettingStore = settingStore;
}

2
test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/AbpIdentityApplicationTestModule.cs

@ -39,7 +39,7 @@ namespace Volo.Abp.Settings
services.Configure<SettingOptions>(options =>
{
options.Providers.Add<TestSettingProvider>();
options.DefinitionProviders.Add<TestSettingDefinitionProvider>();
});
}

4
test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/AbpIdentityTestDataBuilder.cs

@ -24,8 +24,8 @@ namespace Volo.Abp.Settings
_settingRepository.InsertAsync(new Setting(_guidGenerator.Create(), "MySetting1", "42"));
_settingRepository.InsertAsync(new Setting(_guidGenerator.Create(), "MySetting2", "default-store-value"));
_settingRepository.InsertAsync(new Setting(_guidGenerator.Create(), "MySetting2", "user1-store-value", UserSettingContributor.DefaultEntityType, User1Id.ToString()));
_settingRepository.InsertAsync(new Setting(_guidGenerator.Create(), "MySetting2", "user2-store-value", UserSettingContributor.DefaultEntityType, User2Id.ToString()));
_settingRepository.InsertAsync(new Setting(_guidGenerator.Create(), "MySetting2", "user1-store-value", UserSettingValueProvider.DefaultEntityType, User1Id.ToString()));
_settingRepository.InsertAsync(new Setting(_guidGenerator.Create(), "MySetting2", "user2-store-value", UserSettingValueProvider.DefaultEntityType, User2Id.ToString()));
}
}
}

2
test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/TestSettingProvider.cs → test/Volo.Abp.Settings.Tests/Volo/Abp/Settings/TestSettingDefinitionProvider.cs

@ -1,6 +1,6 @@
namespace Volo.Abp.Settings
{
public class TestSettingProvider : SettingProvider
public class TestSettingDefinitionProvider : SettingDefinitionProvider
{
public override void Define(ISettingDefinitionContext context)
{
Loading…
Cancel
Save