Skip to content

Commit 116d797

Browse files
authored
Merge pull request #115 from Lutando/dev
Some breaking naming and access changes to internals
2 parents 5f7ce77 + 1a79bd7 commit 116d797

File tree

5 files changed

+25
-21
lines changed

5 files changed

+25
-21
lines changed

src/Akkatecture/Aggregates/AggregateRoot.cs

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -49,23 +49,24 @@ public abstract class AggregateRoot<TAggregate, TIdentity, TAggregateState> : Re
4949
{
5050
private static readonly IReadOnlyDictionary<Type, Action<TAggregateState, IAggregateEvent>> ApplyMethodsFromState = typeof(TAggregateState).GetAggregateStateEventApplyMethods<TAggregate, TIdentity, TAggregateState>();
5151
private static readonly IReadOnlyDictionary<Type, Action<TAggregateState, IAggregateSnapshot>> HydrateMethodsFromState = typeof(TAggregateState).GetAggregateSnapshotHydrateMethods<TAggregate, TIdentity, TAggregateState>();
52-
public static readonly IAggregateName AggregateName = typeof(TAggregate).GetAggregateName();
53-
protected CircularBuffer<ISourceId> _previousSourceIds = new CircularBuffer<ISourceId>(100);
54-
protected ICommand<TAggregate, TIdentity> PinnedCommand { get; private set; }
55-
protected object PinnedReply { get; private set; }
52+
private static readonly IAggregateName AggregateName = typeof(TAggregate).GetAggregateName();
53+
private CircularBuffer<ISourceId> _previousSourceIds = new CircularBuffer<ISourceId>(100);
54+
private ICommand<TAggregate, TIdentity> PinnedCommand { get; set; }
55+
private object PinnedReply { get; set; }
5656

5757
protected ILoggingAdapter Logger { get; }
58-
protected IEventDefinitionService _eventDefinitionService;
59-
protected ISnapshotDefinitionService _snapshotDefinitionService;
60-
protected ISnapshotStrategy SnapshotStrategy { get; set; } = SnapshotNeverStrategy.Instance;
61-
public TAggregateState State { get; }
58+
//TODO This should be private readonly.
59+
protected readonly IEventDefinitionService EventDefinitionService;
60+
private readonly ISnapshotDefinitionService _snapshotDefinitionService;
61+
private ISnapshotStrategy SnapshotStrategy { get; set; } = SnapshotNeverStrategy.Instance;
62+
protected TAggregateState State { get; }
6263
public IAggregateName Name => AggregateName;
6364
public override string PersistenceId { get; }
6465
public TIdentity Id { get; }
6566
public long Version { get; protected set; }
6667
public bool IsNew => Version <= 0;
6768
public override Recovery Recovery => new Recovery(SnapshotSelectionCriteria.Latest);
68-
public AggregateRootSettings Settings { get; }
69+
private AggregateRootSettings Settings { get; }
6970

7071
protected AggregateRoot(TIdentity id)
7172
{
@@ -93,7 +94,7 @@ protected AggregateRoot(TIdentity id)
9394
}
9495

9596
PinnedCommand = null;
96-
_eventDefinitionService = new EventDefinitionService(Logger);
97+
EventDefinitionService = new EventDefinitionService(Logger);
9798
_snapshotDefinitionService = new SnapshotDefinitionService(Logger);
9899
Id = id;
99100
PersistenceId = id.Value;
@@ -161,8 +162,8 @@ public virtual CommittedEvent<TAggregate, TIdentity, TAggregateEvent> From<TAggr
161162
{
162163
throw new ArgumentNullException(nameof(aggregateEvent));
163164
}
164-
_eventDefinitionService.Load(aggregateEvent.GetType());
165-
var eventDefinition = _eventDefinitionService.GetDefinition(aggregateEvent.GetType());
165+
EventDefinitionService.Load(aggregateEvent.GetType());
166+
var eventDefinition = EventDefinitionService.GetDefinition(aggregateEvent.GetType());
166167
var aggregateSequenceNumber = version + 1;
167168
var eventId = EventId.NewDeterministic(
168169
GuidFactories.Deterministic.Namespaces.Events,
@@ -256,10 +257,7 @@ protected override bool AroundReceive(Receive receive, object message)
256257

257258
protected virtual void Reply(object replyMessage)
258259
{
259-
if(Sender == ActorRefs.NoSender || Sender == ActorRefs.Nobody)
260-
{
261-
// do nothing
262-
} else
260+
if(!Sender.IsNobody())
263261
{
264262
PinnedReply = replyMessage;
265263
}
@@ -408,7 +406,7 @@ protected void Command<TCommand, TCommandHandler>(Predicate<TCommand> shouldHand
408406
}
409407

410408
}
411-
409+
412410
}
413411

414412
}

src/Akkatecture/Aggregates/ExecutionResults/FailedExecutionResult.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,12 @@ public class FailedExecutionResult : ExecutionResult
3636

3737
public FailedExecutionResult(
3838
params string[] errors)
39+
: this(errors.ToList())
40+
{
41+
}
42+
43+
public FailedExecutionResult(
44+
IEnumerable<string> errors)
3945
{
4046
Errors = (errors ?? Enumerable.Empty<string>()).ToList();
4147
}

src/Akkatecture/Specifications/Specification.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public bool IsSatisfiedBy(T obj)
4040
public IEnumerable<string> WhyIsNotSatisfiedBy(T obj)
4141
{
4242
return IsNotSatisfiedBecause(obj);
43-
}
43+
}
4444

4545
protected abstract IEnumerable<string> IsNotSatisfiedBecause(T aggregate);
4646
}

test/Akkatecture.TestHelpers/Aggregates/TestAggregate.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -217,8 +217,8 @@ private void Signal<TAggregateEvent>(TAggregateEvent aggregateEvent, IMetadata m
217217
throw new ArgumentNullException(nameof(aggregateEvent));
218218
}
219219

220-
_eventDefinitionService.Load(aggregateEvent.GetType());
221-
var eventDefinition = _eventDefinitionService.GetDefinition(aggregateEvent.GetType());
220+
EventDefinitionService.Load(aggregateEvent.GetType());
221+
var eventDefinition = EventDefinitionService.GetDefinition(aggregateEvent.GetType());
222222
var aggregateSequenceNumber = Version;
223223
var eventId = EventId.NewDeterministic(
224224
GuidFactories.Deterministic.Namespaces.Events,

test/Akkatecture.Tests/Akkatecture.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
<PackageReference Include="Akka" Version="1.3.13" />
3232
<PackageReference Include="Akka.Cluster.TestKit" Version="1.3.13" />
3333
<PackageReference Include="Akka.TestKit.Xunit2" Version="1.3.13" />
34-
<PackageReference Include="coverlet.msbuild" Version="2.6.0" />
34+
<PackageReference Include="coverlet.msbuild" Version="2.6.1" />
3535
<PackageReference Include="FluentAssertions" Version="5.6.0" />
3636
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.0.1" />
3737
<PackageReference Include="xunit" Version="2.4.1" />

0 commit comments

Comments
 (0)