diff --git a/src/Umbraco.Tests/Routing/GetContentUrlsTests.cs b/src/Umbraco.Tests/Routing/GetContentUrlsTests.cs index 3c85850460..3eb68aafb5 100644 --- a/src/Umbraco.Tests/Routing/GetContentUrlsTests.cs +++ b/src/Umbraco.Tests/Routing/GetContentUrlsTests.cs @@ -82,7 +82,7 @@ namespace Umbraco.Tests.Routing var umbracoContextAccessor = new TestUmbracoContextAccessor(umbContext); var urlProvider = new DefaultUrlProvider(umbracoSettings.RequestHandler, Logger, TestObjects.GetGlobalSettings(), new SiteDomainHelper(), umbracoContextAccessor); var publishedUrlProvider = new UrlProvider( - new Lazy(() => umbracoContextAccessor), + umbracoContextAccessor, TestHelper.WebRoutingSection, new UrlProviderCollection(new []{urlProvider}), new MediaUrlProviderCollection(Enumerable.Empty()), @@ -126,7 +126,7 @@ namespace Umbraco.Tests.Routing var umbracoContextAccessor = new TestUmbracoContextAccessor(umbContext); var urlProvider = new DefaultUrlProvider(umbracoSettings.RequestHandler, Logger, TestObjects.GetGlobalSettings(), new SiteDomainHelper(), umbracoContextAccessor); var publishedUrlProvider = new UrlProvider( - new Lazy(() => umbracoContextAccessor), + umbracoContextAccessor, TestHelper.WebRoutingSection, new UrlProviderCollection(new []{urlProvider}), new MediaUrlProviderCollection(Enumerable.Empty()), diff --git a/src/Umbraco.Tests/Routing/MediaUrlProviderTests.cs b/src/Umbraco.Tests/Routing/MediaUrlProviderTests.cs index 089670ab61..b217f81aea 100644 --- a/src/Umbraco.Tests/Routing/MediaUrlProviderTests.cs +++ b/src/Umbraco.Tests/Routing/MediaUrlProviderTests.cs @@ -152,7 +152,7 @@ namespace Umbraco.Tests.Routing private IPublishedUrlProvider GetPublishedUrlProvider(IUmbracoContext umbracoContext) { return new UrlProvider( - new Lazy(() => new TestUmbracoContextAccessor(umbracoContext)), + new TestUmbracoContextAccessor(umbracoContext), TestHelper.WebRoutingSection, new UrlProviderCollection(Enumerable.Empty()), new MediaUrlProviderCollection(new []{_mediaUrlProvider}), diff --git a/src/Umbraco.Tests/Routing/UrlProviderTests.cs b/src/Umbraco.Tests/Routing/UrlProviderTests.cs index cdca1e49bf..4b02a67c8c 100644 --- a/src/Umbraco.Tests/Routing/UrlProviderTests.cs +++ b/src/Umbraco.Tests/Routing/UrlProviderTests.cs @@ -102,7 +102,7 @@ namespace Umbraco.Tests.Routing private IPublishedUrlProvider GetPublishedUrlProvider(IUmbracoContext umbracoContext, DefaultUrlProvider urlProvider) { return new UrlProvider( - new Lazy(() => new TestUmbracoContextAccessor(umbracoContext)), + new TestUmbracoContextAccessor(umbracoContext), TestHelper.WebRoutingSection, new UrlProviderCollection(new []{urlProvider}), new MediaUrlProviderCollection(Enumerable.Empty()), diff --git a/src/Umbraco.Tests/Routing/UrlsProviderWithDomainsTests.cs b/src/Umbraco.Tests/Routing/UrlsProviderWithDomainsTests.cs index 96d3ebf785..59fb5629a8 100644 --- a/src/Umbraco.Tests/Routing/UrlsProviderWithDomainsTests.cs +++ b/src/Umbraco.Tests/Routing/UrlsProviderWithDomainsTests.cs @@ -409,7 +409,7 @@ namespace Umbraco.Tests.Routing private IPublishedUrlProvider GetPublishedUrlProvider(IUmbracoContext umbracoContext, DefaultUrlProvider urlProvider) { return new UrlProvider( - new Lazy(() => new TestUmbracoContextAccessor(umbracoContext)), + new TestUmbracoContextAccessor(umbracoContext), TestHelper.WebRoutingSection, new UrlProviderCollection(new []{urlProvider}), new MediaUrlProviderCollection(Enumerable.Empty()), diff --git a/src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs b/src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs index 40e9ac1c01..5b4ab20b49 100644 --- a/src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs +++ b/src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs @@ -98,7 +98,7 @@ namespace Umbraco.Tests.Routing private IPublishedUrlProvider GetPublishedUrlProvider(IUmbracoContext umbracoContext, DefaultUrlProvider urlProvider) { return new UrlProvider( - new Lazy(() => new TestUmbracoContextAccessor(umbracoContext)), + new TestUmbracoContextAccessor(umbracoContext), TestHelper.WebRoutingSection, new UrlProviderCollection(new []{urlProvider}), new MediaUrlProviderCollection(Enumerable.Empty()), diff --git a/src/Umbraco.Tests/Templates/HtmlImageSourceParserTests.cs b/src/Umbraco.Tests/Templates/HtmlImageSourceParserTests.cs index 68d92268da..43d97523d2 100644 --- a/src/Umbraco.Tests/Templates/HtmlImageSourceParserTests.cs +++ b/src/Umbraco.Tests/Templates/HtmlImageSourceParserTests.cs @@ -77,7 +77,7 @@ namespace Umbraco.Tests.Templates umbracoContextAccessor: umbracoContextAccessor); - var publishedUrlProvider = new UrlProvider(new Lazy(() => umbracoContextAccessor), + var publishedUrlProvider = new UrlProvider(umbracoContextAccessor, TestHelper.WebRoutingSection, new UrlProviderCollection(Enumerable.Empty()), new MediaUrlProviderCollection(new []{mediaUrlProvider.Object}), diff --git a/src/Umbraco.Tests/Templates/HtmlLocalLinkParserTests.cs b/src/Umbraco.Tests/Templates/HtmlLocalLinkParserTests.cs index 15e6ee9da8..f350a5d702 100644 --- a/src/Umbraco.Tests/Templates/HtmlLocalLinkParserTests.cs +++ b/src/Umbraco.Tests/Templates/HtmlLocalLinkParserTests.cs @@ -72,7 +72,7 @@ namespace Umbraco.Tests.Templates var umbracoContextFactory = TestUmbracoContextFactory.Create( umbracoContextAccessor: umbracoContextAccessor); - var publishedUrlProvider = new UrlProvider(new Lazy(() => umbracoContextAccessor), + var publishedUrlProvider = new UrlProvider(umbracoContextAccessor, TestHelper.WebRoutingSection, new UrlProviderCollection(new []{contentUrlProvider.Object}), new MediaUrlProviderCollection(new []{mediaUrlProvider.Object}), diff --git a/src/Umbraco.Tests/Testing/TestingTests/MockTests.cs b/src/Umbraco.Tests/Testing/TestingTests/MockTests.cs index fdea605419..5c8934a8ab 100644 --- a/src/Umbraco.Tests/Testing/TestingTests/MockTests.cs +++ b/src/Umbraco.Tests/Testing/TestingTests/MockTests.cs @@ -86,7 +86,7 @@ namespace Umbraco.Tests.Testing.TestingTests var urlProvider = urlProviderMock.Object; var theUrlProvider = new UrlProvider( - new Lazy(() => new TestUmbracoContextAccessor(umbracoContext)), + new TestUmbracoContextAccessor(umbracoContext), TestHelper.WebRoutingSection, new UrlProviderCollection(new [] { urlProvider }), new MediaUrlProviderCollection( Enumerable.Empty()) diff --git a/src/Umbraco.Tests/Testing/UmbracoTestBase.cs b/src/Umbraco.Tests/Testing/UmbracoTestBase.cs index ba18d136f3..687e1f4ad7 100644 --- a/src/Umbraco.Tests/Testing/UmbracoTestBase.cs +++ b/src/Umbraco.Tests/Testing/UmbracoTestBase.cs @@ -302,7 +302,7 @@ namespace Umbraco.Tests.Testing Composition.RegisterUnique(); Composition.RegisterUnique(factory => new UrlProvider( - new Lazy(() => factory.GetInstance()), + factory.GetInstance(), TestObjects.GetUmbracoSettings().WebRouting, new UrlProviderCollection(Enumerable.Empty()), new MediaUrlProviderCollection(Enumerable.Empty()), diff --git a/src/Umbraco.Web/PropertyEditors/GridPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/GridPropertyEditor.cs index 7ab2ed2a36..d76e637b66 100644 --- a/src/Umbraco.Web/PropertyEditors/GridPropertyEditor.cs +++ b/src/Umbraco.Web/PropertyEditors/GridPropertyEditor.cs @@ -30,12 +30,7 @@ namespace Umbraco.Web.PropertyEditors public class GridPropertyEditor : DataEditor { private readonly IUmbracoContextAccessor _umbracoContextAccessor; - private readonly IDataTypeService _dataTypeService; - private readonly ILocalizationService _localizationService; private readonly IIOHelper _ioHelper; - private readonly ILogger _logger; - private readonly IMediaService _mediaService; - private readonly IContentTypeBaseServiceProvider _contentTypeBaseServiceProvider; private readonly HtmlImageSourceParser _imageSourceParser; private readonly RichTextEditorPastedImages _pastedImages; private readonly HtmlLocalLinkParser _localLinkParser; @@ -43,8 +38,6 @@ namespace Umbraco.Web.PropertyEditors public GridPropertyEditor( ILogger logger, - IMediaService mediaService, - IContentTypeBaseServiceProvider contentTypeBaseServiceProvider, IUmbracoContextAccessor umbracoContextAccessor, IDataTypeService dataTypeService, ILocalizationService localizationService, @@ -58,12 +51,7 @@ namespace Umbraco.Web.PropertyEditors : base(logger, dataTypeService, localizationService, localizedTextService, shortStringHelper) { _umbracoContextAccessor = umbracoContextAccessor; - _dataTypeService = dataTypeService; - _localizationService = localizationService; _ioHelper = ioHelper; - _logger = logger; - _mediaService = mediaService; - _contentTypeBaseServiceProvider = contentTypeBaseServiceProvider; _imageSourceParser = imageSourceParser; _pastedImages = pastedImages; _localLinkParser = localLinkParser; @@ -76,7 +64,7 @@ namespace Umbraco.Web.PropertyEditors /// Overridden to ensure that the value is validated /// /// - protected override IDataValueEditor CreateValueEditor() => new GridPropertyValueEditor(Attribute, _mediaService, _contentTypeBaseServiceProvider, _umbracoContextAccessor, _logger, DataTypeService, LocalizationService, LocalizedTextService, _imageSourceParser, _pastedImages, _localLinkParser, ShortStringHelper, _imageUrlGenerator); + protected override IDataValueEditor CreateValueEditor() => new GridPropertyValueEditor(Attribute,_umbracoContextAccessor, DataTypeService, LocalizationService, LocalizedTextService, _imageSourceParser, _pastedImages, _localLinkParser, ShortStringHelper, _imageUrlGenerator); protected override IConfigurationEditor CreateConfigurationEditor() => new GridConfigurationEditor(_ioHelper); @@ -91,10 +79,7 @@ namespace Umbraco.Web.PropertyEditors public GridPropertyValueEditor( DataEditorAttribute attribute, - IMediaService mediaService, - IContentTypeBaseServiceProvider contentTypeBaseServiceProvider, IUmbracoContextAccessor umbracoContextAccessor, - ILogger logger, IDataTypeService dataTypeService, ILocalizationService localizationService, ILocalizedTextService localizedTextService, diff --git a/src/Umbraco.Web/PropertyEditors/RichTextPropertyEditor.cs b/src/Umbraco.Web/PropertyEditors/RichTextPropertyEditor.cs index 766a811fb1..8bc3b9d4e9 100644 --- a/src/Umbraco.Web/PropertyEditors/RichTextPropertyEditor.cs +++ b/src/Umbraco.Web/PropertyEditors/RichTextPropertyEditor.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using Umbraco.Core; -using Umbraco.Web.Composing; using Umbraco.Core.IO; using Umbraco.Core.Logging; using Umbraco.Core.Models; diff --git a/src/Umbraco.Web/Routing/DefaultMediaUrlProvider.cs b/src/Umbraco.Web/Routing/DefaultMediaUrlProvider.cs index 18802e4061..f2cc870eef 100644 --- a/src/Umbraco.Web/Routing/DefaultMediaUrlProvider.cs +++ b/src/Umbraco.Web/Routing/DefaultMediaUrlProvider.cs @@ -1,5 +1,4 @@ using System; -using Umbraco.Core.Composing; using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.PropertyEditors; diff --git a/src/Umbraco.Web/Routing/IMediaUrlProvider.cs b/src/Umbraco.Web/Routing/IMediaUrlProvider.cs index e54e9aa253..1b966c6fdd 100644 --- a/src/Umbraco.Web/Routing/IMediaUrlProvider.cs +++ b/src/Umbraco.Web/Routing/IMediaUrlProvider.cs @@ -1,6 +1,7 @@ using System; using Umbraco.Core.Models.PublishedContent; + namespace Umbraco.Web.Routing { /// diff --git a/src/Umbraco.Web/Routing/UrlProvider.cs b/src/Umbraco.Web/Routing/UrlProvider.cs index 9664eb1919..18a4f09afb 100644 --- a/src/Umbraco.Web/Routing/UrlProvider.cs +++ b/src/Umbraco.Web/Routing/UrlProvider.cs @@ -4,6 +4,7 @@ using System.Linq; using Umbraco.Core.Configuration.UmbracoSettings; using Umbraco.Core; using Umbraco.Core.Models.PublishedContent; +using Umbraco.Core.PropertyEditors; namespace Umbraco.Web.Routing { @@ -23,7 +24,8 @@ namespace Umbraco.Web.Routing /// The list of url providers. /// The list of media url providers. /// The current variation accessor. - public UrlProvider(Lazy umbracoContextAccessor, IWebRoutingSection routingSettings, UrlProviderCollection urlProviders, MediaUrlProviderCollection mediaUrlProviders, IVariationContextAccessor variationContextAccessor) + /// + public UrlProvider(IUmbracoContextAccessor umbracoContextAccessor, IWebRoutingSection routingSettings, UrlProviderCollection urlProviders, MediaUrlProviderCollection mediaUrlProviders, IVariationContextAccessor variationContextAccessor) { if (routingSettings == null) throw new ArgumentNullException(nameof(routingSettings)); @@ -41,7 +43,7 @@ namespace Umbraco.Web.Routing } - private readonly Lazy _umbracoContextAccessor; + private readonly IUmbracoContextAccessor _umbracoContextAccessor; private readonly IEnumerable _urlProviders; private readonly IEnumerable _mediaUrlProviders; private readonly IVariationContextAccessor _variationContextAccessor; @@ -55,9 +57,9 @@ namespace Umbraco.Web.Routing #region GetUrl - private IPublishedContent GetDocument(int id) => _umbracoContextAccessor.Value.UmbracoContext.Content.GetById(id); - private IPublishedContent GetDocument(Guid id) => _umbracoContextAccessor.Value.UmbracoContext.Content.GetById(id); - private IPublishedContent GetMedia(Guid id) => _umbracoContextAccessor.Value.UmbracoContext.Media.GetById(id); + private IPublishedContent GetDocument(int id) => _umbracoContextAccessor.UmbracoContext.Content.GetById(id); + private IPublishedContent GetDocument(Guid id) => _umbracoContextAccessor.UmbracoContext.Content.GetById(id); + private IPublishedContent GetMedia(Guid id) => _umbracoContextAccessor.UmbracoContext.Media.GetById(id); /// /// Gets the url of a published content. @@ -113,7 +115,7 @@ namespace Umbraco.Web.Routing } if (current == null) - current = _umbracoContextAccessor.Value.UmbracoContext.CleanedUmbracoUrl; + current = _umbracoContextAccessor.UmbracoContext.CleanedUmbracoUrl; var url = _urlProviders.Select(provider => provider.GetUrl(content, mode, culture, current)) .FirstOrDefault(u => u != null); @@ -125,7 +127,7 @@ namespace Umbraco.Web.Routing var provider = _urlProviders.OfType().FirstOrDefault(); var url = provider == null ? route // what else? - : provider.GetUrlFromRoute(route, _umbracoContextAccessor.Value.UmbracoContext, id, _umbracoContextAccessor.Value.UmbracoContext.CleanedUmbracoUrl, Mode, culture)?.Text; + : provider.GetUrlFromRoute(route, _umbracoContextAccessor.UmbracoContext, id, _umbracoContextAccessor.UmbracoContext.CleanedUmbracoUrl, Mode, culture)?.Text; return url ?? "#"; } @@ -145,7 +147,7 @@ namespace Umbraco.Web.Routing /// public IEnumerable GetOtherUrls(int id) { - return GetOtherUrls(id, _umbracoContextAccessor.Value.UmbracoContext.CleanedUmbracoUrl); + return GetOtherUrls(id, _umbracoContextAccessor.UmbracoContext.CleanedUmbracoUrl); } /// @@ -214,7 +216,7 @@ namespace Umbraco.Web.Routing } if (current == null) - current = _umbracoContextAccessor.Value.UmbracoContext.CleanedUmbracoUrl; + current = _umbracoContextAccessor.UmbracoContext.CleanedUmbracoUrl; var url = _mediaUrlProviders.Select(provider => provider.GetMediaUrl(content, propertyAlias, mode, culture, current))