V14: Deleted code marked as obsolete for V14 (#15998)

* Obsoletions related to Delivery API

* Fix TypeLoader and TypeFinder tests

* Remove obsolete and default implementations of IFileSource and IFileTypeCollection

* More Delivery API related obsoletions

* VariationContextAccessor related

* ValueFactories obsoletion and fix references

* ValueSetBuilders obsoletions

* ValueConverters obsoletions

* Other obsolete ctors and methods

* Forgotten VariationContextAccessor obsoletion

* More obsoletions

* XPath related obsoletions

* Revert XmlHelper changes

* Delete RenamedRootNavigator and its tests

* Fix test

* XmlHelper obsoletion

* Return null instead of GetXPathValue

* Obsolete entire class instead

* Remove XPath obsoletions from IPublishedCache

* Remove XPath-related if-block that is no longer needed

* Change obsolete msg for classes needed for NuCache

* Moving classes to NuCache and making them internal

* Remove more XPath-related obsoletions

* Remove NavigableNavigator and its tests

* Cleanup

* Remove Xpath references from tests

* Revert interface deletion in MediaCache

* Using XOR operation

Co-authored-by: Nuklon <Nuklon@users.noreply.github.com>

---------

Co-authored-by: Nuklon <Nuklon@users.noreply.github.com>
This commit is contained in:
Elitsa Marinovska
2024-04-09 09:06:48 +02:00
committed by GitHub
parent 187d45860a
commit 9c18cd22e0
103 changed files with 86 additions and 4751 deletions

View File

@@ -4,9 +4,7 @@
using System.Text;
using System.Xml;
using System.Xml.Linq;
using System.Xml.XPath;
using Umbraco.Cms.Core;
using Umbraco.Cms.Core.Xml;
namespace Umbraco.Extensions;
@@ -18,208 +16,6 @@ public static class XmlExtensions
public static bool HasAttribute(this XmlAttributeCollection attributes, string attributeName) =>
attributes.Cast<XmlAttribute>().Any(x => x.Name == attributeName);
/// <summary>
/// Selects a list of XmlNode matching an XPath expression.
/// </summary>
/// <param name="source">A source XmlNode.</param>
/// <param name="expression">An XPath expression.</param>
/// <param name="variables">A set of XPathVariables.</param>
/// <returns>The list of XmlNode matching the XPath expression.</returns>
/// <remarks>
/// <para>
/// If
/// <paramref name="variables" />
/// is <c>null</c>, or is empty, or contains only one single
/// value which itself is <c>null</c>, then variables are ignored.
/// </para>
/// <para>The XPath expression should reference variables as <c>$var</c>.</para>
/// </remarks>
[Obsolete("The current implementation of XPath is suboptimal and will be removed entirely in a future version. Scheduled for removal in v14")]
public static XmlNodeList? SelectNodes(this XmlNode source, string expression, IEnumerable<XPathVariable>? variables)
{
XPathVariable[]? av = variables?.ToArray();
return SelectNodes(source, expression, av);
}
/// <summary>
/// Selects a list of XmlNode matching an XPath expression.
/// </summary>
/// <param name="source">A source XmlNode.</param>
/// <param name="expression">An XPath expression.</param>
/// <param name="variables">A set of XPathVariables.</param>
/// <returns>The list of XmlNode matching the XPath expression.</returns>
/// <remarks>
/// <para>
/// If
/// <paramref name="variables" />
/// is <c>null</c>, or is empty, or contains only one single
/// value which itself is <c>null</c>, then variables are ignored.
/// </para>
/// <para>The XPath expression should reference variables as <c>$var</c>.</para>
/// </remarks>
[Obsolete("The current implementation of XPath is suboptimal and will be removed entirely in a future version. Scheduled for removal in v14")]
public static XmlNodeList? SelectNodes(this XmlNode source, XPathExpression expression, IEnumerable<XPathVariable>? variables)
{
XPathVariable[]? av = variables?.ToArray();
return SelectNodes(source, expression, av);
}
/// <summary>
/// Selects a list of XmlNode matching an XPath expression.
/// </summary>
/// <param name="source">A source XmlNode.</param>
/// <param name="expression">An XPath expression.</param>
/// <param name="variables">A set of XPathVariables.</param>
/// <returns>The list of XmlNode matching the XPath expression.</returns>
/// <remarks>
/// <para>
/// If
/// <paramref name="variables" />
/// is <c>null</c>, or is empty, or contains only one single
/// value which itself is <c>null</c>, then variables are ignored.
/// </para>
/// <para>The XPath expression should reference variables as <c>$var</c>.</para>
/// </remarks>
[Obsolete("The current implementation of XPath is suboptimal and will be removed entirely in a future version. Scheduled for removal in v14")]
public static XmlNodeList? SelectNodes(this XmlNode source, string? expression, params XPathVariable[]? variables)
{
if (variables == null || variables.Length == 0 || variables[0] == null)
{
return source.SelectNodes(expression ?? string.Empty);
}
XPathNodeIterator? iterator = source.CreateNavigator()?.Select(expression ?? string.Empty, variables);
return XmlNodeListFactory.CreateNodeList(iterator);
}
/// <summary>
/// Selects a list of XmlNode matching an XPath expression.
/// </summary>
/// <param name="source">A source XmlNode.</param>
/// <param name="expression">An XPath expression.</param>
/// <param name="variables">A set of XPathVariables.</param>
/// <returns>The list of XmlNode matching the XPath expression.</returns>
/// <remarks>
/// <para>
/// If
/// <paramref name="variables" />
/// is <c>null</c>, or is empty, or contains only one single
/// value which itself is <c>null</c>, then variables are ignored.
/// </para>
/// <para>The XPath expression should reference variables as <c>$var</c>.</para>
/// </remarks>
[Obsolete("The current implementation of XPath is suboptimal and will be removed entirely in a future version. Scheduled for removal in v14")]
public static XmlNodeList SelectNodes(this XmlNode source, XPathExpression expression, params XPathVariable[]? variables)
{
if (variables == null || variables.Length == 0 || variables[0] == null)
{
return source.SelectNodes(expression);
}
XPathNodeIterator? iterator = source.CreateNavigator()?.Select(expression, variables);
return XmlNodeListFactory.CreateNodeList(iterator);
}
/// <summary>
/// Selects the first XmlNode that matches an XPath expression.
/// </summary>
/// <param name="source">A source XmlNode.</param>
/// <param name="expression">An XPath expression.</param>
/// <param name="variables">A set of XPathVariables.</param>
/// <returns>The first XmlNode that matches the XPath expression.</returns>
/// <remarks>
/// <para>
/// If
/// <paramref name="variables" />
/// is <c>null</c>, or is empty, or contains only one single
/// value which itself is <c>null</c>, then variables are ignored.
/// </para>
/// <para>The XPath expression should reference variables as <c>$var</c>.</para>
/// </remarks>
[Obsolete("The current implementation of XPath is suboptimal and will be removed entirely in a future version. Scheduled for removal in v14")]
public static XmlNode? SelectSingleNode(this XmlNode source, string expression, IEnumerable<XPathVariable>? variables)
{
XPathVariable[]? av = variables?.ToArray();
return SelectSingleNode(source, expression, av);
}
/// <summary>
/// Selects the first XmlNode that matches an XPath expression.
/// </summary>
/// <param name="source">A source XmlNode.</param>
/// <param name="expression">An XPath expression.</param>
/// <param name="variables">A set of XPathVariables.</param>
/// <returns>The first XmlNode that matches the XPath expression.</returns>
/// <remarks>
/// <para>
/// If
/// <paramref name="variables" />
/// is <c>null</c>, or is empty, or contains only one single
/// value which itself is <c>null</c>, then variables are ignored.
/// </para>
/// <para>The XPath expression should reference variables as <c>$var</c>.</para>
/// </remarks>
[Obsolete("The current implementation of XPath is suboptimal and will be removed entirely in a future version. Scheduled for removal in v14")]
public static XmlNode? SelectSingleNode(this XmlNode source, XPathExpression expression, IEnumerable<XPathVariable>? variables)
{
XPathVariable[]? av = variables?.ToArray();
return SelectSingleNode(source, expression, av);
}
/// <summary>
/// Selects the first XmlNode that matches an XPath expression.
/// </summary>
/// <param name="source">A source XmlNode.</param>
/// <param name="expression">An XPath expression.</param>
/// <param name="variables">A set of XPathVariables.</param>
/// <returns>The first XmlNode that matches the XPath expression.</returns>
/// <remarks>
/// <para>
/// If
/// <paramref name="variables" />
/// is <c>null</c>, or is empty, or contains only one single
/// value which itself is <c>null</c>, then variables are ignored.
/// </para>
/// <para>The XPath expression should reference variables as <c>$var</c>.</para>
/// </remarks>
[Obsolete("The current implementation of XPath is suboptimal and will be removed entirely in a future version. Scheduled for removal in v14")]
public static XmlNode? SelectSingleNode(this XmlNode source, string expression, params XPathVariable[]? variables)
{
if (variables == null || variables.Length == 0 || variables[0] == null)
{
return source.SelectSingleNode(expression);
}
return SelectNodes(source, expression, variables)?.Cast<XmlNode>().FirstOrDefault();
}
/// <summary>
/// Selects the first XmlNode that matches an XPath expression.
/// </summary>
/// <param name="source">A source XmlNode.</param>
/// <param name="expression">An XPath expression.</param>
/// <param name="variables">A set of XPathVariables.</param>
/// <returns>The first XmlNode that matches the XPath expression.</returns>
/// <remarks>
/// <para>
/// If
/// <paramref name="variables" />
/// is <c>null</c>, or is empty, or contains only one single
/// value which itself is <c>null</c>, then variables are ignored.
/// </para>
/// <para>The XPath expression should reference variables as <c>$var</c>.</para>
/// </remarks>
[Obsolete("The current implementation of XPath is suboptimal and will be removed entirely in a future version. Scheduled for removal in v14")]
public static XmlNode? SelectSingleNode(this XmlNode source, XPathExpression expression, params XPathVariable[]? variables)
{
if (variables == null || variables.Length == 0 || variables[0] == null)
{
return source.SelectSingleNode(expression);
}
return SelectNodes(source, expression, variables).Cast<XmlNode>().FirstOrDefault();
}
/// <summary>
/// Converts from an XDocument to an XmlDocument
/// </summary>