diff --git a/src/Umbraco.Core/Publishing/PublishingStrategy.cs b/src/Umbraco.Core/Publishing/PublishingStrategy.cs index 064822f39c..e09b26a74d 100644 --- a/src/Umbraco.Core/Publishing/PublishingStrategy.cs +++ b/src/Umbraco.Core/Publishing/PublishingStrategy.cs @@ -31,7 +31,17 @@ namespace Umbraco.Core.Publishing { if (eventMessagesFactory == null) throw new ArgumentNullException("eventMessagesFactory"); if (logger == null) throw new ArgumentNullException("logger"); - _scopeProvider = new ScopeProvider(new DefaultDatabaseFactory(Constants.System.UmbracoConnectionName, LoggerResolver.Current.Logger)); + _scopeProvider = new ScopeProvider(new DefaultDatabaseFactory(Constants.System.UmbracoConnectionName, logger)); + _eventMessagesFactory = eventMessagesFactory; + _logger = logger; + } + + [EditorBrowsable(EditorBrowsableState.Never)] + public PublishingStrategy(IScopeProvider scopeProvider, IEventMessagesFactory eventMessagesFactory, ILogger logger) + { + if (eventMessagesFactory == null) throw new ArgumentNullException("eventMessagesFactory"); + if (logger == null) throw new ArgumentNullException("logger"); + _scopeProvider = scopeProvider; _eventMessagesFactory = eventMessagesFactory; _logger = logger; } diff --git a/src/Umbraco.Core/Services/ContentService.cs b/src/Umbraco.Core/Services/ContentService.cs index 51628f456a..87425e34d1 100644 --- a/src/Umbraco.Core/Services/ContentService.cs +++ b/src/Umbraco.Core/Services/ContentService.cs @@ -48,7 +48,7 @@ namespace Umbraco.Core.Services { if (dataTypeService == null) throw new ArgumentNullException("dataTypeService"); if (userService == null) throw new ArgumentNullException("userService"); - _publishingStrategy = new PublishingStrategy(eventMessagesFactory, logger); + _publishingStrategy = new PublishingStrategy(UowProvider.ScopeProvider, eventMessagesFactory, logger); _dataTypeService = dataTypeService; _userService = userService; } diff --git a/src/Umbraco.Tests/Publishing/PublishingStrategyTests.cs b/src/Umbraco.Tests/Publishing/PublishingStrategyTests.cs index 68d4791377..7dbb1cec6f 100644 --- a/src/Umbraco.Tests/Publishing/PublishingStrategyTests.cs +++ b/src/Umbraco.Tests/Publishing/PublishingStrategyTests.cs @@ -17,6 +17,7 @@ using umbraco.interfaces; using System.Linq; using Moq; using Umbraco.Core.Persistence.UnitOfWork; +using Umbraco.Core.Scoping; namespace Umbraco.Tests.Publishing { @@ -70,7 +71,7 @@ namespace Umbraco.Tests.Publishing ServiceContext.ContentTypeService.GetContentType("umbTextpage"), "Sub Sub Sub", mandatorContent.Id); ServiceContext.ContentService.Save(subContent, 0); - IPublishingStrategy2 strategy = new PublishingStrategy(new TransientMessagesFactory(), Logger); + IPublishingStrategy2 strategy = new PublishingStrategy(DatabaseContext.ScopeProvider, new TransientMessagesFactory(), Logger); //publish root and nodes at it's children level var listToPublish = ServiceContext.ContentService.GetDescendants(_homePage.Id).Concat(new[] { _homePage }); @@ -97,7 +98,7 @@ namespace Umbraco.Tests.Publishing { CreateTestData(); - IPublishingStrategy2 strategy = new PublishingStrategy(new TransientMessagesFactory(), Logger); + IPublishingStrategy2 strategy = new PublishingStrategy(DatabaseContext.ScopeProvider, new TransientMessagesFactory(), Logger); PublishingStrategy.Publishing +=PublishingStrategyPublishing; @@ -124,7 +125,7 @@ namespace Umbraco.Tests.Publishing { CreateTestData(); - IPublishingStrategy2 strategy = new PublishingStrategy(new TransientMessagesFactory(), Logger); + IPublishingStrategy2 strategy = new PublishingStrategy(DatabaseContext.ScopeProvider, new TransientMessagesFactory(), Logger); //publish root and nodes at it's children level var result1 = strategy.Publish(_unitOfWork, _homePage, 0); @@ -151,7 +152,7 @@ namespace Umbraco.Tests.Publishing { CreateTestData(); - IPublishingStrategy2 strategy = new PublishingStrategy(new TransientMessagesFactory(), Logger); + IPublishingStrategy2 strategy = new PublishingStrategy(DatabaseContext.ScopeProvider, new TransientMessagesFactory(), Logger); //publish root and nodes at it's children level var result1 = strategy.Publish(_unitOfWork, _homePage, 0);