From 74df45a056cd47bffbc51858eb2d4a1cdbb9fe5e Mon Sep 17 00:00:00 2001 From: Stephan Date: Tue, 5 Nov 2013 09:00:23 +0100 Subject: [PATCH] U3-3314 - refactor 4895b5a --- src/Umbraco.Core/StringExtensions.cs | 7 +++-- .../Strings/DefaultShortStringHelper.cs | 28 ------------------- .../Strings/IShortStringHelper.cs | 21 -------------- .../Strings/LegacyShortStringHelper.cs | 24 ---------------- .../WebServices/CoreStringsController.cs | 2 +- 5 files changed, 6 insertions(+), 76 deletions(-) diff --git a/src/Umbraco.Core/StringExtensions.cs b/src/Umbraco.Core/StringExtensions.cs index 65b6316ff9..a463e36bff 100644 --- a/src/Umbraco.Core/StringExtensions.cs +++ b/src/Umbraco.Core/StringExtensions.cs @@ -956,10 +956,13 @@ namespace Umbraco.Core /// Cleans a string to produce a string that can safely be used in an alias. /// /// The text to filter. + /// A value indicating that we want to camel-case the alias. /// The safe alias. - public static string ToSafeCamelAlias(this string alias) + public static string ToSafeAlias(this string alias, bool camel) { - return ShortStringHelper.CleanStringForSafeCamelAlias(alias); + var a = ShortStringHelper.CleanStringForSafeAlias(alias); + if (string.IsNullOrWhiteSpace(a) || camel == false) return a; + return char.ToLowerInvariant(a[0]) + a.Substring(1); } /// diff --git a/src/Umbraco.Core/Strings/DefaultShortStringHelper.cs b/src/Umbraco.Core/Strings/DefaultShortStringHelper.cs index 3194909329..547cf6090d 100644 --- a/src/Umbraco.Core/Strings/DefaultShortStringHelper.cs +++ b/src/Umbraco.Core/Strings/DefaultShortStringHelper.cs @@ -248,34 +248,6 @@ function validateSafeAlias(id, value, immediate, callback) {{ return CleanString(text, CleanStringType.Ascii | CleanStringType.UmbracoCase | CleanStringType.Alias); } - /// - /// Cleans a string to produce a string that can safely be used in an alias. - /// - /// The text to filter. - /// The safe alias. - /// - /// The string will be cleaned in the context of the default culture. - /// Safe aliases are Ascii only. - /// - public virtual string CleanStringForSafeCamelAlias(string text) - { - return CleanString(text, CleanStringType.Ascii | CleanStringType.CamelCase | CleanStringType.Alias); - } - - /// - /// Cleans a string, in the context of a specified culture, to produce a string that can safely be used in an alias. - /// - /// The text to filter. - /// The culture. - /// The safe alias. - /// - /// Safe aliases are Ascii only. - /// - public virtual string CleanStringForSafeCamelAlias(string text, CultureInfo culture) - { - return CleanString(text, CleanStringType.Ascii | CleanStringType.CamelCase | CleanStringType.Alias, culture); - } - /// /// Cleans a string, in the context of a specified culture, to produce a string that can safely be used in an alias. /// diff --git a/src/Umbraco.Core/Strings/IShortStringHelper.cs b/src/Umbraco.Core/Strings/IShortStringHelper.cs index b1bab9c870..d415bdba4d 100644 --- a/src/Umbraco.Core/Strings/IShortStringHelper.cs +++ b/src/Umbraco.Core/Strings/IShortStringHelper.cs @@ -31,19 +31,6 @@ namespace Umbraco.Core.Strings /// string CleanStringForSafeAlias(string text); - - /// - /// Cleans a string to produce a string that can safely be used in an alias. - /// - /// The text to filter. - /// The safe alias. - /// - /// The string will be cleaned in the context of the IShortStringHelper default culture. - /// A safe alias is [a-z][a-zA-Z0-9_]* although legacy will also accept '-', and '_' at the beginning. - /// - string CleanStringForSafeCamelAlias(string text); - - /// /// Cleans a string, in the context of a specified culture, to produce a string that can safely be used in an alias. /// @@ -52,14 +39,6 @@ namespace Umbraco.Core.Strings /// The safe alias. string CleanStringForSafeAlias(string text, CultureInfo culture); - /// - /// Cleans a string, in the context of a specified culture, to produce a string that can safely be used in an alias. - /// - /// The text to filter. - /// The culture. - /// The safe alias. - string CleanStringForSafeCamelAlias(string text, CultureInfo culture); - /// /// Cleans a string to produce a string that can safely be used in an url segment. /// diff --git a/src/Umbraco.Core/Strings/LegacyShortStringHelper.cs b/src/Umbraco.Core/Strings/LegacyShortStringHelper.cs index 70f869be54..1c780703f4 100644 --- a/src/Umbraco.Core/Strings/LegacyShortStringHelper.cs +++ b/src/Umbraco.Core/Strings/LegacyShortStringHelper.cs @@ -138,18 +138,6 @@ function isValidAlias(alias) {{ return safeString.ToString(); } - /// - /// Cleans a string to produce a string that can safely be used in an alias. - /// - /// The text to filter. - /// The safe alias. - /// The string will be cleaned in the context of invariant culture. - public string CleanStringForSafeCamelAlias(string text) - { - var t = CleanStringForSafeAlias(text); - return Char.ToLowerInvariant(t[0]) + t.Substring(1); - } - /// /// Cleans a string, in the context of the invariant culture, to produce a string that can safely be used in an alias. /// @@ -162,18 +150,6 @@ function isValidAlias(alias) {{ return CleanStringForSafeAlias(text); } - /// - /// Cleans a string, in the context of the invariant culture, to produce a string that can safely be used in an alias. - /// - /// The text to filter. - /// The culture. - /// The safe alias. - /// Legacy does not support culture contexts. - public string CleanStringForSafeCamelAlias(string text, CultureInfo culture) - { - return CleanStringForSafeCamelAlias(text); - } - /// /// Cleans a string to produce a string that can safely be used in an url segment, in the context of the invariant culture. /// diff --git a/src/Umbraco.Web/WebServices/CoreStringsController.cs b/src/Umbraco.Web/WebServices/CoreStringsController.cs index 2e5012e58c..78eb449273 100644 --- a/src/Umbraco.Web/WebServices/CoreStringsController.cs +++ b/src/Umbraco.Web/WebServices/CoreStringsController.cs @@ -22,7 +22,7 @@ namespace Umbraco.Web.WebServices { return value == null ? Json(new {error = "no value."}, JsonRequestBehavior.AllowGet) - : Json(new { alias = camelCase ? value.ToSafeCamelAlias() : value.ToSafeAlias() }, JsonRequestBehavior.AllowGet); + : Json(new { alias = value.ToSafeAlias(camelCase) }, JsonRequestBehavior.AllowGet); } [HttpGet]