This commit is contained in:
Bjarke Berg
2020-02-17 10:07:18 +01:00
parent f2b1558cb1
commit e7e4dc8441
14 changed files with 23 additions and 37 deletions

View File

@@ -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<IUmbracoContextAccessor>(() => umbracoContextAccessor),
umbracoContextAccessor,
TestHelper.WebRoutingSection,
new UrlProviderCollection(new []{urlProvider}),
new MediaUrlProviderCollection(Enumerable.Empty<IMediaUrlProvider>()),
@@ -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<IUmbracoContextAccessor>(() => umbracoContextAccessor),
umbracoContextAccessor,
TestHelper.WebRoutingSection,
new UrlProviderCollection(new []{urlProvider}),
new MediaUrlProviderCollection(Enumerable.Empty<IMediaUrlProvider>()),

View File

@@ -152,7 +152,7 @@ namespace Umbraco.Tests.Routing
private IPublishedUrlProvider GetPublishedUrlProvider(IUmbracoContext umbracoContext)
{
return new UrlProvider(
new Lazy<IUmbracoContextAccessor>(() => new TestUmbracoContextAccessor(umbracoContext)),
new TestUmbracoContextAccessor(umbracoContext),
TestHelper.WebRoutingSection,
new UrlProviderCollection(Enumerable.Empty<IUrlProvider>()),
new MediaUrlProviderCollection(new []{_mediaUrlProvider}),

View File

@@ -102,7 +102,7 @@ namespace Umbraco.Tests.Routing
private IPublishedUrlProvider GetPublishedUrlProvider(IUmbracoContext umbracoContext, DefaultUrlProvider urlProvider)
{
return new UrlProvider(
new Lazy<IUmbracoContextAccessor>(() => new TestUmbracoContextAccessor(umbracoContext)),
new TestUmbracoContextAccessor(umbracoContext),
TestHelper.WebRoutingSection,
new UrlProviderCollection(new []{urlProvider}),
new MediaUrlProviderCollection(Enumerable.Empty<IMediaUrlProvider>()),

View File

@@ -409,7 +409,7 @@ namespace Umbraco.Tests.Routing
private IPublishedUrlProvider GetPublishedUrlProvider(IUmbracoContext umbracoContext, DefaultUrlProvider urlProvider)
{
return new UrlProvider(
new Lazy<IUmbracoContextAccessor>(() => new TestUmbracoContextAccessor(umbracoContext)),
new TestUmbracoContextAccessor(umbracoContext),
TestHelper.WebRoutingSection,
new UrlProviderCollection(new []{urlProvider}),
new MediaUrlProviderCollection(Enumerable.Empty<IMediaUrlProvider>()),

View File

@@ -98,7 +98,7 @@ namespace Umbraco.Tests.Routing
private IPublishedUrlProvider GetPublishedUrlProvider(IUmbracoContext umbracoContext, DefaultUrlProvider urlProvider)
{
return new UrlProvider(
new Lazy<IUmbracoContextAccessor>(() => new TestUmbracoContextAccessor(umbracoContext)),
new TestUmbracoContextAccessor(umbracoContext),
TestHelper.WebRoutingSection,
new UrlProviderCollection(new []{urlProvider}),
new MediaUrlProviderCollection(Enumerable.Empty<IMediaUrlProvider>()),

View File

@@ -77,7 +77,7 @@ namespace Umbraco.Tests.Templates
umbracoContextAccessor: umbracoContextAccessor);
var publishedUrlProvider = new UrlProvider(new Lazy<IUmbracoContextAccessor>(() => umbracoContextAccessor),
var publishedUrlProvider = new UrlProvider(umbracoContextAccessor,
TestHelper.WebRoutingSection,
new UrlProviderCollection(Enumerable.Empty<IUrlProvider>()),
new MediaUrlProviderCollection(new []{mediaUrlProvider.Object}),

View File

@@ -72,7 +72,7 @@ namespace Umbraco.Tests.Templates
var umbracoContextFactory = TestUmbracoContextFactory.Create(
umbracoContextAccessor: umbracoContextAccessor);
var publishedUrlProvider = new UrlProvider(new Lazy<IUmbracoContextAccessor>(() => umbracoContextAccessor),
var publishedUrlProvider = new UrlProvider(umbracoContextAccessor,
TestHelper.WebRoutingSection,
new UrlProviderCollection(new []{contentUrlProvider.Object}),
new MediaUrlProviderCollection(new []{mediaUrlProvider.Object}),

View File

@@ -86,7 +86,7 @@ namespace Umbraco.Tests.Testing.TestingTests
var urlProvider = urlProviderMock.Object;
var theUrlProvider = new UrlProvider(
new Lazy<IUmbracoContextAccessor>(() => new TestUmbracoContextAccessor(umbracoContext)),
new TestUmbracoContextAccessor(umbracoContext),
TestHelper.WebRoutingSection,
new UrlProviderCollection(new [] { urlProvider }),
new MediaUrlProviderCollection( Enumerable.Empty<IMediaUrlProvider>())

View File

@@ -302,7 +302,7 @@ namespace Umbraco.Tests.Testing
Composition.RegisterUnique<IPublishedValueFallback, NoopPublishedValueFallback>();
Composition.RegisterUnique<IPublishedUrlProvider>(factory =>
new UrlProvider(
new Lazy<IUmbracoContextAccessor>(() => factory.GetInstance<IUmbracoContextAccessor>()),
factory.GetInstance<IUmbracoContextAccessor>(),
TestObjects.GetUmbracoSettings().WebRouting,
new UrlProviderCollection(Enumerable.Empty<IUrlProvider>()),
new MediaUrlProviderCollection(Enumerable.Empty<IMediaUrlProvider>()),

View File

@@ -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
/// </summary>
/// <returns></returns>
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,

View File

@@ -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;

View File

@@ -1,5 +1,4 @@
using System;
using Umbraco.Core.Composing;
using Umbraco.Core.Models.PublishedContent;
using Umbraco.Core.PropertyEditors;

View File

@@ -1,6 +1,7 @@
using System;
using Umbraco.Core.Models.PublishedContent;
namespace Umbraco.Web.Routing
{
/// <summary>

View File

@@ -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
/// <param name="urlProviders">The list of url providers.</param>
/// <param name="mediaUrlProviders">The list of media url providers.</param>
/// <param name="variationContextAccessor">The current variation accessor.</param>
public UrlProvider(Lazy<IUmbracoContextAccessor> umbracoContextAccessor, IWebRoutingSection routingSettings, UrlProviderCollection urlProviders, MediaUrlProviderCollection mediaUrlProviders, IVariationContextAccessor variationContextAccessor)
/// <param name="propertyEditorCollection"></param>
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<IUmbracoContextAccessor> _umbracoContextAccessor;
private readonly IUmbracoContextAccessor _umbracoContextAccessor;
private readonly IEnumerable<IUrlProvider> _urlProviders;
private readonly IEnumerable<IMediaUrlProvider> _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);
/// <summary>
/// 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<DefaultUrlProvider>().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
/// </remarks>
public IEnumerable<UrlInfo> GetOtherUrls(int id)
{
return GetOtherUrls(id, _umbracoContextAccessor.Value.UmbracoContext.CleanedUmbracoUrl);
return GetOtherUrls(id, _umbracoContextAccessor.UmbracoContext.CleanedUmbracoUrl);
}
/// <summary>
@@ -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))