Merge remote-tracking branch 'origin/6.2.0' into 7.1.0-installer

Conflicts:
	src/Umbraco.Tests/MockTests.cs
	src/Umbraco.Web/UmbracoContext.cs
This commit is contained in:
Shannon
2014-03-03 04:17:40 +01:00
3 changed files with 82 additions and 33 deletions

View File

@@ -1,3 +1,4 @@
using System;
using System.Collections.Generic;
using Umbraco.Web.PublishedCache;
@@ -9,6 +10,10 @@ namespace Umbraco.Web.Routing
/// </summary>
public class RoutingContext
{
private readonly Lazy<UrlProvider> _urlProvider;
private readonly Lazy<IEnumerable<IContentFinder>> _publishedContentFinders;
private readonly Lazy<IContentFinder> _publishedContentLastChanceFinder;
/// <summary>
/// Initializes a new instance of the <see cref="RoutingContext"/> class.
/// </summary>
@@ -23,9 +28,21 @@ namespace Umbraco.Web.Routing
UrlProvider urlProvider)
{
UmbracoContext = umbracoContext;
PublishedContentFinders = contentFinders;
PublishedContentLastChanceFinder = contentLastChanceFinder;
UrlProvider = urlProvider;
_publishedContentFinders = new Lazy<IEnumerable<IContentFinder>>(() => contentFinders, false);
_publishedContentLastChanceFinder = new Lazy<IContentFinder>(() => contentLastChanceFinder, false);
_urlProvider = new Lazy<UrlProvider>(() => urlProvider, false);
}
internal RoutingContext(
UmbracoContext umbracoContext,
Lazy<IEnumerable<IContentFinder>> contentFinders,
Lazy<IContentFinder> contentLastChanceFinder,
Lazy<UrlProvider> urlProvider)
{
UmbracoContext = umbracoContext;
_publishedContentFinders = contentFinders;
_publishedContentLastChanceFinder = contentLastChanceFinder;
_urlProvider = urlProvider;
}
/// <summary>
@@ -33,19 +50,28 @@ namespace Umbraco.Web.Routing
/// </summary>
public UmbracoContext UmbracoContext { get; private set; }
/// <summary>
/// Gets the published content finders.
/// </summary>
internal IEnumerable<IContentFinder> PublishedContentFinders { get; private set; }
/// <summary>
/// Gets the published content finders.
/// </summary>
internal IEnumerable<IContentFinder> PublishedContentFinders
{
get { return _publishedContentFinders.Value; }
}
/// <summary>
/// Gets the published content last chance finder.
/// </summary>
internal IContentFinder PublishedContentLastChanceFinder { get; private set; }
/// <summary>
/// Gets the published content last chance finder.
/// </summary>
internal IContentFinder PublishedContentLastChanceFinder
{
get { return _publishedContentLastChanceFinder.Value; }
}
/// <summary>
/// Gets the urls provider.
/// </summary>
public UrlProvider UrlProvider { get; private set; }
/// <summary>
/// Gets the urls provider.
/// </summary>
public UrlProvider UrlProvider
{
get { return _urlProvider.Value; }
}
}
}