From 2b669fe39fa45c70b339bd54b483ceb4df054065 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Tue, 16 Oct 2018 12:26:28 +0200 Subject: [PATCH] Extracting contracts to abstractions library --- Flowsharp.sln | 7 +++++++ .../Activities}/IActivity.cs | 2 +- .../Expressions/IExpressionEvaluator.cs | 0 .../Expressions/IWorkflowExpressionEvaluator.cs | 0 .../Expressions/WorkflowExpression.cs | 0 .../Flowsharp.Abstractions.csproj | 13 +++++++++++++ .../Handlers/IActivityHandler.cs | 1 + .../IActivityInvoker.cs | 3 ++- .../IWorkflowInvoker.cs | 2 +- .../Models/ActivityExecutionContext.cs | 0 .../Models/Connection.cs | 0 .../Models/Endpoint.cs | 0 .../Models/SourceEndpoint.cs | 0 .../Models/TargetEndpoint.cs | 0 .../Models/Variables.cs | 0 .../Models/Workflow.cs | 0 .../Models/WorkflowExecutionContext.cs | 0 .../Models/WorkflowExecutionScope.cs | 0 .../Models/WorkflowStatus.cs | 0 .../Results/ActivityExecutionResult.cs | 1 - .../Results/IActivityExecutionResult.cs | 1 - .../Serialization/Formatters/ITokenFormatter.cs | 0 .../Serialization/IWorkflowSerializer.cs | 0 .../Serialization/Tokenizers/ITokenizer.cs | 0 .../Serialization/Tokenizers/ITokenizerInvoker.cs | 0 .../Serialization/Tokenizers/IWorkflowTokenizer.cs | 0 .../Tokenizers}/WorkflowTokenizationContext.cs | 4 ++-- .../{Models => Activities}/Activity.cs | 3 ++- .../{Services => }/ActivityInvoker.cs | 1 + src/Flowsharp.Core/Flowsharp.Core.csproj | 4 ++++ src/Flowsharp.Core/Handlers/ActivityHandler.cs | 1 + .../Serialization/Tokenizers/ActivityTokenizer.cs | 1 + .../Serialization/Tokenizers/WorkflowTokenizer.cs | 1 + .../{Services => }/WorkflowInvoker.cs | 1 + src/Flowsharp.Samples.Console/Program.cs | 2 +- 35 files changed, 39 insertions(+), 9 deletions(-) rename src/{Flowsharp.Core/Models => Flowsharp.Abstractions/Activities}/IActivity.cs (58%) rename src/{Flowsharp.Core => Flowsharp.Abstractions}/Expressions/IExpressionEvaluator.cs (100%) rename src/{Flowsharp.Core => Flowsharp.Abstractions}/Expressions/IWorkflowExpressionEvaluator.cs (100%) rename src/{Flowsharp.Core => Flowsharp.Abstractions}/Expressions/WorkflowExpression.cs (100%) create mode 100644 src/Flowsharp.Abstractions/Flowsharp.Abstractions.csproj rename src/{Flowsharp.Core => Flowsharp.Abstractions}/Handlers/IActivityHandler.cs (97%) rename src/{Flowsharp.Core/Services => Flowsharp.Abstractions}/IActivityInvoker.cs (92%) rename src/{Flowsharp.Core/Services => Flowsharp.Abstractions}/IWorkflowInvoker.cs (94%) rename src/{Flowsharp.Core => Flowsharp.Abstractions}/Models/ActivityExecutionContext.cs (100%) rename src/{Flowsharp.Core => Flowsharp.Abstractions}/Models/Connection.cs (100%) rename src/{Flowsharp.Core => Flowsharp.Abstractions}/Models/Endpoint.cs (100%) rename src/{Flowsharp.Core => Flowsharp.Abstractions}/Models/SourceEndpoint.cs (100%) rename src/{Flowsharp.Core => Flowsharp.Abstractions}/Models/TargetEndpoint.cs (100%) rename src/{Flowsharp.Core => Flowsharp.Abstractions}/Models/Variables.cs (100%) rename src/{Flowsharp.Core => Flowsharp.Abstractions}/Models/Workflow.cs (100%) rename src/{Flowsharp.Core => Flowsharp.Abstractions}/Models/WorkflowExecutionContext.cs (100%) rename src/{Flowsharp.Core => Flowsharp.Abstractions}/Models/WorkflowExecutionScope.cs (100%) rename src/{Flowsharp.Core => Flowsharp.Abstractions}/Models/WorkflowStatus.cs (100%) rename src/{Flowsharp.Core => Flowsharp.Abstractions}/Results/ActivityExecutionResult.cs (95%) rename src/{Flowsharp.Core => Flowsharp.Abstractions}/Results/IActivityExecutionResult.cs (92%) rename src/{Flowsharp.Core => Flowsharp.Abstractions}/Serialization/Formatters/ITokenFormatter.cs (100%) rename src/{Flowsharp.Core => Flowsharp.Abstractions}/Serialization/IWorkflowSerializer.cs (100%) rename src/{Flowsharp.Core => Flowsharp.Abstractions}/Serialization/Tokenizers/ITokenizer.cs (100%) rename src/{Flowsharp.Core => Flowsharp.Abstractions}/Serialization/Tokenizers/ITokenizerInvoker.cs (100%) rename src/{Flowsharp.Core => Flowsharp.Abstractions}/Serialization/Tokenizers/IWorkflowTokenizer.cs (100%) rename src/{Flowsharp.Core/Serialization => Flowsharp.Abstractions/Serialization/Tokenizers}/WorkflowTokenizationContext.cs (76%) rename src/Flowsharp.Core/{Models => Activities}/Activity.cs (62%) rename src/Flowsharp.Core/{Services => }/ActivityInvoker.cs (98%) rename src/Flowsharp.Core/{Services => }/WorkflowInvoker.cs (99%) diff --git a/Flowsharp.sln b/Flowsharp.sln index d8ce4099e..7b88e75b5 100644 --- a/Flowsharp.sln +++ b/Flowsharp.sln @@ -17,6 +17,8 @@ ProjectSection(SolutionItems) = preProject Nuget.Config = Nuget.Config EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Flowsharp.Abstractions", "src\Flowsharp.Abstractions\Flowsharp.Abstractions.csproj", "{3130C574-557C-4DA2-933E-AED7A9EBE48A}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -31,6 +33,10 @@ Global {48EDB976-3227-4DFD-BBB3-3BC9AEA19A88}.Debug|Any CPU.Build.0 = Debug|Any CPU {48EDB976-3227-4DFD-BBB3-3BC9AEA19A88}.Release|Any CPU.ActiveCfg = Release|Any CPU {48EDB976-3227-4DFD-BBB3-3BC9AEA19A88}.Release|Any CPU.Build.0 = Release|Any CPU + {3130C574-557C-4DA2-933E-AED7A9EBE48A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3130C574-557C-4DA2-933E-AED7A9EBE48A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3130C574-557C-4DA2-933E-AED7A9EBE48A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3130C574-557C-4DA2-933E-AED7A9EBE48A}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -41,5 +47,6 @@ Global GlobalSection(NestedProjects) = preSolution {300EE2D5-54C5-46F2-AD03-BB43589EA074} = {DA71CDAA-8DD3-4D5F-9FBD-8E4B37A2D925} {48EDB976-3227-4DFD-BBB3-3BC9AEA19A88} = {DA71CDAA-8DD3-4D5F-9FBD-8E4B37A2D925} + {3130C574-557C-4DA2-933E-AED7A9EBE48A} = {DA71CDAA-8DD3-4D5F-9FBD-8E4B37A2D925} EndGlobalSection EndGlobal diff --git a/src/Flowsharp.Core/Models/IActivity.cs b/src/Flowsharp.Abstractions/Activities/IActivity.cs similarity index 58% rename from src/Flowsharp.Core/Models/IActivity.cs rename to src/Flowsharp.Abstractions/Activities/IActivity.cs index cd943c3ff..2179eea2b 100644 --- a/src/Flowsharp.Core/Models/IActivity.cs +++ b/src/Flowsharp.Abstractions/Activities/IActivity.cs @@ -1,4 +1,4 @@ -namespace Flowsharp.Models +namespace Flowsharp.Activities { public interface IActivity { diff --git a/src/Flowsharp.Core/Expressions/IExpressionEvaluator.cs b/src/Flowsharp.Abstractions/Expressions/IExpressionEvaluator.cs similarity index 100% rename from src/Flowsharp.Core/Expressions/IExpressionEvaluator.cs rename to src/Flowsharp.Abstractions/Expressions/IExpressionEvaluator.cs diff --git a/src/Flowsharp.Core/Expressions/IWorkflowExpressionEvaluator.cs b/src/Flowsharp.Abstractions/Expressions/IWorkflowExpressionEvaluator.cs similarity index 100% rename from src/Flowsharp.Core/Expressions/IWorkflowExpressionEvaluator.cs rename to src/Flowsharp.Abstractions/Expressions/IWorkflowExpressionEvaluator.cs diff --git a/src/Flowsharp.Core/Expressions/WorkflowExpression.cs b/src/Flowsharp.Abstractions/Expressions/WorkflowExpression.cs similarity index 100% rename from src/Flowsharp.Core/Expressions/WorkflowExpression.cs rename to src/Flowsharp.Abstractions/Expressions/WorkflowExpression.cs diff --git a/src/Flowsharp.Abstractions/Flowsharp.Abstractions.csproj b/src/Flowsharp.Abstractions/Flowsharp.Abstractions.csproj new file mode 100644 index 000000000..66e3fa082 --- /dev/null +++ b/src/Flowsharp.Abstractions/Flowsharp.Abstractions.csproj @@ -0,0 +1,13 @@ + + + + netstandard2.0 + Flowsharp + latest + + + + + + + diff --git a/src/Flowsharp.Core/Handlers/IActivityHandler.cs b/src/Flowsharp.Abstractions/Handlers/IActivityHandler.cs similarity index 97% rename from src/Flowsharp.Core/Handlers/IActivityHandler.cs rename to src/Flowsharp.Abstractions/Handlers/IActivityHandler.cs index 583cb13aa..2f3ce8d42 100644 --- a/src/Flowsharp.Core/Handlers/IActivityHandler.cs +++ b/src/Flowsharp.Abstractions/Handlers/IActivityHandler.cs @@ -1,6 +1,7 @@ using System; using System.Threading; using System.Threading.Tasks; +using Flowsharp.Activities; using Flowsharp.Models; using Flowsharp.Results; diff --git a/src/Flowsharp.Core/Services/IActivityInvoker.cs b/src/Flowsharp.Abstractions/IActivityInvoker.cs similarity index 92% rename from src/Flowsharp.Core/Services/IActivityInvoker.cs rename to src/Flowsharp.Abstractions/IActivityInvoker.cs index 1c9b43b27..f83e3e1d2 100644 --- a/src/Flowsharp.Core/Services/IActivityInvoker.cs +++ b/src/Flowsharp.Abstractions/IActivityInvoker.cs @@ -1,9 +1,10 @@ using System.Threading; using System.Threading.Tasks; +using Flowsharp.Activities; using Flowsharp.Models; using Flowsharp.Results; -namespace Flowsharp.Services +namespace Flowsharp { public interface IActivityInvoker { diff --git a/src/Flowsharp.Core/Services/IWorkflowInvoker.cs b/src/Flowsharp.Abstractions/IWorkflowInvoker.cs similarity index 94% rename from src/Flowsharp.Core/Services/IWorkflowInvoker.cs rename to src/Flowsharp.Abstractions/IWorkflowInvoker.cs index af4478985..739c4ffb2 100644 --- a/src/Flowsharp.Core/Services/IWorkflowInvoker.cs +++ b/src/Flowsharp.Abstractions/IWorkflowInvoker.cs @@ -3,7 +3,7 @@ using System.Threading.Tasks; using Flowsharp.Activities; using Flowsharp.Models; -namespace Flowsharp.Services +namespace Flowsharp { public interface IWorkflowInvoker { diff --git a/src/Flowsharp.Core/Models/ActivityExecutionContext.cs b/src/Flowsharp.Abstractions/Models/ActivityExecutionContext.cs similarity index 100% rename from src/Flowsharp.Core/Models/ActivityExecutionContext.cs rename to src/Flowsharp.Abstractions/Models/ActivityExecutionContext.cs diff --git a/src/Flowsharp.Core/Models/Connection.cs b/src/Flowsharp.Abstractions/Models/Connection.cs similarity index 100% rename from src/Flowsharp.Core/Models/Connection.cs rename to src/Flowsharp.Abstractions/Models/Connection.cs diff --git a/src/Flowsharp.Core/Models/Endpoint.cs b/src/Flowsharp.Abstractions/Models/Endpoint.cs similarity index 100% rename from src/Flowsharp.Core/Models/Endpoint.cs rename to src/Flowsharp.Abstractions/Models/Endpoint.cs diff --git a/src/Flowsharp.Core/Models/SourceEndpoint.cs b/src/Flowsharp.Abstractions/Models/SourceEndpoint.cs similarity index 100% rename from src/Flowsharp.Core/Models/SourceEndpoint.cs rename to src/Flowsharp.Abstractions/Models/SourceEndpoint.cs diff --git a/src/Flowsharp.Core/Models/TargetEndpoint.cs b/src/Flowsharp.Abstractions/Models/TargetEndpoint.cs similarity index 100% rename from src/Flowsharp.Core/Models/TargetEndpoint.cs rename to src/Flowsharp.Abstractions/Models/TargetEndpoint.cs diff --git a/src/Flowsharp.Core/Models/Variables.cs b/src/Flowsharp.Abstractions/Models/Variables.cs similarity index 100% rename from src/Flowsharp.Core/Models/Variables.cs rename to src/Flowsharp.Abstractions/Models/Variables.cs diff --git a/src/Flowsharp.Core/Models/Workflow.cs b/src/Flowsharp.Abstractions/Models/Workflow.cs similarity index 100% rename from src/Flowsharp.Core/Models/Workflow.cs rename to src/Flowsharp.Abstractions/Models/Workflow.cs diff --git a/src/Flowsharp.Core/Models/WorkflowExecutionContext.cs b/src/Flowsharp.Abstractions/Models/WorkflowExecutionContext.cs similarity index 100% rename from src/Flowsharp.Core/Models/WorkflowExecutionContext.cs rename to src/Flowsharp.Abstractions/Models/WorkflowExecutionContext.cs diff --git a/src/Flowsharp.Core/Models/WorkflowExecutionScope.cs b/src/Flowsharp.Abstractions/Models/WorkflowExecutionScope.cs similarity index 100% rename from src/Flowsharp.Core/Models/WorkflowExecutionScope.cs rename to src/Flowsharp.Abstractions/Models/WorkflowExecutionScope.cs diff --git a/src/Flowsharp.Core/Models/WorkflowStatus.cs b/src/Flowsharp.Abstractions/Models/WorkflowStatus.cs similarity index 100% rename from src/Flowsharp.Core/Models/WorkflowStatus.cs rename to src/Flowsharp.Abstractions/Models/WorkflowStatus.cs diff --git a/src/Flowsharp.Core/Results/ActivityExecutionResult.cs b/src/Flowsharp.Abstractions/Results/ActivityExecutionResult.cs similarity index 95% rename from src/Flowsharp.Core/Results/ActivityExecutionResult.cs rename to src/Flowsharp.Abstractions/Results/ActivityExecutionResult.cs index 61d92d9d9..1578393b4 100644 --- a/src/Flowsharp.Core/Results/ActivityExecutionResult.cs +++ b/src/Flowsharp.Abstractions/Results/ActivityExecutionResult.cs @@ -2,7 +2,6 @@ using System.Threading; using System.Threading.Tasks; using Flowsharp.Models; -using Flowsharp.Services; namespace Flowsharp.Results { diff --git a/src/Flowsharp.Core/Results/IActivityExecutionResult.cs b/src/Flowsharp.Abstractions/Results/IActivityExecutionResult.cs similarity index 92% rename from src/Flowsharp.Core/Results/IActivityExecutionResult.cs rename to src/Flowsharp.Abstractions/Results/IActivityExecutionResult.cs index e5aa4e0fb..c33bdfab1 100644 --- a/src/Flowsharp.Core/Results/IActivityExecutionResult.cs +++ b/src/Flowsharp.Abstractions/Results/IActivityExecutionResult.cs @@ -1,7 +1,6 @@ using System.Threading; using System.Threading.Tasks; using Flowsharp.Models; -using Flowsharp.Services; namespace Flowsharp.Results { diff --git a/src/Flowsharp.Core/Serialization/Formatters/ITokenFormatter.cs b/src/Flowsharp.Abstractions/Serialization/Formatters/ITokenFormatter.cs similarity index 100% rename from src/Flowsharp.Core/Serialization/Formatters/ITokenFormatter.cs rename to src/Flowsharp.Abstractions/Serialization/Formatters/ITokenFormatter.cs diff --git a/src/Flowsharp.Core/Serialization/IWorkflowSerializer.cs b/src/Flowsharp.Abstractions/Serialization/IWorkflowSerializer.cs similarity index 100% rename from src/Flowsharp.Core/Serialization/IWorkflowSerializer.cs rename to src/Flowsharp.Abstractions/Serialization/IWorkflowSerializer.cs diff --git a/src/Flowsharp.Core/Serialization/Tokenizers/ITokenizer.cs b/src/Flowsharp.Abstractions/Serialization/Tokenizers/ITokenizer.cs similarity index 100% rename from src/Flowsharp.Core/Serialization/Tokenizers/ITokenizer.cs rename to src/Flowsharp.Abstractions/Serialization/Tokenizers/ITokenizer.cs diff --git a/src/Flowsharp.Core/Serialization/Tokenizers/ITokenizerInvoker.cs b/src/Flowsharp.Abstractions/Serialization/Tokenizers/ITokenizerInvoker.cs similarity index 100% rename from src/Flowsharp.Core/Serialization/Tokenizers/ITokenizerInvoker.cs rename to src/Flowsharp.Abstractions/Serialization/Tokenizers/ITokenizerInvoker.cs diff --git a/src/Flowsharp.Core/Serialization/Tokenizers/IWorkflowTokenizer.cs b/src/Flowsharp.Abstractions/Serialization/Tokenizers/IWorkflowTokenizer.cs similarity index 100% rename from src/Flowsharp.Core/Serialization/Tokenizers/IWorkflowTokenizer.cs rename to src/Flowsharp.Abstractions/Serialization/Tokenizers/IWorkflowTokenizer.cs diff --git a/src/Flowsharp.Core/Serialization/WorkflowTokenizationContext.cs b/src/Flowsharp.Abstractions/Serialization/Tokenizers/WorkflowTokenizationContext.cs similarity index 76% rename from src/Flowsharp.Core/Serialization/WorkflowTokenizationContext.cs rename to src/Flowsharp.Abstractions/Serialization/Tokenizers/WorkflowTokenizationContext.cs index 9815c31d4..747048dec 100644 --- a/src/Flowsharp.Core/Serialization/WorkflowTokenizationContext.cs +++ b/src/Flowsharp.Abstractions/Serialization/Tokenizers/WorkflowTokenizationContext.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; -using Flowsharp.Models; +using Flowsharp.Activities; -namespace Flowsharp.Serialization +namespace Flowsharp.Serialization.Tokenizers { public class WorkflowTokenizationContext { diff --git a/src/Flowsharp.Core/Models/Activity.cs b/src/Flowsharp.Core/Activities/Activity.cs similarity index 62% rename from src/Flowsharp.Core/Models/Activity.cs rename to src/Flowsharp.Core/Activities/Activity.cs index e993ab21d..0253a789e 100644 --- a/src/Flowsharp.Core/Models/Activity.cs +++ b/src/Flowsharp.Core/Activities/Activity.cs @@ -1,4 +1,5 @@ -using Newtonsoft.Json; +using Flowsharp.Activities; +using Newtonsoft.Json; namespace Flowsharp.Models { diff --git a/src/Flowsharp.Core/Services/ActivityInvoker.cs b/src/Flowsharp.Core/ActivityInvoker.cs similarity index 98% rename from src/Flowsharp.Core/Services/ActivityInvoker.cs rename to src/Flowsharp.Core/ActivityInvoker.cs index 0c7b756bc..1dfa7df0f 100644 --- a/src/Flowsharp.Core/Services/ActivityInvoker.cs +++ b/src/Flowsharp.Core/ActivityInvoker.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading; using System.Threading.Tasks; +using Flowsharp.Activities; using Flowsharp.Handlers; using Flowsharp.Models; using Flowsharp.Results; diff --git a/src/Flowsharp.Core/Flowsharp.Core.csproj b/src/Flowsharp.Core/Flowsharp.Core.csproj index c1f163431..a9d3a8930 100644 --- a/src/Flowsharp.Core/Flowsharp.Core.csproj +++ b/src/Flowsharp.Core/Flowsharp.Core.csproj @@ -18,4 +18,8 @@ + + + + diff --git a/src/Flowsharp.Core/Handlers/ActivityHandler.cs b/src/Flowsharp.Core/Handlers/ActivityHandler.cs index ed6755afb..61416b052 100644 --- a/src/Flowsharp.Core/Handlers/ActivityHandler.cs +++ b/src/Flowsharp.Core/Handlers/ActivityHandler.cs @@ -1,6 +1,7 @@ using System; using System.Threading; using System.Threading.Tasks; +using Flowsharp.Activities; using Flowsharp.Models; using Flowsharp.Results; diff --git a/src/Flowsharp.Core/Serialization/Tokenizers/ActivityTokenizer.cs b/src/Flowsharp.Core/Serialization/Tokenizers/ActivityTokenizer.cs index eb2903f94..19459d578 100644 --- a/src/Flowsharp.Core/Serialization/Tokenizers/ActivityTokenizer.cs +++ b/src/Flowsharp.Core/Serialization/Tokenizers/ActivityTokenizer.cs @@ -1,3 +1,4 @@ +using Flowsharp.Activities; using Flowsharp.Models; using Flowsharp.Services; using Newtonsoft.Json.Linq; diff --git a/src/Flowsharp.Core/Serialization/Tokenizers/WorkflowTokenizer.cs b/src/Flowsharp.Core/Serialization/Tokenizers/WorkflowTokenizer.cs index 62c44ee65..08910bfbb 100644 --- a/src/Flowsharp.Core/Serialization/Tokenizers/WorkflowTokenizer.cs +++ b/src/Flowsharp.Core/Serialization/Tokenizers/WorkflowTokenizer.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Threading; +using Flowsharp.Activities; using Flowsharp.Handlers; using Flowsharp.Models; using Flowsharp.Services; diff --git a/src/Flowsharp.Core/Services/WorkflowInvoker.cs b/src/Flowsharp.Core/WorkflowInvoker.cs similarity index 99% rename from src/Flowsharp.Core/Services/WorkflowInvoker.cs rename to src/Flowsharp.Core/WorkflowInvoker.cs index ed4902c55..3a4954cf6 100644 --- a/src/Flowsharp.Core/Services/WorkflowInvoker.cs +++ b/src/Flowsharp.Core/WorkflowInvoker.cs @@ -2,6 +2,7 @@ using System.Linq; using System.Threading; using System.Threading.Tasks; +using Flowsharp.Activities; using Flowsharp.Extensions; using Flowsharp.Models; using Flowsharp.Results; diff --git a/src/Flowsharp.Samples.Console/Program.cs b/src/Flowsharp.Samples.Console/Program.cs index 24541a731..2e2e73adf 100644 --- a/src/Flowsharp.Samples.Console/Program.cs +++ b/src/Flowsharp.Samples.Console/Program.cs @@ -24,7 +24,7 @@ namespace Flowsharp.Samples.Console .AddSingleton() .AddSingleton() .AddSingleton() - //.AddSingleton() + .AddSingleton() .AddSingleton() .AddSingleton() .AddSingleton()