From 28da44f0de368b26603c1041b1ebe7760a9429c2 Mon Sep 17 00:00:00 2001 From: Stephan Date: Sun, 18 May 2014 21:23:09 +0200 Subject: [PATCH] Refactor PublishedContentModelFactory --- .../PublishedContentExtended.cs | 2 +- ...=> PublishedContentExtensionsForModels.cs} | 40 +++++++++---------- src/Umbraco.Core/Umbraco.Core.csproj | 2 +- .../PublishedContentTestElements.cs | 2 +- .../PublishedContent/PublishedContentTests.cs | 2 +- .../PublishedContentCache.cs | 4 +- .../XmlPublishedCache/PublishedMediaCache.cs | 4 +- .../XmlPublishedCache/XmlPublishedContent.cs | 6 +-- 8 files changed, 31 insertions(+), 31 deletions(-) rename src/Umbraco.Core/Models/PublishedContent/{PublishedContentModelFactory.cs => PublishedContentExtensionsForModels.cs} (81%) diff --git a/src/Umbraco.Core/Models/PublishedContent/PublishedContentExtended.cs b/src/Umbraco.Core/Models/PublishedContent/PublishedContentExtended.cs index da445ebec1..d26cb9a390 100644 --- a/src/Umbraco.Core/Models/PublishedContent/PublishedContentExtended.cs +++ b/src/Umbraco.Core/Models/PublishedContent/PublishedContentExtended.cs @@ -51,7 +51,7 @@ namespace Umbraco.Core.Models.PublishedContent // a model, and then that model has to inherit from PublishedContentExtended, // => implements the internal IPublishedContentExtended. - var model = PublishedContentModelFactory.CreateModel(content); + var model = content.CreateModel2(); var extended = model == content // == means the factory did not create a model ? new PublishedContentExtended(content) // so we have to extend : model; // else we can use what the factory returned diff --git a/src/Umbraco.Core/Models/PublishedContent/PublishedContentModelFactory.cs b/src/Umbraco.Core/Models/PublishedContent/PublishedContentExtensionsForModels.cs similarity index 81% rename from src/Umbraco.Core/Models/PublishedContent/PublishedContentModelFactory.cs rename to src/Umbraco.Core/Models/PublishedContent/PublishedContentExtensionsForModels.cs index c661c22b7a..effc7918d5 100644 --- a/src/Umbraco.Core/Models/PublishedContent/PublishedContentModelFactory.cs +++ b/src/Umbraco.Core/Models/PublishedContent/PublishedContentExtensionsForModels.cs @@ -1,20 +1,20 @@ -namespace Umbraco.Core.Models.PublishedContent -{ - /// - /// Provides strongly typed published content models services. - /// - public static class PublishedContentModelFactory - { - /// - /// Creates a strongly typed published content model for an internal published content. - /// - /// The internal published content. - /// The strongly typed published content model. - public static IPublishedContent CreateModel(IPublishedContent content) - { - return PublishedContentModelFactoryResolver.Current.HasValue - ? PublishedContentModelFactoryResolver.Current.Factory.CreateModel(content) - : content; - } - } -} +namespace Umbraco.Core.Models.PublishedContent +{ + /// + /// Provides strongly typed published content models services. + /// + internal static class PublishedContentExtensionsForModels + { + /// + /// Creates a strongly typed published content model for an internal published content. + /// + /// The internal published content. + /// The strongly typed published content model. + public static IPublishedContent CreateModel(this IPublishedContent content) + { + return PublishedContentModelFactoryResolver.Current.HasValue + ? PublishedContentModelFactoryResolver.Current.Factory.CreateModel(content) + : content; + } + } +} diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj index 6931fa1c84..9303cf3f0d 100644 --- a/src/Umbraco.Core/Umbraco.Core.csproj +++ b/src/Umbraco.Core/Umbraco.Core.csproj @@ -441,7 +441,7 @@ - + diff --git a/src/Umbraco.Tests/PublishedContent/PublishedContentTestElements.cs b/src/Umbraco.Tests/PublishedContent/PublishedContentTestElements.cs index 4474a72484..d1ea696244 100644 --- a/src/Umbraco.Tests/PublishedContent/PublishedContentTestElements.cs +++ b/src/Umbraco.Tests/PublishedContent/PublishedContentTestElements.cs @@ -32,7 +32,7 @@ namespace Umbraco.Tests.PublishedContent public void Add(SolidPublishedContent content) { - _content[content.Id] = PublishedContentModelFactory.CreateModel(content); + _content[content.Id] = content.CreateModel2(); } public void Clear() diff --git a/src/Umbraco.Tests/PublishedContent/PublishedContentTests.cs b/src/Umbraco.Tests/PublishedContent/PublishedContentTests.cs index 4a4a9e188c..9e842c382b 100644 --- a/src/Umbraco.Tests/PublishedContent/PublishedContentTests.cs +++ b/src/Umbraco.Tests/PublishedContent/PublishedContentTests.cs @@ -221,7 +221,7 @@ namespace Umbraco.Tests.PublishedContent var doc = GetNode(1173); var items = doc.Children - .Select(PublishedContentModelFactory.CreateModel) // linq, returns IEnumerable + .Select(x => x.CreateModel2()) // linq, returns IEnumerable // only way around this is to make sure every IEnumerable extension // explicitely returns a PublishedContentSet, not an IEnumerable diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedContentCache.cs b/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedContentCache.cs index fe074cf58c..298b6f3e46 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedContentCache.cs +++ b/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedContentCache.cs @@ -242,13 +242,13 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache { return xmlNode == null ? null - : PublishedContentModelFactory.CreateModel(new XmlPublishedContent(xmlNode, isPreviewing)); + : (new XmlPublishedContent(xmlNode, isPreviewing)).CreateModel2(); } private static IEnumerable ConvertToDocuments(XmlNodeList xmlNodes, bool isPreviewing) { return xmlNodes.Cast() - .Select(xmlNode => PublishedContentModelFactory.CreateModel(new XmlPublishedContent(xmlNode, isPreviewing))); + .Select(xmlNode => (new XmlPublishedContent(xmlNode, isPreviewing)).CreateModel2()); } #endregion diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedMediaCache.cs b/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedMediaCache.cs index badbe39773..91b4a205bc 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedMediaCache.cs +++ b/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedMediaCache.cs @@ -255,7 +255,7 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache d => GetChildrenMedia(d.Id), GetProperty, true); - return PublishedContentModelFactory.CreateModel(content); + return content.CreateModel2(); } internal IPublishedContent ConvertFromXPathNavigator(XPathNavigator xpath) @@ -314,7 +314,7 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache d => GetChildrenMedia(d.Id, xpath), GetProperty, false); - return PublishedContentModelFactory.CreateModel(content); + return content.CreateModel2(); } /// diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlPublishedContent.cs b/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlPublishedContent.cs index 49874888c3..db7f49e731 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlPublishedContent.cs +++ b/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlPublishedContent.cs @@ -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 = PublishedContentModelFactory.CreateModel(new XmlPublishedContent(parent, _isPreviewing, true)); + _parent = (new XmlPublishedContent(parent, _isPreviewing, true)).CreateModel2(); } private void Initialize() @@ -439,8 +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(PublishedContentModelFactory.CreateModel( - new XmlPublishedContent(((IHasXmlNode)iterator.Current).GetNode(), _isPreviewing, true))); + _children.Add( + (new XmlPublishedContent(((IHasXmlNode)iterator.Current).GetNode(), _isPreviewing, true)).CreateModel2()); // warn: this is not thread-safe _childrenInitialized = true;