From ecaf551c99eae9b093af4964ec4e5a6aae6dd559 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Tue, 1 Jan 2019 22:29:51 +0100 Subject: [PATCH] Added generic overloads --- .../Handlers/ForEachHandler.cs | 2 +- .../Handlers/IfElseHandler.cs | 2 +- .../Handlers/ActivityHandlerBase.cs | 20 ++++++++++--------- .../Handlers/UnknownActivityHandler.cs | 2 +- 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/activities/Elsa.Activities.Primitives/Handlers/ForEachHandler.cs b/src/activities/Elsa.Activities.Primitives/Handlers/ForEachHandler.cs index 5bc1845ae..e8bf82af4 100644 --- a/src/activities/Elsa.Activities.Primitives/Handlers/ForEachHandler.cs +++ b/src/activities/Elsa.Activities.Primitives/Handlers/ForEachHandler.cs @@ -24,7 +24,7 @@ namespace Elsa.Activities.Primitives.Handlers public override LocalizedString Description => T["Iterate over a list of items."]; public IStringLocalizer T { get; } - public override IEnumerable GetEndpoints() => Endpoints(T["Next"], T["Done"]); + protected override IEnumerable GetEndpoints() => Endpoints(T["Next"], T["Done"]); protected override async Task OnExecuteAsync(ForEach activity, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) { diff --git a/src/activities/Elsa.Activities.Primitives/Handlers/IfElseHandler.cs b/src/activities/Elsa.Activities.Primitives/Handlers/IfElseHandler.cs index 8e3bb89b2..647255d0a 100644 --- a/src/activities/Elsa.Activities.Primitives/Handlers/IfElseHandler.cs +++ b/src/activities/Elsa.Activities.Primitives/Handlers/IfElseHandler.cs @@ -24,7 +24,7 @@ namespace Elsa.Activities.Primitives.Handlers public override LocalizedString Description => T["Evaluate a boolean condition and continues execution based on the outcome."]; public IStringLocalizer T { get; } - public override IEnumerable GetEndpoints() => Endpoints(T["True"], T["False"]); + protected override IEnumerable GetEndpoints() => Endpoints(T["True"], T["False"]); protected override async Task OnExecuteAsync(IfElse activity, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) { diff --git a/src/core/Elsa.Abstractions/Handlers/ActivityHandlerBase.cs b/src/core/Elsa.Abstractions/Handlers/ActivityHandlerBase.cs index 26610fc40..200632060 100644 --- a/src/core/Elsa.Abstractions/Handlers/ActivityHandlerBase.cs +++ b/src/core/Elsa.Abstractions/Handlers/ActivityHandlerBase.cs @@ -16,25 +16,27 @@ namespace Elsa.Handlers public virtual LocalizedString DisplayText => new LocalizedString(ActivityType.Name, ActivityType.Name); public virtual LocalizedString Description => new LocalizedString("", ""); public Task CanExecuteAsync(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) => OnCanExecuteAsync(activityContext, workflowContext, cancellationToken); - public Task ExecuteAsync(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) => OnExecuteAsync(activityContext, workflowContext, cancellationToken); + public Task ExecuteAsync(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) => OnExecuteAsync(activityContext, workflowContext, cancellationToken); public Task ResumeAsync(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) => OnResumeAsync(activityContext, workflowContext, cancellationToken); - protected virtual Task OnCanExecuteAsync(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) => OnCanExecuteAsync((T)activityContext.Activity, workflowContext, cancellationToken); + protected virtual Task OnCanExecuteAsync(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) => OnCanExecuteAsync((T) activityContext.Activity, workflowContext, cancellationToken); protected virtual Task OnCanExecuteAsync(T activity, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) => Task.FromResult(OnCanExecute(activity, workflowContext)); - protected virtual Task OnExecuteAsync(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) => OnExecuteAsync((T)activityContext.Activity, workflowContext, cancellationToken); + protected virtual Task OnExecuteAsync(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) => OnExecuteAsync((T) activityContext.Activity, workflowContext, cancellationToken); protected virtual Task OnExecuteAsync(T activity, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) => Task.FromResult(OnExecute(activity, workflowContext)); protected virtual Task OnResumeAsync(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) => Task.FromResult(OnResume(activityContext, workflowContext)); protected virtual Task OnResumeAsync(T activity, WorkflowExecutionContext workflowContext, CancellationToken cancellationToken) => Task.FromResult(OnResume(activity, workflowContext)); - protected virtual bool OnCanExecute(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext) => OnCanExecute((T)activityContext.Activity, workflowContext); + protected virtual bool OnCanExecute(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext) => OnCanExecute((T) activityContext.Activity, workflowContext); protected virtual bool OnCanExecute(T activity, WorkflowExecutionContext workflowContext) => true; - protected virtual ActivityExecutionResult OnExecute(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext) => OnExecute((T)activityContext.Activity, workflowContext); + protected virtual ActivityExecutionResult OnExecute(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext) => OnExecute((T) activityContext.Activity, workflowContext); protected virtual ActivityExecutionResult OnExecute(T activity, WorkflowExecutionContext workflowContext) => Noop(); - protected virtual ActivityExecutionResult OnResume(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext) => OnResume((T)activityContext.Activity, workflowContext); + protected virtual ActivityExecutionResult OnResume(ActivityExecutionContext activityContext, WorkflowExecutionContext workflowContext) => OnResume((T) activityContext.Activity, workflowContext); protected virtual ActivityExecutionResult OnResume(T activity, WorkflowExecutionContext workflowContext) => Noop(); protected NoopResult Noop() => new NoopResult(); protected IEnumerable Endpoints(params LocalizedString[] endpoints) => endpoints; - public virtual IEnumerable GetEndpoints(IActivity activity) => Endpoints(); - public virtual IEnumerable GetEndpoints() => Endpoints(GetEndpoint()); - protected virtual LocalizedString GetEndpoint(IActivity activity) => GetEndpoint(); + public virtual IEnumerable GetEndpoints(IActivity activity) => GetEndpoints((T) activity); + protected virtual IEnumerable GetEndpoints(T activity) => Endpoints(GetEndpoint()); + protected virtual IEnumerable GetEndpoints() => Endpoints(GetEndpoint()); + protected virtual LocalizedString GetEndpoint(IActivity activity) => GetEndpoint((T) activity); + protected virtual LocalizedString GetEndpoint(T activity) => GetEndpoint(); protected virtual LocalizedString GetEndpoint() => new LocalizedString("Done", "Done", true); } } \ No newline at end of file diff --git a/src/core/Elsa.Core/Handlers/UnknownActivityHandler.cs b/src/core/Elsa.Core/Handlers/UnknownActivityHandler.cs index 3f7a1dc0d..0b22574d9 100644 --- a/src/core/Elsa.Core/Handlers/UnknownActivityHandler.cs +++ b/src/core/Elsa.Core/Handlers/UnknownActivityHandler.cs @@ -16,7 +16,7 @@ namespace Elsa.Handlers public IStringLocalizer T { get; } public override LocalizedString Category => T["System"]; - public override IEnumerable GetEndpoints() => Enumerable.Empty(); + protected override IEnumerable GetEndpoints() => Enumerable.Empty(); protected override ActivityExecutionResult OnExecute(UnknownActivity activity, WorkflowExecutionContext workflowContext) {