diff --git a/src/Umbraco.Tests.Benchmarks/Umbraco.Tests.Benchmarks.csproj b/src/Umbraco.Tests.Benchmarks/Umbraco.Tests.Benchmarks.csproj index 233da0d14b..48d69cf757 100644 --- a/src/Umbraco.Tests.Benchmarks/Umbraco.Tests.Benchmarks.csproj +++ b/src/Umbraco.Tests.Benchmarks/Umbraco.Tests.Benchmarks.csproj @@ -61,7 +61,6 @@ - diff --git a/src/Umbraco.Tests.Benchmarks/XmlPublishedContentInitBenchmarks.cs b/src/Umbraco.Tests.Benchmarks/XmlPublishedContentInitBenchmarks.cs deleted file mode 100644 index bc18b97d47..0000000000 --- a/src/Umbraco.Tests.Benchmarks/XmlPublishedContentInitBenchmarks.cs +++ /dev/null @@ -1,311 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Xml; -using BenchmarkDotNet.Attributes; -using Moq; -using Umbraco.Core; -using Umbraco.Core.Logging; -using Umbraco.Core.Models; -using Umbraco.Core.Models.PublishedContent; -using Umbraco.Core.PropertyEditors; -using Umbraco.Core.Services; -using Umbraco.Tests.Benchmarks.Config; -using Umbraco.Web.PublishedCache.XmlPublishedCache; - -namespace Umbraco.Tests.Benchmarks -{ - [QuickRunWithMemoryDiagnoserConfig] - public class XmlPublishedContentInitBenchmarks - { - public XmlPublishedContentInitBenchmarks() - { - _xml10 = Build(10); - _xml100 = Build(100); - _xml1000 = Build(1000); - _xml10000 = Build(10000); - } - - private readonly string[] _intAttributes = { "id", "parentID", "nodeType", "level", "writerID", "creatorID", "template", "sortOrder", "isDoc", "isDraft" }; - private readonly string[] _strAttributes = { "nodeName", "urlName", "writerName", "creatorName", "path" }; - private readonly string[] _dateAttributes = { "createDate", "updateDate" }; - private readonly string[] _guidAttributes = { "key", "version" }; - - private XmlDocument Build(int children) - { - var xml = new XmlDocument(); - var root = Build(xml, "Home", 10); - for (int i = 0; i < children; i++) - { - var child = Build(xml, "child" + i, 10); - root.AppendChild(child); - } - xml.AppendChild(root); - return xml; - } - - private XmlElement Build(XmlDocument xml, string name, int propertyCount) - { - var random = new Random(); - var content = xml.CreateElement(name); - foreach (var p in _intAttributes) - { - var a = xml.CreateAttribute(p); - a.Value = random.Next(1, 9).ToInvariantString(); - content.Attributes.Append(a); - } - foreach (var p in _strAttributes) - { - var a = xml.CreateAttribute(p); - a.Value = Guid.NewGuid().ToString(); - content.Attributes.Append(a); - } - foreach (var p in _guidAttributes) - { - var a = xml.CreateAttribute(p); - a.Value = Guid.NewGuid().ToString(); - content.Attributes.Append(a); - } - foreach (var p in _dateAttributes) - { - var a = xml.CreateAttribute(p); - a.Value = DateTime.Now.ToString("o"); - content.Attributes.Append(a); - } - - for (int i = 0; i < propertyCount; i++) - { - var prop = xml.CreateElement("prop" + i); - var cdata = xml.CreateCDataSection(string.Join("", Enumerable.Range(0, 10).Select(x => Guid.NewGuid().ToString()))); - prop.AppendChild(cdata); - content.AppendChild(prop); - } - - return content; - } - - private readonly XmlDocument _xml10; - private readonly XmlDocument _xml100; - private readonly XmlDocument _xml1000; - private readonly XmlDocument _xml10000; - - //out props - int id, nodeType, level, writerId, creatorId, template, sortOrder; - Guid key, version; - string name, urlName, writerName, creatorName, docTypeAlias, path; - bool isDraft; - bool isPublished; - DateTime createDate, updateDate; - PublishedContentType publishedContentType; - Dictionary properties; - - [Benchmark(Baseline = true, OperationsPerInvoke = 10)] - public void Original_10_Children() - { - OriginalInitializeNode(_xml10.DocumentElement, false, false, - out id, out key, out template, out sortOrder, out name, out writerName, out urlName, - out creatorName, out creatorId, out writerId, out docTypeAlias, out nodeType, out path, - out version, out createDate, out updateDate, out level, out isDraft, out isPublished, out publishedContentType, - out properties); - } - - [Benchmark(OperationsPerInvoke = 10)] - public void Original_100_Children() - { - OriginalInitializeNode(_xml100.DocumentElement, false, false, - out id, out key, out template, out sortOrder, out name, out writerName, out urlName, - out creatorName, out creatorId, out writerId, out docTypeAlias, out nodeType, out path, - out version, out createDate, out updateDate, out level, out isDraft, out isPublished, out publishedContentType, - out properties); - } - - [Benchmark(OperationsPerInvoke = 10)] - public void Original_1000_Children() - { - OriginalInitializeNode(_xml1000.DocumentElement, false, false, - out id, out key, out template, out sortOrder, out name, out writerName, out urlName, - out creatorName, out creatorId, out writerId, out docTypeAlias, out nodeType, out path, - out version, out createDate, out updateDate, out level, out isDraft, out isPublished, out publishedContentType, - out properties); - } - - [Benchmark(OperationsPerInvoke = 10)] - public void Original_10000_Children() - { - OriginalInitializeNode(_xml10000.DocumentElement, false, false, - out id, out key, out template, out sortOrder, out name, out writerName, out urlName, - out creatorName, out creatorId, out writerId, out docTypeAlias, out nodeType, out path, - out version, out createDate, out updateDate, out level, out isDraft, out isPublished, out publishedContentType, - out properties); - } - - [Benchmark(OperationsPerInvoke = 10)] - public void Enhanced_10_Children() - { - XmlPublishedContent.InitializeNode(null, _xml10.DocumentElement, false, - out id, out key, out template, out sortOrder, out name, out writerName, out urlName, - out creatorName, out creatorId, out writerId, out docTypeAlias, out nodeType, out path, - out createDate, out updateDate, out level, out isDraft, out publishedContentType, - out properties, GetPublishedContentType); - } - - [Benchmark(OperationsPerInvoke = 10)] - public void Enhanced_100_Children() - { - XmlPublishedContent.InitializeNode(null, _xml100.DocumentElement, false, - out id, out key, out template, out sortOrder, out name, out writerName, out urlName, - out creatorName, out creatorId, out writerId, out docTypeAlias, out nodeType, out path, - out createDate, out updateDate, out level, out isDraft, out publishedContentType, - out properties, GetPublishedContentType); - } - - [Benchmark(OperationsPerInvoke = 10)] - public void Enhanced_1000_Children() - { - XmlPublishedContent.InitializeNode(null, _xml1000.DocumentElement, false, - out id, out key, out template, out sortOrder, out name, out writerName, out urlName, - out creatorName, out creatorId, out writerId, out docTypeAlias, out nodeType, out path, - out createDate, out updateDate, out level, out isDraft,out publishedContentType, - out properties, GetPublishedContentType); - } - - [Benchmark(OperationsPerInvoke = 10)] - public void Enhanced_10000_Children() - { - XmlPublishedContent.InitializeNode(null, _xml10000.DocumentElement, false, - out id, out key, out template, out sortOrder, out name, out writerName, out urlName, - out creatorName, out creatorId, out writerId, out docTypeAlias, out nodeType, out path, - out createDate, out updateDate, out level, out isDraft,out publishedContentType, - out properties, GetPublishedContentType); - } - - - internal static void OriginalInitializeNode(XmlNode xmlNode, bool legacy, bool isPreviewing, - out int id, out Guid key, out int template, out int sortOrder, out string name, out string writerName, out string urlName, - out string creatorName, out int creatorId, out int writerId, out string docTypeAlias, out int docTypeId, out string path, - out Guid version, out DateTime createDate, out DateTime updateDate, out int level, out bool isDraft, out bool isPublished, - out PublishedContentType contentType, out Dictionary properties) - { - //initialize the out params with defaults: - writerName = null; - docTypeAlias = null; - id = template = sortOrder = template = creatorId = writerId = docTypeId = level = default(int); - key = version = default(Guid); - name = writerName = urlName = creatorName = docTypeAlias = path = null; - createDate = updateDate = default(DateTime); - isDraft = false; - isPublished = true; - contentType = null; - properties = null; - - //return if this is null - if (xmlNode == null) - { - return; - } - - if (xmlNode.Attributes != null) - { - id = int.Parse(xmlNode.Attributes.GetNamedItem("id").Value); - if (xmlNode.Attributes.GetNamedItem("key") != null) // because, migration - key = Guid.Parse(xmlNode.Attributes.GetNamedItem("key").Value); - if (xmlNode.Attributes.GetNamedItem("template") != null) - template = int.Parse(xmlNode.Attributes.GetNamedItem("template").Value); - if (xmlNode.Attributes.GetNamedItem("sortOrder") != null) - sortOrder = int.Parse(xmlNode.Attributes.GetNamedItem("sortOrder").Value); - if (xmlNode.Attributes.GetNamedItem("nodeName") != null) - name = xmlNode.Attributes.GetNamedItem("nodeName").Value; - if (xmlNode.Attributes.GetNamedItem("writerName") != null) - writerName = xmlNode.Attributes.GetNamedItem("writerName").Value; - if (xmlNode.Attributes.GetNamedItem("urlName") != null) - urlName = xmlNode.Attributes.GetNamedItem("urlName").Value; - // Creatorname is new in 2.1, so published xml might not have it! - try - { - creatorName = xmlNode.Attributes.GetNamedItem("creatorName").Value; - } - catch - { - creatorName = writerName; - } - - //Added the actual userID, as a user cannot be looked up via full name only... - if (xmlNode.Attributes.GetNamedItem("creatorID") != null) - creatorId = int.Parse(xmlNode.Attributes.GetNamedItem("creatorID").Value); - if (xmlNode.Attributes.GetNamedItem("writerID") != null) - writerId = int.Parse(xmlNode.Attributes.GetNamedItem("writerID").Value); - - if (legacy) - { - if (xmlNode.Attributes.GetNamedItem("nodeTypeAlias") != null) - docTypeAlias = xmlNode.Attributes.GetNamedItem("nodeTypeAlias").Value; - } - else - { - docTypeAlias = xmlNode.Name; - } - - if (xmlNode.Attributes.GetNamedItem("nodeType") != null) - docTypeId = int.Parse(xmlNode.Attributes.GetNamedItem("nodeType").Value); - if (xmlNode.Attributes.GetNamedItem("path") != null) - path = xmlNode.Attributes.GetNamedItem("path").Value; - if (xmlNode.Attributes.GetNamedItem("version") != null) - version = new Guid(xmlNode.Attributes.GetNamedItem("version").Value); - if (xmlNode.Attributes.GetNamedItem("createDate") != null) - createDate = DateTime.Parse(xmlNode.Attributes.GetNamedItem("createDate").Value); - if (xmlNode.Attributes.GetNamedItem("updateDate") != null) - updateDate = DateTime.Parse(xmlNode.Attributes.GetNamedItem("updateDate").Value); - if (xmlNode.Attributes.GetNamedItem("level") != null) - level = int.Parse(xmlNode.Attributes.GetNamedItem("level").Value); - - isDraft = (xmlNode.Attributes.GetNamedItem("isDraft") != null); - } - - // load data - - var dataXPath = legacy ? "data" : "* [not(@isDoc)]"; - var nodes = xmlNode.SelectNodes(dataXPath); - - contentType = GetPublishedContentType(PublishedItemType.Content, docTypeAlias); - - var propertyNodes = new Dictionary(); - if (nodes != null) - foreach (XmlNode n in nodes) - { - var attrs = n.Attributes; - if (attrs == null) continue; - var alias = legacy - ? attrs.GetNamedItem("alias").Value - : n.Name; - propertyNodes[alias.ToLowerInvariant()] = n; - } - properties = contentType.PropertyTypes.Select(p => - { - XmlNode n; - return propertyNodes.TryGetValue(p.Alias.ToLowerInvariant(), out n) - ? new XmlPublishedProperty(p, null, isPreviewing, n) - : new XmlPublishedProperty(p, null, isPreviewing); - }).Cast().ToDictionary( - x => x.Alias, - x => x, - StringComparer.OrdinalIgnoreCase); - } - - private static PublishedContentType GetPublishedContentType(PublishedItemType type, string alias) - { - var dataType = new DataType(new VoidEditor(Mock.Of())) { Id = 1 }; - - var dataTypeService = Mock.Of(); - Mock.Get(dataTypeService) - .Setup(x => x.GetDataType(It.IsAny())) - .Returns(id => id == 1 ? dataType : null); - Mock.Get(dataTypeService) - .Setup(x => x.GetAll()) - .Returns(new[] { dataType }); - - var factory = new PublishedContentTypeFactory(Mock.Of(), new PropertyValueConverterCollection(Array.Empty()), dataTypeService); - return factory.CreateContentType(0, alias, new string[] {}, - new List(Enumerable.Range(0, 10).Select(x => factory.CreatePropertyType("prop" + x, 1)))); - } - } -} diff --git a/src/Umbraco.Tests/Cache/PublishedCache/PublishedContentCacheTests.cs b/src/Umbraco.Tests/Cache/PublishedCache/PublishedContentCacheTests.cs index e868e32b07..87ec4215ac 100644 --- a/src/Umbraco.Tests/Cache/PublishedCache/PublishedContentCacheTests.cs +++ b/src/Umbraco.Tests/Cache/PublishedCache/PublishedContentCacheTests.cs @@ -7,12 +7,12 @@ using Umbraco.Core.Composing; using Umbraco.Core.Configuration; using Umbraco.Core.Configuration.UmbracoSettings; using Umbraco.Core.Services; +using Umbraco.Tests.LegacyXmlPublishedCache; using Umbraco.Tests.TestHelpers; using Umbraco.Tests.Testing; using Umbraco.Tests.Testing.Objects.Accessors; using Umbraco.Web; using Umbraco.Web.PublishedCache; -using Umbraco.Web.PublishedCache.XmlPublishedCache; using Umbraco.Web.Routing; using Umbraco.Web.Security; @@ -66,7 +66,7 @@ namespace Umbraco.Tests.Cache.PublishedCache var xmlStore = new XmlStore(() => _xml, null, null, null); var appCache = new DictionaryAppCache(); var domainCache = new DomainCache(ServiceContext.DomainService, DefaultCultureAccessor); - var publishedShapshot = new Umbraco.Web.PublishedCache.XmlPublishedCache.PublishedSnapshot( + var publishedShapshot = new PublishedSnapshot( new PublishedContentCache(xmlStore, domainCache, appCache, globalSettings, new SiteDomainHelper(), umbracoContextAccessor, ContentTypesCache, null, null), new PublishedMediaCache(xmlStore, ServiceContext.MediaService, ServiceContext.UserService, appCache, ContentTypesCache, Factory.GetInstance(), umbracoContextAccessor), new PublishedMemberCache(null, appCache, Current.Services.MemberService, ContentTypesCache, umbracoContextAccessor), diff --git a/src/Umbraco.Tests/Cache/PublishedCache/PublishedMediaCacheTests.cs b/src/Umbraco.Tests/Cache/PublishedCache/PublishedMediaCacheTests.cs index 07a6a6ee82..08eeb8ef4d 100644 --- a/src/Umbraco.Tests/Cache/PublishedCache/PublishedMediaCacheTests.cs +++ b/src/Umbraco.Tests/Cache/PublishedCache/PublishedMediaCacheTests.cs @@ -10,12 +10,12 @@ using Umbraco.Core.Composing; using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.Strings; using Umbraco.Tests.TestHelpers; -using Umbraco.Web.PublishedCache.XmlPublishedCache; using Umbraco.Tests.Testing; using Current = Umbraco.Web.Composing.Current; using Umbraco.Core.Models; using Umbraco.Core.Models.Membership; using Umbraco.Core.Services; +using Umbraco.Tests.LegacyXmlPublishedCache; using Umbraco.Tests.PublishedContent; using Umbraco.Web; diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/DictionaryPublishedContent.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/DictionaryPublishedContent.cs similarity index 99% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/DictionaryPublishedContent.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/DictionaryPublishedContent.cs index 74043a9519..d3cbf1f183 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/DictionaryPublishedContent.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/DictionaryPublishedContent.cs @@ -8,10 +8,12 @@ using Umbraco.Core; using Umbraco.Core.Cache; using Umbraco.Core.Logging; using Umbraco.Core.Models.PublishedContent; +using Umbraco.Web; using Umbraco.Web.Composing; using Umbraco.Web.Models; +using Umbraco.Web.PublishedCache; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { /// /// An IPublishedContent that is represented all by a dictionary. diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/DomainCache.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/DomainCache.cs similarity index 94% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/DomainCache.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/DomainCache.cs index 4571e9d42b..cde2077551 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/DomainCache.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/DomainCache.cs @@ -1,11 +1,12 @@ using System.Collections.Generic; using System.Globalization; using System.Linq; -using Umbraco.Web.Routing; using Umbraco.Core; using Umbraco.Core.Services; +using Umbraco.Web.PublishedCache; +using Umbraco.Web.Routing; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { internal class DomainCache : IDomainCache { diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PreviewContent.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/PreviewContent.cs similarity index 99% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/PreviewContent.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/PreviewContent.cs index 515fb96679..84b6f2b91c 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PreviewContent.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/PreviewContent.cs @@ -7,7 +7,7 @@ using Umbraco.Core.IO; using Umbraco.Core.Logging; using Umbraco.Web.Composing; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { class PreviewContent { diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedContentCache.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedContentCache.cs similarity index 99% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedContentCache.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedContentCache.cs index 6fd9f1da2b..51c6668913 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedContentCache.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedContentCache.cs @@ -1,17 +1,19 @@ using System; using System.Collections.Generic; using System.Globalization; +using System.Linq; using System.Xml; using System.Xml.XPath; -using Umbraco.Core.Configuration; using Umbraco.Core; +using Umbraco.Core.Cache; +using Umbraco.Core.Configuration; using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.Xml; +using Umbraco.Web; +using Umbraco.Web.PublishedCache; using Umbraco.Web.Routing; -using System.Linq; -using Umbraco.Core.Cache; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { internal class PublishedContentCache : PublishedCacheBase, IPublishedContentCache { diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedMediaCache.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedMediaCache.cs similarity index 99% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedMediaCache.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedMediaCache.cs index 7f9a21d24b..8cfc06c501 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedMediaCache.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedMediaCache.cs @@ -6,21 +6,21 @@ using System.Linq; using System.Threading; using System.Xml.XPath; using Examine; -using Examine.Providers; using Examine.Search; using Lucene.Net.Store; using Umbraco.Core; +using Umbraco.Core.Cache; using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.PublishedContent; +using Umbraco.Core.Services; using Umbraco.Core.Xml; using Umbraco.Examine; -using Umbraco.Core.Cache; -using Umbraco.Core.Services; -using Umbraco.Core.Services.Implement; +using Umbraco.Web; using Umbraco.Web.Composing; +using Umbraco.Web.PublishedCache; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { /// /// An IPublishedMediaStore that first checks for the media in Examine, and then reverts to the database diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedMemberCache.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedMemberCache.cs similarity index 98% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedMemberCache.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedMemberCache.cs index db6d85fb2d..c882488f20 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedMemberCache.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedMemberCache.cs @@ -6,9 +6,11 @@ using Umbraco.Core.Models; using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.Security; using Umbraco.Core.Services; +using Umbraco.Web; +using Umbraco.Web.PublishedCache; using Umbraco.Web.Security; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { class PublishedMemberCache : IPublishedMemberCache { diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedSnapshot.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedSnapshot.cs similarity index 95% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedSnapshot.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedSnapshot.cs index b9243309a2..bfef187371 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedSnapshot.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedSnapshot.cs @@ -1,8 +1,9 @@ using System; using Umbraco.Core; using Umbraco.Core.Cache; +using Umbraco.Web.PublishedCache; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { /// /// Implements a published snapshot. diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedSnapshotService.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedSnapshotService.cs similarity index 99% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedSnapshotService.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedSnapshotService.cs index d96bfd8a0a..4a201ae44c 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedSnapshotService.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedSnapshotService.cs @@ -11,11 +11,12 @@ using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.Persistence.Repositories; using Umbraco.Core.Scoping; using Umbraco.Core.Services; -using Umbraco.Core.Strings; +using Umbraco.Web; using Umbraco.Web.Cache; +using Umbraco.Web.PublishedCache; using Umbraco.Web.Routing; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { /// /// Implements a published snapshot service. diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/RoutesCache.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/RoutesCache.cs similarity index 95% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/RoutesCache.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/RoutesCache.cs index fb227fe65f..71f2f421ff 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/RoutesCache.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/RoutesCache.cs @@ -1,10 +1,7 @@ -using System; -using System.Collections.Concurrent; +using System.Collections.Concurrent; using System.Collections.Generic; -using System.Linq; -using System.Text; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { // Note: RoutesCache closely follows the caching strategy dating from v4, which // is obviously broken in many ways (eg it's a global cache but relying to some diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/SafeXmlReaderWriter.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/SafeXmlReaderWriter.cs similarity index 98% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/SafeXmlReaderWriter.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/SafeXmlReaderWriter.cs index 37a6b666d4..c0b9383b57 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/SafeXmlReaderWriter.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/SafeXmlReaderWriter.cs @@ -3,7 +3,7 @@ using System.Xml; using Umbraco.Core; using Umbraco.Core.Scoping; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { // TODO: should be a ScopeContextualBase internal class SafeXmlReaderWriter : IDisposable diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/UmbracoContextCache.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/UmbracoContextCache.cs similarity index 81% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/UmbracoContextCache.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/UmbracoContextCache.cs index 6b82a7ee3d..fc6dbe3f30 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/UmbracoContextCache.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/UmbracoContextCache.cs @@ -1,11 +1,8 @@ -using System; -using System.Collections.Concurrent; -using System.Collections.Generic; -using System.Linq; -using System.Text; +using System.Collections.Concurrent; using System.Runtime.CompilerServices; +using Umbraco.Web; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { static class UmbracoContextCache { diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlPublishedContent.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/XmlPublishedContent.cs similarity index 99% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlPublishedContent.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/XmlPublishedContent.cs index 9a4c1f239c..e1819bf0be 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlPublishedContent.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/XmlPublishedContent.cs @@ -7,10 +7,12 @@ using System.Xml.XPath; using Umbraco.Core; using Umbraco.Core.Cache; using Umbraco.Core.Models.PublishedContent; +using Umbraco.Web; using Umbraco.Web.Composing; using Umbraco.Web.Models; +using Umbraco.Web.PublishedCache; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { /// diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlPublishedProperty.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/XmlPublishedProperty.cs similarity index 98% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlPublishedProperty.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/XmlPublishedProperty.cs index 805f7d9325..0c90c8d1ff 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlPublishedProperty.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/XmlPublishedProperty.cs @@ -5,7 +5,7 @@ using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.PropertyEditors; using Umbraco.Core.Xml; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { /// diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlStore.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/XmlStore.cs similarity index 99% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlStore.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/XmlStore.cs index 36a8334782..3fb3d40e5b 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlStore.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/XmlStore.cs @@ -12,7 +12,6 @@ using Umbraco.Core.IO; using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Persistence; -using Umbraco.Core.Persistence.DatabaseModelDefinitions; using Umbraco.Core.Persistence.Dtos; using Umbraco.Core.Persistence.Repositories; using Umbraco.Core.Persistence.Repositories.Implement; @@ -20,15 +19,15 @@ using Umbraco.Core.Scoping; using Umbraco.Core.Services; using Umbraco.Core.Services.Changes; using Umbraco.Core.Services.Implement; -using Umbraco.Core.Strings; using Umbraco.Core.Xml; using Umbraco.Web.Cache; using Umbraco.Web.Composing; +using Umbraco.Web.PublishedCache; using Umbraco.Web.Scheduling; using File = System.IO.File; using Task = System.Threading.Tasks.Task; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { /// /// Represents the Xml storage for the Xml published cache. diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlStoreFilePersister.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/XmlStoreFilePersister.cs similarity index 98% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlStoreFilePersister.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/XmlStoreFilePersister.cs index 83d25d3e49..145a19872a 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlStoreFilePersister.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/XmlStoreFilePersister.cs @@ -1,11 +1,10 @@ using System; using System.Threading; -using System.Threading.Tasks; using Umbraco.Core; using Umbraco.Core.Logging; using Umbraco.Web.Scheduling; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { /// /// This is the background task runner that persists the xml file to the file system diff --git a/src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs b/src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs index bc1d8c2b70..a9022554c9 100644 --- a/src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs +++ b/src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs @@ -8,7 +8,6 @@ using Umbraco.Tests.TestHelpers; using Umbraco.Tests.TestHelpers.Entities; using Umbraco.Tests.UmbracoExamine; using Umbraco.Web; -using Umbraco.Web.PublishedCache.XmlPublishedCache; using System.Linq; using System.Threading; using System.Xml; @@ -23,6 +22,7 @@ using Umbraco.Core.Composing; using Umbraco.Core.Models.Membership; using Umbraco.Core.PropertyEditors; using Umbraco.Core.Services; +using Umbraco.Tests.LegacyXmlPublishedCache; namespace Umbraco.Tests.PublishedContent { diff --git a/src/Umbraco.Tests/Routing/RoutesCacheTests.cs b/src/Umbraco.Tests/Routing/RoutesCacheTests.cs index 76c2a45ab2..46af27c56e 100644 --- a/src/Umbraco.Tests/Routing/RoutesCacheTests.cs +++ b/src/Umbraco.Tests/Routing/RoutesCacheTests.cs @@ -4,9 +4,9 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using NUnit.Framework; +using Umbraco.Tests.LegacyXmlPublishedCache; using Umbraco.Tests.TestHelpers; using Umbraco.Tests.Testing; -using Umbraco.Web.PublishedCache.XmlPublishedCache; namespace Umbraco.Tests.Routing { diff --git a/src/Umbraco.Tests/Routing/UrlProviderTests.cs b/src/Umbraco.Tests/Routing/UrlProviderTests.cs index f223f2fbea..34a038cffe 100644 --- a/src/Umbraco.Tests/Routing/UrlProviderTests.cs +++ b/src/Umbraco.Tests/Routing/UrlProviderTests.cs @@ -9,11 +9,11 @@ using Umbraco.Core.Composing; using Umbraco.Core.Configuration; using Umbraco.Core.Models; using Umbraco.Core.Models.PublishedContent; +using Umbraco.Tests.LegacyXmlPublishedCache; using Umbraco.Tests.TestHelpers; using Umbraco.Tests.TestHelpers.Stubs; using Umbraco.Tests.Testing; using Umbraco.Web.PublishedCache; -using Umbraco.Web.PublishedCache.XmlPublishedCache; using Umbraco.Web.Routing; namespace Umbraco.Tests.Routing diff --git a/src/Umbraco.Tests/Routing/UrlRoutesTests.cs b/src/Umbraco.Tests/Routing/UrlRoutesTests.cs index 4928cd01dc..a794e226f1 100644 --- a/src/Umbraco.Tests/Routing/UrlRoutesTests.cs +++ b/src/Umbraco.Tests/Routing/UrlRoutesTests.cs @@ -4,9 +4,9 @@ using NUnit.Framework; using Umbraco.Core.Composing; using Umbraco.Core.Configuration; using Umbraco.Core.Models; +using Umbraco.Tests.LegacyXmlPublishedCache; using Umbraco.Tests.TestHelpers; using Umbraco.Tests.Testing; -using Umbraco.Web.PublishedCache.XmlPublishedCache; namespace Umbraco.Tests.Routing { diff --git a/src/Umbraco.Tests/Routing/UrlsProviderWithDomainsTests.cs b/src/Umbraco.Tests/Routing/UrlsProviderWithDomainsTests.cs index dc9a52835b..be654b4a09 100644 --- a/src/Umbraco.Tests/Routing/UrlsProviderWithDomainsTests.cs +++ b/src/Umbraco.Tests/Routing/UrlsProviderWithDomainsTests.cs @@ -8,8 +8,8 @@ using Umbraco.Core.Composing; using Umbraco.Core.Configuration; using Umbraco.Core.Models; using Umbraco.Core.Services; +using Umbraco.Tests.LegacyXmlPublishedCache; using Umbraco.Tests.TestHelpers; -using Umbraco.Web.PublishedCache.XmlPublishedCache; using Umbraco.Web.Routing; namespace Umbraco.Tests.Routing diff --git a/src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs b/src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs index bb06ff894b..3d3533697c 100644 --- a/src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs +++ b/src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs @@ -6,9 +6,9 @@ using Umbraco.Core.Composing; using Umbraco.Core.Configuration; using Umbraco.Core.Models; using Umbraco.Tests.TestHelpers; -using Umbraco.Web.PublishedCache.XmlPublishedCache; using Umbraco.Web.Routing; using Umbraco.Core.Services; +using Umbraco.Tests.LegacyXmlPublishedCache; namespace Umbraco.Tests.Routing { diff --git a/src/Umbraco.Tests/Scoping/ScopedXmlTests.cs b/src/Umbraco.Tests/Scoping/ScopedXmlTests.cs index 11479ea3eb..f1fd0c592b 100644 --- a/src/Umbraco.Tests/Scoping/ScopedXmlTests.cs +++ b/src/Umbraco.Tests/Scoping/ScopedXmlTests.cs @@ -12,11 +12,11 @@ using Umbraco.Core.Models; using Umbraco.Core.Services; using Umbraco.Core.Services.Implement; using Umbraco.Core.Sync; +using Umbraco.Tests.LegacyXmlPublishedCache; using Umbraco.Tests.TestHelpers; using Umbraco.Tests.Testing; using Umbraco.Web.Cache; using Umbraco.Web.PublishedCache; -using Umbraco.Web.PublishedCache.XmlPublishedCache; namespace Umbraco.Tests.Scoping { diff --git a/src/Umbraco.Tests/TestHelpers/TestWithDatabaseBase.cs b/src/Umbraco.Tests/TestHelpers/TestWithDatabaseBase.cs index 76b163a2df..2bfc1b6dc8 100644 --- a/src/Umbraco.Tests/TestHelpers/TestWithDatabaseBase.cs +++ b/src/Umbraco.Tests/TestHelpers/TestWithDatabaseBase.cs @@ -19,7 +19,6 @@ using Umbraco.Core.PropertyEditors; using Umbraco.Core.Services; using Umbraco.Web; using Umbraco.Web.PublishedCache; -using Umbraco.Web.PublishedCache.XmlPublishedCache; using Umbraco.Web.Security; using Umbraco.Web.Routing; using File = System.IO.File; @@ -30,6 +29,7 @@ using Umbraco.Tests.Testing; using Umbraco.Core.Migrations.Install; using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.Persistence.Repositories; +using Umbraco.Tests.LegacyXmlPublishedCache; using Umbraco.Tests.Testing.Objects.Accessors; namespace Umbraco.Tests.TestHelpers diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj index 03d0d4f8cb..8c86873e0a 100644 --- a/src/Umbraco.Tests/Umbraco.Tests.csproj +++ b/src/Umbraco.Tests/Umbraco.Tests.csproj @@ -493,6 +493,21 @@ + + + + + + + + + + + + + + + diff --git a/src/Umbraco.Tests/Web/Mvc/UmbracoViewPageTests.cs b/src/Umbraco.Tests/Web/Mvc/UmbracoViewPageTests.cs index fee18cb382..c5c8b5c77d 100644 --- a/src/Umbraco.Tests/Web/Mvc/UmbracoViewPageTests.cs +++ b/src/Umbraco.Tests/Web/Mvc/UmbracoViewPageTests.cs @@ -12,13 +12,13 @@ using Umbraco.Core.Logging; using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.Services; using Umbraco.Core.Strings; +using Umbraco.Tests.LegacyXmlPublishedCache; using Umbraco.Tests.TestHelpers; using Umbraco.Tests.Testing; using Umbraco.Tests.Testing.Objects.Accessors; using Umbraco.Web; using Umbraco.Web.Models; using Umbraco.Web.Mvc; -using Umbraco.Web.PublishedCache.XmlPublishedCache; using Umbraco.Web.Routing; using Umbraco.Web.Security; diff --git a/src/Umbraco.Web.UI.Client/src/views/dashboard/settings/xmldataintegrityreport.controller.js b/src/Umbraco.Web.UI.Client/src/views/dashboard/settings/xmldataintegrityreport.controller.js deleted file mode 100644 index bb8696aca0..0000000000 --- a/src/Umbraco.Web.UI.Client/src/views/dashboard/settings/xmldataintegrityreport.controller.js +++ /dev/null @@ -1,62 +0,0 @@ -function XmlDataIntegrityReportController($scope, umbRequestHelper, $log, $http) { - - function check(item) { - var action = item.check; - umbRequestHelper.resourcePromise( - $http.get(umbRequestHelper.getApiUrl("xmlDataIntegrityBaseUrl", action)), - 'Failed to retrieve data integrity status') - .then(function(result) { - item.checking = false; - item.invalid = result === "false"; - }); - } - - $scope.fix = function(item) { - var action = item.fix; - if (item.fix) { - if (confirm("This will cause all xml structures for this type to be rebuilt. " + - "Depending on how much content there is in your site this could take a while. " + - "It is not recommended to rebuild xml structures if they are not out of sync, during times of high website traffic " + - "or when editors are editing content.")) { - item.fixing = true; - umbRequestHelper.resourcePromise( - $http.post(umbRequestHelper.getApiUrl("xmlDataIntegrityBaseUrl", action)), - 'Failed to retrieve data integrity status') - .then(function(result) { - item.fixing = false; - item.invalid = result === "false"; - }); - } - } - } - - $scope.items = { - "contentXml": { - label: "Content in the cmsContentXml table", - checking: true, - fixing: false, - fix: "FixContentXmlTable", - check: "CheckContentXmlTable" - }, - "mediaXml": { - label: "Media in the cmsContentXml table", - checking: true, - fixing: false, - fix: "FixMediaXmlTable", - check: "CheckMediaXmlTable" - }, - "memberXml": { - label: "Members in the cmsContentXml table", - checking: true, - fixing: false, - fix: "FixMembersXmlTable", - check: "CheckMembersXmlTable" - } - }; - - for (var i in $scope.items) { - check($scope.items[i]); - } -} - -angular.module("umbraco").controller("Umbraco.Dashboard.XmlDataIntegrityReportController", XmlDataIntegrityReportController); \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/views/dashboard/settings/xmldataintegrityreport.html b/src/Umbraco.Web.UI.Client/src/views/dashboard/settings/xmldataintegrityreport.html deleted file mode 100644 index 11f1834ae4..0000000000 --- a/src/Umbraco.Web.UI.Client/src/views/dashboard/settings/xmldataintegrityreport.html +++ /dev/null @@ -1,29 +0,0 @@ -
- -

Xml Cache Data integrity

- -
- Loading... -
- -

- This checks the data integrity for the xml structures for content, media and members that are stored in the cmsContentXml table. - This does not check the data integrity of the xml cache file, only the xml structures stored in the database used to create the xml cache file. -

-
- {{value.label}} ... - Checking... - Ok - Error -
- -
-
-
-
-
- -
diff --git a/src/Umbraco.Web/Editors/BackOfficeServerVariables.cs b/src/Umbraco.Web/Editors/BackOfficeServerVariables.cs index a0f8cd6062..83bb152e0a 100644 --- a/src/Umbraco.Web/Editors/BackOfficeServerVariables.cs +++ b/src/Umbraco.Web/Editors/BackOfficeServerVariables.cs @@ -265,10 +265,6 @@ namespace Umbraco.Web.Editors "examineMgmtBaseUrl", _urlHelper.GetUmbracoApiServiceBaseUrl( controller => controller.GetIndexerDetails()) }, - { - "xmlDataIntegrityBaseUrl", _urlHelper.GetUmbracoApiServiceBaseUrl( - controller => controller.CheckContentXmlTable()) - }, { "healthCheckBaseUrl", _urlHelper.GetUmbracoApiServiceBaseUrl( controller => controller.GetAllHealthChecks()) diff --git a/src/Umbraco.Web/Editors/PublishedStatusController.cs b/src/Umbraco.Web/Editors/PublishedStatusController.cs index 937d3f3137..a6272108e9 100644 --- a/src/Umbraco.Web/Editors/PublishedStatusController.cs +++ b/src/Umbraco.Web/Editors/PublishedStatusController.cs @@ -17,9 +17,6 @@ namespace Umbraco.Web.Editors [HttpGet] public string GetPublishedStatusUrl() { - if (_publishedSnapshotService is PublishedCache.XmlPublishedCache.PublishedSnapshotService) - return "views/dashboard/settings/xmldataintegrityreport.html"; - //if (service is PublishedCache.PublishedNoCache.PublishedSnapshotService) // return "views/dashboard/developer/nocache.html"; diff --git a/src/Umbraco.Web/Editors/XmlDataIntegrityController.cs b/src/Umbraco.Web/Editors/XmlDataIntegrityController.cs deleted file mode 100644 index 4862b86f69..0000000000 --- a/src/Umbraco.Web/Editors/XmlDataIntegrityController.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System; -using System.Web.Http; -using Umbraco.Web.PublishedCache; -using Umbraco.Web.PublishedCache.XmlPublishedCache; -using Umbraco.Web.WebApi; -using Umbraco.Web.WebApi.Filters; - -namespace Umbraco.Web.Editors -{ - [ValidateAngularAntiForgeryToken] - public class XmlDataIntegrityController : UmbracoAuthorizedApiController - { - private readonly PublishedSnapshotService _publishedSnapshotService; - - public XmlDataIntegrityController(IPublishedSnapshotService publishedSnapshotService) - { - if (publishedSnapshotService == null) throw new ArgumentNullException(nameof(publishedSnapshotService)); - _publishedSnapshotService = publishedSnapshotService as PublishedSnapshotService; - if (_publishedSnapshotService == null) throw new NotSupportedException("Unsupported IPublishedSnapshotService, only the Xml one is supported."); - } - - [HttpPost] - public bool FixContentXmlTable() - { - _publishedSnapshotService.RebuildContentAndPreviewXml(); - return _publishedSnapshotService.VerifyContentAndPreviewXml(); - } - - [HttpPost] - public bool FixMediaXmlTable() - { - _publishedSnapshotService.RebuildMediaXml(); - return _publishedSnapshotService.VerifyMediaXml(); - } - - [HttpPost] - public bool FixMembersXmlTable() - { - _publishedSnapshotService.RebuildMemberXml(); - return _publishedSnapshotService.VerifyMemberXml(); - } - - [HttpGet] - public bool CheckContentXmlTable() - { - return _publishedSnapshotService.VerifyContentAndPreviewXml(); - } - - [HttpGet] - public bool CheckMediaXmlTable() - { - return _publishedSnapshotService.VerifyMediaXml(); - } - - [HttpGet] - public bool CheckMembersXmlTable() - { - return _publishedSnapshotService.VerifyMemberXml(); - } - } -} diff --git a/src/Umbraco.Web/Umbraco.Web.csproj b/src/Umbraco.Web/Umbraco.Web.csproj index 7c6cd630d1..8144056128 100755 --- a/src/Umbraco.Web/Umbraco.Web.csproj +++ b/src/Umbraco.Web/Umbraco.Web.csproj @@ -531,15 +531,6 @@ - - - - - - - - - @@ -1018,7 +1009,6 @@ - @@ -1026,8 +1016,6 @@ - - @@ -1134,10 +1122,7 @@ - - - @@ -1189,7 +1174,6 @@ Component -