PublishedContent - use PublishedContentModelFactory in XmlPublishedCache

This commit is contained in:
Stephan
2013-09-13 15:39:29 +02:00
parent 0415a31d0e
commit ac19ac7a6b
3 changed files with 13 additions and 7 deletions

View File

@@ -8,6 +8,7 @@ using System.Xml.XPath;
using Umbraco.Core.Logging;
using Umbraco.Core;
using Umbraco.Core.Models;
using Umbraco.Core.Models.PublishedContent;
using Umbraco.Core.Xml;
using Umbraco.Web.Routing;
using umbraco;
@@ -17,7 +18,6 @@ using umbraco.presentation.preview;
namespace Umbraco.Web.PublishedCache.XmlPublishedCache
{
// fixme - does not implement the content model factory
internal class PublishedContentCache : IPublishedContentCache
{
#region Routes cache
@@ -238,12 +238,15 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache
private static IPublishedContent ConvertToDocument(XmlNode xmlNode, bool isPreviewing)
{
return xmlNode == null ? null : new XmlPublishedContent(xmlNode, isPreviewing);
return xmlNode == null
? null
: PublishedContentModelFactory.CreateModel(new XmlPublishedContent(xmlNode, isPreviewing));
}
private static IEnumerable<IPublishedContent> ConvertToDocuments(XmlNodeList xmlNodes, bool isPreviewing)
{
return xmlNodes.Cast<XmlNode>().Select(xmlNode => new XmlPublishedContent(xmlNode, isPreviewing));
return xmlNodes.Cast<XmlNode>()
.Select(xmlNode => PublishedContentModelFactory.CreateModel(new XmlPublishedContent(xmlNode, isPreviewing)));
}
#endregion

View File

@@ -241,7 +241,7 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache
}
return new DictionaryPublishedContent(values,
var content = new DictionaryPublishedContent(values,
d => d.ParentId != -1 //parent should be null if -1
? GetUmbracoMedia(d.ParentId)
: null,
@@ -249,6 +249,7 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache
d => GetChildrenMedia(d.Id),
GetProperty,
true);
return PublishedContentModelFactory.CreateModel(content);
}
internal IPublishedContent ConvertFromXPathNavigator(XPathNavigator xpath)
@@ -299,7 +300,7 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache
}
}
return new DictionaryPublishedContent(values,
var content = new DictionaryPublishedContent(values,
d => d.ParentId != -1 //parent should be null if -1
? GetUmbracoMedia(d.ParentId)
: null,
@@ -307,6 +308,7 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache
d => GetChildrenMedia(d.Id, xpath),
GetProperty,
false);
return PublishedContentModelFactory.CreateModel(content);
}
/// <summary>

View File

@@ -338,7 +338,7 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache
if (parent == null) return;
if (parent.Name == "node" || (parent.Attributes != null && parent.Attributes.GetNamedItem("isDoc") != null))
_parent = new XmlPublishedContent(parent, _isPreviewing, true);
_parent = PublishedContentModelFactory.CreateModel(new XmlPublishedContent(parent, _isPreviewing, true));
}
private void Initialize()
@@ -439,7 +439,8 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache
expr.AddSort("@sortOrder", XmlSortOrder.Ascending, XmlCaseOrder.None, "", XmlDataType.Number);
var iterator = nav.Select(expr);
while (iterator.MoveNext())
_children.Add(new XmlPublishedContent(((IHasXmlNode)iterator.Current).GetNode(), _isPreviewing, true));
_children.Add(PublishedContentModelFactory.CreateModel(
new XmlPublishedContent(((IHasXmlNode)iterator.Current).GetNode(), _isPreviewing, true)));
// warn: this is not thread-safe
_childrenInitialized = true;