From fed592d39dfcaf2293972e4d38eadf1f95123106 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 9 Jul 2018 16:21:14 +0200 Subject: [PATCH] Reverted to netstandard --- .../HandleRules/RuleEventFormatter.cs | 27 ++++++++++--------- ...Squidex.Domain.Apps.Core.Operations.csproj | 2 +- ...quidex.Domain.Apps.Entities.MongoDb.csproj | 2 +- .../Squidex.Domain.Apps.Entities.csproj | 2 +- tools/Migrate_01/Migrate_01.csproj | 2 +- 5 files changed, 19 insertions(+), 16 deletions(-) diff --git a/src/Squidex.Domain.Apps.Core.Operations/HandleRules/RuleEventFormatter.cs b/src/Squidex.Domain.Apps.Core.Operations/HandleRules/RuleEventFormatter.cs index c724565b8..778210249 100644 --- a/src/Squidex.Domain.Apps.Core.Operations/HandleRules/RuleEventFormatter.cs +++ b/src/Squidex.Domain.Apps.Core.Operations/HandleRules/RuleEventFormatter.cs @@ -22,9 +22,11 @@ namespace Squidex.Domain.Apps.Core.HandleRules public class RuleEventFormatter { private const string Undefined = "UNDEFINED"; - private static readonly Regex ContentDataPlaceholder = new Regex(@"^CONTENT_DATA(\.([0-9A-Za-z\-_]*)){2,}", RegexOptions.Compiled); - private static readonly Regex ContentDataPlaceholder2 = new Regex(@"^\{CONTENT_DATA(\.([0-9A-Za-z\-_]*)){2,}\}", RegexOptions.Compiled); - private readonly List<(string Pattern, Func Replacer)> patterns = new List<(string Pattern, Func Replacer)>(); + private static readonly char[] ContentPlaceholderStartOld = "CONTENT_DATA".ToCharArray(); + private static readonly char[] ContentPlaceholderStartNew = "{CONTENT_DATA".ToCharArray(); + private static readonly Regex ContentDataPlaceholderOld = new Regex(@"^CONTENT_DATA(\.([0-9A-Za-z\-_]*)){2,}", RegexOptions.Compiled); + private static readonly Regex ContentDataPlaceholderNew = new Regex(@"^\{CONTENT_DATA(\.([0-9A-Za-z\-_]*)){2,}\}", RegexOptions.Compiled); + private readonly List<(char[] Pattern, Func Replacer)> patterns = new List<(char[] Pattern, Func Replacer)>(); private readonly JsonSerializer serializer; private readonly IRuleUrlGenerator urlGenerator; @@ -50,7 +52,7 @@ namespace Squidex.Domain.Apps.Core.HandleRules private void AddPattern(string placeholder, Func generator) { - patterns.Add((placeholder, generator)); + patterns.Add((placeholder.ToCharArray(), generator)); } public virtual JObject ToPayload(T @event) @@ -77,13 +79,16 @@ namespace Squidex.Domain.Apps.Core.HandleRules var sb = new StringBuilder(); + var cp2 = new ReadOnlySpan(ContentPlaceholderStartNew); + var cp1 = new ReadOnlySpan(ContentPlaceholderStartOld); + for (var i = 0; i < current.Length; i++) { var c = current[i]; if (c == '$') { - sb.Append(current.Slice(0, i)); + sb.Append(current.Slice(0, i).ToString()); current = current.Slice(i); @@ -106,17 +111,15 @@ namespace Squidex.Domain.Apps.Core.HandleRules } } - if (!tested && - (test.StartsWith("CONTENT_DATA", StringComparison.OrdinalIgnoreCase) || - test.StartsWith("{CONTENT_DATA", StringComparison.OrdinalIgnoreCase))) + if (!tested && (test.StartsWith(cp1, StringComparison.OrdinalIgnoreCase) || test.StartsWith(cp2, StringComparison.OrdinalIgnoreCase))) { - var currentString = new string(test); + var currentString = test.ToString(); - var match = ContentDataPlaceholder.Match(currentString); + var match = ContentDataPlaceholderOld.Match(currentString); if (!match.Success) { - match = ContentDataPlaceholder2.Match(currentString); + match = ContentDataPlaceholderNew.Match(currentString); } if (match.Success) @@ -137,7 +140,7 @@ namespace Squidex.Domain.Apps.Core.HandleRules } } - sb.Append(current); + sb.Append(current.ToString()); return sb.ToString(); } diff --git a/src/Squidex.Domain.Apps.Core.Operations/Squidex.Domain.Apps.Core.Operations.csproj b/src/Squidex.Domain.Apps.Core.Operations/Squidex.Domain.Apps.Core.Operations.csproj index 0e58fe9d8..97df564a6 100644 --- a/src/Squidex.Domain.Apps.Core.Operations/Squidex.Domain.Apps.Core.Operations.csproj +++ b/src/Squidex.Domain.Apps.Core.Operations/Squidex.Domain.Apps.Core.Operations.csproj @@ -1,6 +1,6 @@  - netcoreapp2.1 + netstandard2.0 Squidex.Domain.Apps.Core diff --git a/src/Squidex.Domain.Apps.Entities.MongoDb/Squidex.Domain.Apps.Entities.MongoDb.csproj b/src/Squidex.Domain.Apps.Entities.MongoDb/Squidex.Domain.Apps.Entities.MongoDb.csproj index e3f6ab718..55b585e99 100644 --- a/src/Squidex.Domain.Apps.Entities.MongoDb/Squidex.Domain.Apps.Entities.MongoDb.csproj +++ b/src/Squidex.Domain.Apps.Entities.MongoDb/Squidex.Domain.Apps.Entities.MongoDb.csproj @@ -1,6 +1,6 @@  - netcoreapp2.1 + netstandard2.0 full diff --git a/src/Squidex.Domain.Apps.Entities/Squidex.Domain.Apps.Entities.csproj b/src/Squidex.Domain.Apps.Entities/Squidex.Domain.Apps.Entities.csproj index b2186ae40..9a624c05e 100644 --- a/src/Squidex.Domain.Apps.Entities/Squidex.Domain.Apps.Entities.csproj +++ b/src/Squidex.Domain.Apps.Entities/Squidex.Domain.Apps.Entities.csproj @@ -1,6 +1,6 @@  - netcoreapp2.1 + netstandard2.0 full diff --git a/tools/Migrate_01/Migrate_01.csproj b/tools/Migrate_01/Migrate_01.csproj index 371f76a9b..9eb80b036 100644 --- a/tools/Migrate_01/Migrate_01.csproj +++ b/tools/Migrate_01/Migrate_01.csproj @@ -1,6 +1,6 @@  - netcoreapp2.1 + netstandard2.0