From 38c3825a2965d716fe8e084dbb3fcb0137e83031 Mon Sep 17 00:00:00 2001 From: Sebastian Stehle Date: Sun, 3 Dec 2017 23:01:32 +0100 Subject: [PATCH] Small fixes. --- .../State/Grains/AppStateGrain.cs | 3 +++ .../State/Grains/AppUserGrain.cs | 11 ++--------- .../EventSourcing/Grains/EventConsumerGrain.cs | 2 +- src/Squidex.Infrastructure/States/Persistence.cs | 2 +- src/Squidex/Config/Domain/InfrastructureServices.cs | 10 +++------- 5 files changed, 10 insertions(+), 18 deletions(-) diff --git a/src/Squidex.Domain.Apps.Read/State/Grains/AppStateGrain.cs b/src/Squidex.Domain.Apps.Read/State/Grains/AppStateGrain.cs index d707d1d52..bca5cd380 100644 --- a/src/Squidex.Domain.Apps.Read/State/Grains/AppStateGrain.cs +++ b/src/Squidex.Domain.Apps.Read/State/Grains/AppStateGrain.cs @@ -46,7 +46,10 @@ namespace Squidex.Domain.Apps.Read.State.Grains catch (Exception ex) { exception = ex; + } + if (state == null) + { state = new AppStateGrainState(); } diff --git a/src/Squidex.Domain.Apps.Read/State/Grains/AppUserGrain.cs b/src/Squidex.Domain.Apps.Read/State/Grains/AppUserGrain.cs index 86dda46d6..08be064e1 100644 --- a/src/Squidex.Domain.Apps.Read/State/Grains/AppUserGrain.cs +++ b/src/Squidex.Domain.Apps.Read/State/Grains/AppUserGrain.cs @@ -17,22 +17,15 @@ namespace Squidex.Domain.Apps.Read.State.Grains public sealed class AppUserGrain : IStatefulObject { private IPersistence persistence; - private AppUserGrainState state; + private AppUserGrainState state = new AppUserGrainState(); public Task ActivateAsync(string key, IStore store) { - persistence = store.WithSnapshots(key, ApplySnapShot); + persistence = store.WithSnapshots(key, s => state = s); return persistence.ReadAsync(); } - public Task ApplySnapShot(AppUserGrainState state) - { - this.state = state; - - return TaskHelper.Done; - } - public Task AddAppAsync(string appName) { state = state.AddApp(appName); diff --git a/src/Squidex.Infrastructure/EventSourcing/Grains/EventConsumerGrain.cs b/src/Squidex.Infrastructure/EventSourcing/Grains/EventConsumerGrain.cs index 2f5bd0cca..a40f15a66 100644 --- a/src/Squidex.Infrastructure/EventSourcing/Grains/EventConsumerGrain.cs +++ b/src/Squidex.Infrastructure/EventSourcing/Grains/EventConsumerGrain.cs @@ -24,7 +24,7 @@ namespace Squidex.Infrastructure.EventSourcing.Grains private IEventSubscription currentSubscription; private IEventConsumer eventConsumer; private IPersistence persistence; - private EventConsumerState state; + private EventConsumerState state = new EventConsumerState(); public EventConsumerGrain( IEventStore eventStore, diff --git a/src/Squidex.Infrastructure/States/Persistence.cs b/src/Squidex.Infrastructure/States/Persistence.cs index 28944a936..b4a517616 100644 --- a/src/Squidex.Infrastructure/States/Persistence.cs +++ b/src/Squidex.Infrastructure/States/Persistence.cs @@ -59,7 +59,7 @@ namespace Squidex.Infrastructure.States positionSnapshot = position; positionEvent = position; - if (applyState != null) + if (applyState != null && position >= 0) { await applyState(state); } diff --git a/src/Squidex/Config/Domain/InfrastructureServices.cs b/src/Squidex/Config/Domain/InfrastructureServices.cs index e7caf3529..5552c561a 100644 --- a/src/Squidex/Config/Domain/InfrastructureServices.cs +++ b/src/Squidex/Config/Domain/InfrastructureServices.cs @@ -19,6 +19,7 @@ using Squidex.Infrastructure.Assets.ImageSharp; using Squidex.Infrastructure.Commands; using Squidex.Infrastructure.EventSourcing; using Squidex.Infrastructure.Log; +using Squidex.Infrastructure.States; using Squidex.Infrastructure.UsageTracking; using Squidex.Pipeline; @@ -76,12 +77,6 @@ namespace Squidex.Config.Domain services.AddSingletonAs() .As(); - services.AddSingletonAs() - .As(); - - services.AddSingletonAs() - .As(); - services.AddSingletonAs() .As(); @@ -94,7 +89,8 @@ namespace Squidex.Config.Domain services.AddSingletonAs() .As(); - services.AddSingletonAs(); + services.AddSingletonAs() + .As(); } } }