Removed named service reference from repo ctors. Now registered with factory method that looks up services by name instead.
This commit is contained in:
@@ -1,8 +1,12 @@
|
||||
using System;
|
||||
using LightInject;
|
||||
using Umbraco.Core.Cache;
|
||||
using Umbraco.Core.Configuration.UmbracoSettings;
|
||||
using Umbraco.Core.IO;
|
||||
using Umbraco.Core.Logging;
|
||||
using Umbraco.Core.Persistence.Repositories;
|
||||
using Umbraco.Core.Persistence.Repositories.Implement;
|
||||
using Umbraco.Core.Scoping;
|
||||
|
||||
namespace Umbraco.Core.Composing.CompositionRoots
|
||||
{
|
||||
@@ -36,7 +40,7 @@ namespace Umbraco.Core.Composing.CompositionRoots
|
||||
// some repositories have an annotated ctor parameter to pick the right cache helper
|
||||
|
||||
// repositories
|
||||
container.RegisterSingleton<IAuditRepository, AuditRepository>();
|
||||
container.RegisterSingleton<IAuditRepository>(f => new AuditRepository(f.GetInstance<IScopeAccessor>(), f.GetInstance<CacheHelper>(DisabledCache), f.GetInstance<ILogger>()));
|
||||
container.RegisterSingleton<IAuditEntryRepository, AuditEntryRepository>();
|
||||
container.RegisterSingleton<IContentTypeRepository, ContentTypeRepository>();
|
||||
container.RegisterSingleton<IDataTypeContainerRepository, DataTypeContainerRepository>();
|
||||
@@ -59,23 +63,30 @@ namespace Umbraco.Core.Composing.CompositionRoots
|
||||
container.RegisterSingleton<INotificationsRepository, NotificationsRepository>();
|
||||
container.RegisterSingleton<IPublicAccessRepository, PublicAccessRepository>();
|
||||
container.RegisterSingleton<IRedirectUrlRepository, RedirectUrlRepository>();
|
||||
container.RegisterSingleton<IRelationRepository, RelationRepository>();
|
||||
container.RegisterSingleton<IRelationRepository>(f => new RelationRepository(f.GetInstance<IScopeAccessor>(), f.GetInstance<CacheHelper>(DisabledCache), f.GetInstance<ILogger>(), f.GetInstance<IRelationTypeRepository>()));
|
||||
container.RegisterSingleton<IRelationTypeRepository, RelationTypeRepository>();
|
||||
container.RegisterSingleton<IServerRegistrationRepository, ServerRegistrationRepository>();
|
||||
container.RegisterSingleton<ITagRepository, TagRepository>();
|
||||
container.RegisterSingleton<ITaskRepository, TaskRepository>();
|
||||
container.RegisterSingleton<ITaskTypeRepository, TaskTypeRepository>();
|
||||
container.RegisterSingleton<ITemplateRepository, TemplateRepository>();
|
||||
container.RegisterSingleton<ITaskRepository>(f => new TaskRepository(f.GetInstance<IScopeAccessor>(), f.GetInstance<CacheHelper>(DisabledCache), f.GetInstance<ILogger>()));
|
||||
container.RegisterSingleton<ITaskTypeRepository>(f => new TaskTypeRepository(f.GetInstance<IScopeAccessor>(), f.GetInstance<CacheHelper>(DisabledCache), f.GetInstance<ILogger>()));
|
||||
container.RegisterSingleton<ITemplateRepository>(f => new TemplateRepository(
|
||||
f.GetInstance<IScopeAccessor>(),
|
||||
f.GetInstance<CacheHelper>(),
|
||||
f.GetInstance<ILogger>(),
|
||||
f.GetInstance<ITemplatesSection>(),
|
||||
f.GetInstance<IFileSystem>(Constants.Composing.FileSystems.MasterpageFileSystem),
|
||||
f.GetInstance<IFileSystem>(Constants.Composing.FileSystems.ViewFileSystem)
|
||||
));
|
||||
container.RegisterSingleton<IUserGroupRepository, UserGroupRepository>();
|
||||
container.RegisterSingleton<IUserRepository, UserRepository>();
|
||||
container.RegisterSingleton<IConsentRepository, ConsentRepository>();
|
||||
|
||||
// repositories that depend on a filesystem
|
||||
// these have an annotated ctor parameter to pick the right file system
|
||||
container.RegisterSingleton<IPartialViewMacroRepository, PartialViewMacroRepository>();
|
||||
container.RegisterSingleton<IPartialViewRepository, PartialViewRepository>();
|
||||
container.RegisterSingleton<IScriptRepository, ScriptRepository>();
|
||||
container.RegisterSingleton<IStylesheetRepository, StylesheetRepository>();
|
||||
container.RegisterSingleton<IPartialViewMacroRepository>(f => new PartialViewMacroRepository(f.GetInstance<IFileSystem>("PartialViewMacroFileSystem")));
|
||||
container.RegisterSingleton<IPartialViewRepository>(f => new PartialViewRepository(f.GetInstance<IFileSystem>("PartialViewFileSystem")));
|
||||
container.RegisterSingleton<IScriptRepository>(f => new ScriptRepository(f.GetInstance<IFileSystem>("ScriptFileSystem"), f.GetInstance<IContentSection>()));
|
||||
container.RegisterSingleton<IStylesheetRepository>(f => new StylesheetRepository(f.GetInstance<IFileSystem>("StylesheetFileSystem")));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -302,6 +302,9 @@ namespace Umbraco.Core.IO
|
||||
// could be optimized by having FileSystemWrapper inherit from ShadowWrapper, maybe
|
||||
var innerFs = GetUnderlyingFileSystemNoCache(alias, fallback);
|
||||
var shadowWrapper = new ShadowWrapper(innerFs, "typed/" + alias, () => IsScoped());
|
||||
|
||||
// fixme - switch to using container. where are these registered?
|
||||
|
||||
var fs = (IFileSystem) Activator.CreateInstance(typeof(TFileSystem), shadowWrapper);
|
||||
_wrappers.Add(shadowWrapper); // keeping a reference to the wrapper
|
||||
return fs;
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using LightInject;
|
||||
using NPoco;
|
||||
using Umbraco.Core.Cache;
|
||||
using Umbraco.Core.Composing.CompositionRoots;
|
||||
using Umbraco.Core.Logging;
|
||||
using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Persistence.DatabaseModelDefinitions;
|
||||
@@ -16,7 +14,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement
|
||||
{
|
||||
internal class AuditRepository : NPocoRepositoryBase<int, IAuditItem>, IAuditRepository
|
||||
{
|
||||
public AuditRepository(IScopeAccessor scopeAccessor, [Inject(RepositoryCompositionRoot.DisabledCache)] CacheHelper cache, ILogger logger)
|
||||
public AuditRepository(IScopeAccessor scopeAccessor, CacheHelper cache, ILogger logger)
|
||||
: base(scopeAccessor, cache, logger)
|
||||
{ }
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using LightInject;
|
||||
using Umbraco.Core.IO;
|
||||
using Umbraco.Core.IO;
|
||||
using Umbraco.Core.Models;
|
||||
|
||||
namespace Umbraco.Core.Persistence.Repositories.Implement
|
||||
@@ -7,7 +6,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement
|
||||
internal class PartialViewMacroRepository : PartialViewRepository, IPartialViewMacroRepository
|
||||
{
|
||||
|
||||
public PartialViewMacroRepository([Inject("PartialViewMacroFileSystem")] IFileSystem fileSystem)
|
||||
public PartialViewMacroRepository(IFileSystem fileSystem)
|
||||
: base(fileSystem)
|
||||
{ }
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using LightInject;
|
||||
using Umbraco.Core.IO;
|
||||
using Umbraco.Core.Models;
|
||||
|
||||
@@ -10,7 +9,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement
|
||||
{
|
||||
internal class PartialViewRepository : FileRepository<string, IPartialView>, IPartialViewRepository
|
||||
{
|
||||
public PartialViewRepository([Inject("PartialViewFileSystem")] IFileSystem fileSystem)
|
||||
public PartialViewRepository(IFileSystem fileSystem)
|
||||
: base(fileSystem)
|
||||
{ }
|
||||
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using LightInject;
|
||||
using NPoco;
|
||||
using Umbraco.Core.Cache;
|
||||
using Umbraco.Core.Composing.CompositionRoots;
|
||||
using Umbraco.Core.Logging;
|
||||
using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Models.Entities;
|
||||
@@ -22,7 +20,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement
|
||||
{
|
||||
private readonly IRelationTypeRepository _relationTypeRepository;
|
||||
|
||||
public RelationRepository(IScopeAccessor scopeAccessor, [Inject(RepositoryCompositionRoot.DisabledCache)] CacheHelper cache, ILogger logger, IRelationTypeRepository relationTypeRepository)
|
||||
public RelationRepository(IScopeAccessor scopeAccessor, CacheHelper cache, ILogger logger, IRelationTypeRepository relationTypeRepository)
|
||||
: base(scopeAccessor, cache, logger)
|
||||
{
|
||||
_relationTypeRepository = relationTypeRepository;
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using LightInject;
|
||||
using Umbraco.Core.Configuration.UmbracoSettings;
|
||||
using Umbraco.Core.IO;
|
||||
using Umbraco.Core.Models;
|
||||
@@ -16,7 +15,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement
|
||||
{
|
||||
private readonly IContentSection _contentConfig;
|
||||
|
||||
public ScriptRepository([Inject("ScriptFileSystem")] IFileSystem fileSystem, IContentSection contentConfig)
|
||||
public ScriptRepository(IFileSystem fileSystem, IContentSection contentConfig)
|
||||
: base(fileSystem)
|
||||
{
|
||||
_contentConfig = contentConfig ?? throw new ArgumentNullException(nameof(contentConfig));
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using LightInject;
|
||||
using Umbraco.Core.IO;
|
||||
using Umbraco.Core.Models;
|
||||
|
||||
@@ -12,7 +11,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement
|
||||
/// </summary>
|
||||
internal class StylesheetRepository : FileRepository<string, Stylesheet>, IStylesheetRepository
|
||||
{
|
||||
public StylesheetRepository([Inject("StylesheetFileSystem")] IFileSystem fileSystem)
|
||||
public StylesheetRepository(IFileSystem fileSystem)
|
||||
: base(fileSystem)
|
||||
{ }
|
||||
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using LightInject;
|
||||
using NPoco;
|
||||
using Umbraco.Core.Cache;
|
||||
using Umbraco.Core.Composing.CompositionRoots;
|
||||
using Umbraco.Core.Exceptions;
|
||||
using Umbraco.Core.Logging;
|
||||
using Umbraco.Core.Models;
|
||||
@@ -17,7 +15,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement
|
||||
{
|
||||
internal class TaskRepository : NPocoRepositoryBase<int, Task>, ITaskRepository
|
||||
{
|
||||
public TaskRepository(IScopeAccessor scopeAccessor, [Inject(RepositoryCompositionRoot.DisabledCache)] CacheHelper cache, ILogger logger)
|
||||
public TaskRepository(IScopeAccessor scopeAccessor, CacheHelper cache, ILogger logger)
|
||||
: base(scopeAccessor, cache, logger)
|
||||
{ }
|
||||
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using LightInject;
|
||||
using NPoco;
|
||||
using Umbraco.Core.Cache;
|
||||
using Umbraco.Core.Composing.CompositionRoots;
|
||||
using Umbraco.Core.Logging;
|
||||
using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Persistence.Dtos;
|
||||
@@ -16,7 +14,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement
|
||||
{
|
||||
internal class TaskTypeRepository : NPocoRepositoryBase<int, TaskType>, ITaskTypeRepository
|
||||
{
|
||||
public TaskTypeRepository(IScopeAccessor scopeAccessor, [Inject(RepositoryCompositionRoot.DisabledCache)] CacheHelper cache, ILogger logger)
|
||||
public TaskTypeRepository(IScopeAccessor scopeAccessor, CacheHelper cache, ILogger logger)
|
||||
: base(scopeAccessor, cache, logger)
|
||||
{ }
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@ using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using LightInject;
|
||||
using NPoco;
|
||||
using Umbraco.Core.Cache;
|
||||
using Umbraco.Core.Configuration.UmbracoSettings;
|
||||
@@ -31,8 +30,8 @@ namespace Umbraco.Core.Persistence.Repositories.Implement
|
||||
private readonly MasterPageHelper _masterPageHelper;
|
||||
|
||||
public TemplateRepository(IScopeAccessor scopeAccessor, CacheHelper cache, ILogger logger, ITemplatesSection templateConfig,
|
||||
[Inject(Constants.Composing.FileSystems.MasterpageFileSystem)] IFileSystem masterpageFileSystem,
|
||||
[Inject(Constants.Composing.FileSystems.ViewFileSystem)] IFileSystem viewFileSystem)
|
||||
IFileSystem masterpageFileSystem,
|
||||
IFileSystem viewFileSystem)
|
||||
: base(scopeAccessor, cache, logger)
|
||||
{
|
||||
_masterpagesFileSystem = masterpageFileSystem;
|
||||
|
||||
@@ -35,32 +35,32 @@ namespace Umbraco.Web.Mvc
|
||||
/// <summary>
|
||||
/// Gets or sets the Umbraco context.
|
||||
/// </summary>
|
||||
public virtual UmbracoContext UmbracoContext { get; set; }
|
||||
public virtual UmbracoContext UmbracoContext { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the database context.
|
||||
/// </summary>
|
||||
public IUmbracoDatabaseFactory DatabaseFactory { get; set; }
|
||||
public IUmbracoDatabaseFactory DatabaseFactory { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the services context.
|
||||
/// </summary>
|
||||
public ServiceContext Services { get; set; }
|
||||
public ServiceContext Services { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the application cache.
|
||||
/// </summary>
|
||||
public CacheHelper ApplicationCache { get; set; }
|
||||
public CacheHelper ApplicationCache { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the logger.
|
||||
/// </summary>
|
||||
public ILogger Logger { get; set; }
|
||||
public ILogger Logger { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the profiling logger.
|
||||
/// </summary>
|
||||
public ProfilingLogger ProfilingLogger { get; set; }
|
||||
public ProfilingLogger ProfilingLogger { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the membership helper.
|
||||
|
||||
Reference in New Issue
Block a user