From 2b34f1d72cf4096a3a323b1042907b9d9d7e2a47 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Thu, 26 Oct 2023 14:37:18 +0200 Subject: [PATCH] Update NotFoundActivity display text + description (#4578) --- .../Extensions/ActivityPropertyExtensions.cs | 28 ++++++++++++++++--- .../Converters/ActivityJsonConverter.cs | 2 ++ 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/modules/Elsa.Workflows.Core/Extensions/ActivityPropertyExtensions.cs b/src/modules/Elsa.Workflows.Core/Extensions/ActivityPropertyExtensions.cs index 195da6705..7bc994c79 100644 --- a/src/modules/Elsa.Workflows.Core/Extensions/ActivityPropertyExtensions.cs +++ b/src/modules/Elsa.Workflows.Core/Extensions/ActivityPropertyExtensions.cs @@ -26,15 +26,15 @@ public static class ActivityPropertyExtensions /// /// Gets a flag indicating if this activity should execute synchronously or asynchronously. - /// By default, activities with an of , or - /// will execute synchronously, while activities of the kind will execute asynchronously. + /// By default, activities with an of , or + /// will execute synchronously, while activities of the kind will execute asynchronously. /// public static bool GetRunAsynchronously(this IActivity activity) => activity.CustomProperties.GetValueOrDefault(RunAsynchronouslyPropertyName, () => false); /// /// Sets a flag indicating if this activity should execute synchronously or asynchronously. - /// By default, activities with an of , or - /// will execute synchronously, while activities of the kind will execute asynchronously. + /// By default, activities with an of , or + /// will execute synchronously, while activities of the kind will execute asynchronously. /// public static void SetRunAsynchronously(this IActivity activity, bool value) => activity.CustomProperties[RunAsynchronouslyPropertyName[0]] = value; @@ -59,4 +59,24 @@ public static class ActivityPropertyExtensions var source = $"{Path.GetFileName(sourceFile)}:{lineNumber}"; activity.SetSource(source); } + + /// + /// Gets the display text for the specified activity. + /// + public static string? GetDisplayText(this IActivity activity) => activity.Metadata.TryGetValue("displayText", out var value) ? value.ToString() : default; + + /// + /// Sets the display text for the specified activity. + /// + public static void SetDisplayText(this IActivity activity, string value) => activity.Metadata["displayText"] = value; + + /// + /// Gets the description for the specified activity. + /// + public static string? GetDescription(this IActivity activity) => activity.Metadata.TryGetValue("description", out var value) ? value.ToString() : default; + + /// + /// Sets the description for the specified activity. + /// + public static void SetDescription(this IActivity activity, string value) => activity.Metadata["description"] = value; } \ No newline at end of file diff --git a/src/modules/Elsa.Workflows.Management/Serialization/Converters/ActivityJsonConverter.cs b/src/modules/Elsa.Workflows.Management/Serialization/Converters/ActivityJsonConverter.cs index db9935138..7c7e49951 100644 --- a/src/modules/Elsa.Workflows.Management/Serialization/Converters/ActivityJsonConverter.cs +++ b/src/modules/Elsa.Workflows.Management/Serialization/Converters/ActivityJsonConverter.cs @@ -72,6 +72,8 @@ public class ActivityJsonConverter : JsonConverter notFoundActivity.MissingTypeName = activityTypeName; notFoundActivity.MissingTypeVersion = activityTypeVersion; notFoundActivity.OriginalActivityJson = activityRoot.ToString(); + notFoundActivity.SetDisplayText($"Not Found: {activityTypeName}"); + notFoundActivity.SetDescription($"Could not find activity type {activityTypeName} with version {activityTypeVersion}"); return notFoundActivity; }