From 3d0aab280b34d58c5b9539e91463b2ace302b3d0 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sat, 14 Apr 2018 10:58:16 +0200 Subject: [PATCH] tasks++ --- Yavsc.Abstract/Workflow/Tasks/IExecutionData.cs | 17 +++++++++++++++++ Yavsc.Abstract/Workflow/Tasks/IMayBeFixable.cs | 9 +++++++++ .../Workflow/{ => Tasks}/IRequisition.cs | 3 +++ Yavsc.Abstract/Workflow/Tasks/ITaskMetaData.cs | 11 +++++++++++ .../Workflow/{ => Tasks}/ITaskRunner.cs | 2 +- .../Workflow/{ => Tasks}/ITaskRunnerProvider.cs | 0 .../Workflow/{ => Tasks}/TaskManager.cs | 0 7 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 Yavsc.Abstract/Workflow/Tasks/IExecutionData.cs create mode 100644 Yavsc.Abstract/Workflow/Tasks/IMayBeFixable.cs rename Yavsc.Abstract/Workflow/{ => Tasks}/IRequisition.cs (59%) create mode 100644 Yavsc.Abstract/Workflow/Tasks/ITaskMetaData.cs rename Yavsc.Abstract/Workflow/{ => Tasks}/ITaskRunner.cs (60%) rename Yavsc.Abstract/Workflow/{ => Tasks}/ITaskRunnerProvider.cs (100%) rename Yavsc.Abstract/Workflow/{ => Tasks}/TaskManager.cs (100%) diff --git a/Yavsc.Abstract/Workflow/Tasks/IExecutionData.cs b/Yavsc.Abstract/Workflow/Tasks/IExecutionData.cs new file mode 100644 index 00000000..fbc72a52 --- /dev/null +++ b/Yavsc.Abstract/Workflow/Tasks/IExecutionData.cs @@ -0,0 +1,17 @@ +using System.Collections.Generic; +using System.Threading.Tasks; + + +namespace Yavsc.Abstract.Workflow +{ + public interface IExecutionData + { + Task Payload { get; } + + ITaskMetaData MetaData { get; } + + string [] Args { get; } + IList Faults { get; } + + } +} \ No newline at end of file diff --git a/Yavsc.Abstract/Workflow/Tasks/IMayBeFixable.cs b/Yavsc.Abstract/Workflow/Tasks/IMayBeFixable.cs new file mode 100644 index 00000000..c22d106c --- /dev/null +++ b/Yavsc.Abstract/Workflow/Tasks/IMayBeFixable.cs @@ -0,0 +1,9 @@ +namespace Yavsc.Abstract.Workflow +{ + public interface IMayBeFixable + { + bool Fixable { get; } + + void TryAndFix(); + } +} \ No newline at end of file diff --git a/Yavsc.Abstract/Workflow/IRequisition.cs b/Yavsc.Abstract/Workflow/Tasks/IRequisition.cs similarity index 59% rename from Yavsc.Abstract/Workflow/IRequisition.cs rename to Yavsc.Abstract/Workflow/Tasks/IRequisition.cs index ec0cd96f..12c92513 100644 --- a/Yavsc.Abstract/Workflow/IRequisition.cs +++ b/Yavsc.Abstract/Workflow/Tasks/IRequisition.cs @@ -1,4 +1,7 @@ +using System.Collections.Generic; +using Yavsc.Abstract.Workflow; + namespace Yavsc.Models { public interface IRequisition diff --git a/Yavsc.Abstract/Workflow/Tasks/ITaskMetaData.cs b/Yavsc.Abstract/Workflow/Tasks/ITaskMetaData.cs new file mode 100644 index 00000000..e2371641 --- /dev/null +++ b/Yavsc.Abstract/Workflow/Tasks/ITaskMetaData.cs @@ -0,0 +1,11 @@ +using System.Collections.Generic; +using Yavsc.Models; + +namespace Yavsc.Abstract.Workflow +{ + public interface ITaskMetaData + { + string TaskName { get; } + IEnumerable Prerequisites { get; } + } +} \ No newline at end of file diff --git a/Yavsc.Abstract/Workflow/ITaskRunner.cs b/Yavsc.Abstract/Workflow/Tasks/ITaskRunner.cs similarity index 60% rename from Yavsc.Abstract/Workflow/ITaskRunner.cs rename to Yavsc.Abstract/Workflow/Tasks/ITaskRunner.cs index a2b45580..c5f89930 100644 --- a/Yavsc.Abstract/Workflow/ITaskRunner.cs +++ b/Yavsc.Abstract/Workflow/Tasks/ITaskRunner.cs @@ -4,6 +4,6 @@ namespace Yavsc.Abstract.Workflow { public interface ITaskRunner { - Task Run(string [] args); + IExecutionData Run( ITaskMetaData taskMetaData, string [] args); } } \ No newline at end of file diff --git a/Yavsc.Abstract/Workflow/ITaskRunnerProvider.cs b/Yavsc.Abstract/Workflow/Tasks/ITaskRunnerProvider.cs similarity index 100% rename from Yavsc.Abstract/Workflow/ITaskRunnerProvider.cs rename to Yavsc.Abstract/Workflow/Tasks/ITaskRunnerProvider.cs diff --git a/Yavsc.Abstract/Workflow/TaskManager.cs b/Yavsc.Abstract/Workflow/Tasks/TaskManager.cs similarity index 100% rename from Yavsc.Abstract/Workflow/TaskManager.cs rename to Yavsc.Abstract/Workflow/Tasks/TaskManager.cs