Skip to content

Commit bef9a03

Browse files
Ticket #106 & #105 : Pass tokens in CaseManagement tool + add simple form builder
1 parent 810bca6 commit bef9a03

File tree

123 files changed

+1973
-1045
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

123 files changed

+1973
-1045
lines changed

create-neventstore-table.txt

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
IF EXISTS(SELECT * FROM sysobjects WHERE name='Commits' AND xtype = 'U') RETURN;
2+
CREATE TABLE [dbo].[Commits]
3+
(
4+
[BucketId] [varchar](200) NOT NULL,
5+
[StreamId] [char](200) NOT NULL,
6+
[StreamIdOriginal] [nvarchar](1000) NOT NULL,
7+
[StreamRevision] [int] NOT NULL CHECK ([StreamRevision] > 0),
8+
[Items] [int] NOT NULL CHECK ([Items] > 0),
9+
[CommitId] [uniqueidentifier] NOT NULL CHECK ([CommitId] != 0x0),
10+
[CommitSequence] [int] NOT NULL CHECK ([CommitSequence] > 0),
11+
[CheckpointNumber] [bigint] IDENTITY NOT NULL,
12+
[Headers] [varbinary](MAX) NULL CHECK ([Headers] IS NULL OR DATALENGTH([Headers]) > 0),
13+
[Payload] [varbinary](MAX) NOT NULL CHECK (DATALENGTH([Payload]) > 0),
14+
CONSTRAINT [PK_Commits] PRIMARY KEY CLUSTERED ([CheckpointNumber])
15+
);
16+
17+
--datetime2 is supported starting from MSSQL 2008. For MSSQL 2005 datetime has to be used
18+
IF EXISTS(SELECT * FROM sys.types WHERE NAME = 'datetime2')
19+
ALTER TABLE [dbo].[Commits] ADD [CommitStamp] [datetime2] NOT NULL
20+
ELSE
21+
ALTER TABLE [dbo].[Commits] ADD [CommitStamp] [datetime] NOT NULL
22+
23+
CREATE UNIQUE NONCLUSTERED INDEX [IX_Commits_CommitSequence] ON Commits (BucketId, StreamId, CommitSequence);
24+
CREATE UNIQUE NONCLUSTERED INDEX [IX_Commits_CommitId] ON [dbo].[Commits] ([BucketId], [StreamId], [CommitId]);
25+
CREATE UNIQUE NONCLUSTERED INDEX [IX_Commits_Revisions] ON [dbo].[Commits] ([BucketId], [StreamId], [StreamRevision], [Items]);
26+
CREATE INDEX [IX_Commits_Stamp] ON Commits ([CommitStamp]);
27+
28+
CREATE TABLE [dbo].[Snapshots]
29+
(
30+
[BucketId] [varchar](40) NOT NULL,
31+
[StreamId] [char](40) NOT NULL,
32+
[StreamRevision] [int] NOT NULL CHECK ([StreamRevision] > 0),
33+
[Payload] [varbinary](MAX) NOT NULL CHECK (DATALENGTH([Payload]) > 0),
34+
CONSTRAINT [PK_Snapshots] PRIMARY KEY CLUSTERED ([BucketId], [StreamId], [StreamRevision])
35+
);

src/CaseManagement.BPMN.SqlServer.Host/Bpmns/GetWeatherInformation.bpmn

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<outgoing>SequenceFlow_0h21x7r</outgoing>
66
</startEvent>
77
<sequenceFlow id="SequenceFlow_0h21x7r" sourceRef="StartEvent_1y45yut" targetRef="Task_1hcentk" />
8-
<serviceTask id="Task_1hcentk" name="Check weather conditions" implementation="##csharpcallback" cmg:className="CaseManagement.BPMN.Host.Delegates.GetWeatherInformationDelegate">
8+
<serviceTask id="Task_1hcentk" name="Check weather conditions" implementation="##csharpcallback" cmg:className="CaseManagement.BPMN.SqlServer.Host.Delegates.GetWeatherInformationDelegate">
99
<incoming>SequenceFlow_0h21x7r</incoming>
1010
<outgoing>Flow_0ofj7xp</outgoing>
1111
</serviceTask>

src/CaseManagement.BPMN.SqlServer.Host/CaseManagement.BPMN.SqlServer.Host.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,7 @@
4747
<LastGenOutput>SqlStatements.Designer.cs</LastGenOutput>
4848
</EmbeddedResource>
4949
</ItemGroup>
50+
<ItemGroup>
51+
<Folder Include="Migrations\" />
52+
</ItemGroup>
5053
</Project>
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
using CaseManagement.BPMN.Common;
2+
using Newtonsoft.Json.Linq;
3+
using System;
4+
using System.Collections.Generic;
5+
using System.Threading;
6+
using System.Threading.Tasks;
7+
8+
namespace CaseManagement.BPMN.SqlServer.Host.Delegates
9+
{
10+
public class GetWeatherInformationDelegate : IDelegateHandler
11+
{
12+
public Task<ICollection<MessageToken>> Execute(ICollection<MessageToken> incoming, CancellationToken cancellationToken)
13+
{
14+
ICollection<MessageToken> result = new List<MessageToken>();
15+
var rnd = new Random();
16+
var degree = rnd.Next(0, 40);
17+
18+
result.Add(MessageToken.NewMessage("weatherInformation", new JObject
19+
{
20+
{ "city", "Bruxelles" },
21+
{ "degree", degree }
22+
}.ToString()));
23+
return Task.FromResult(result);
24+
}
25+
}
26+
}

src/CaseManagement.BPMN.SqlServer.Host/Migrations/20201218131021_Init.Designer.cs renamed to src/CaseManagement.BPMN.SqlServer.Host/Migrations/20210201134341_Init.Designer.cs

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/CaseManagement.BPMN.SqlServer.Host/Migrations/20201218131021_Init.cs renamed to src/CaseManagement.BPMN.SqlServer.Host/Migrations/20210201134341_Init.cs

File renamed without changes.

src/CaseManagement.BPMN.SqlServer.Host/SqlDialect.cs

Lines changed: 0 additions & 106 deletions
This file was deleted.

src/CaseManagement.BPMN.SqlServer.Host/Startup.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,7 @@ public void ConfigureServices(IServiceCollection services)
8383
var factory = new NetStandardConnectionFactory(SqlClientFactory.Instance, _configuration.GetConnectionString("db"));
8484
var wireup = Wireup.Init()
8585
.UsingSqlPersistence(factory)
86-
.WithDialect(new SqlDialect())
87-
.InitializeStorageEngine()
86+
.WithDialect(new MsSqlDialect())
8887
.UsingBinarySerialization()
8988
.Build();
9089
services.AddSingleton<IStoreEvents>(wireup);

src/CaseManagement.BPMN/ProcessInstance/Commands/Handlers/MakeStateTransitionCommandHandler.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ namespace CaseManagement.BPMN.ProcessInstance.Commands.Handlers
1515
public class MakeStateTransitionCommandHandler : IRequestHandler<MakeStateTransitionCommand, bool>
1616
{
1717
private readonly IEventStoreRepository _eventStoreRepository;
18-
private readonly IProcessInstanceQueryRepository _processInstanceQueryRepository;
1918
private readonly ILogger<MakeStateTransitionCommandHandler> _logger;
2019
private readonly IMessageBroker _messageBroker;
2120

@@ -44,7 +43,7 @@ public async Task<bool> Handle(MakeStateTransitionCommand request, CancellationT
4443
throw new UnknownFlowNodeElementInstanceException(string.Format(Global.UnknownProcessElementInstance, request.FlowNodeElementInstanceId));
4544
}
4645

47-
await _messageBroker.QueueStateTransition(request.FlowNodeInstanceId, request.FlowNodeElementInstanceId, request.State, request.Content, cancellationToken);
46+
await _messageBroker.QueueStateTransition(request.FlowNodeInstanceId, request.FlowNodeElementInstanceId, request.State, request.Parameters, cancellationToken);
4847
return true;
4948
}
5049
}

src/CaseManagement.BPMN/ProcessInstance/Commands/MakeStateTransitionCommand.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ public class MakeStateTransitionCommand : IRequest<bool>
88
public string State { get; set; }
99
public string FlowNodeInstanceId { get; set; }
1010
public string FlowNodeElementInstanceId { get; set; }
11-
public JObject Content { get; set; }
11+
public JObject Parameters { get; set; }
1212
}
1313
}

0 commit comments

Comments
 (0)