@Override public void apply(@NotNull final Iterable<? extends TEvent> events) { Preconditions.checkNotNull(events); state = projection.apply(id, state, events); events.forEach(appliedEvents::add); }
@Override public void apply(@NotNull final TEvent event) { Preconditions.checkNotNull(event); state = projection.apply(id, state, event); appliedEvents.add(event); }
@Override public void apply(@NotNull final Iterable<? extends TEvent> events) { Preconditions.checkNotNull(events); state = projection.apply(id, state, events); events.forEach(appliedEvents::add); }
@Override public void apply(@NotNull final TEvent event) { Preconditions.checkNotNull(event); state = projection.apply(id, state, event); appliedEvents.add(event); }
@NotNull @Override public ImmutableAggregate<TState, TEvent> apply(@NotNull final TEvent event) { Preconditions.checkNotNull(event); @NotNull TState newState = projection.apply(id, state, event); return new DefaultImmutableAggregate<>( projection, id, sourceVersion, newState, ImmutableList.<TEvent>builder().addAll(appliedEvents).add(event).build()); }
@NotNull @Override public ImmutableAggregate<TState, TEvent> apply( @NotNull final Iterable<? extends TEvent> events) { Preconditions.checkNotNull(events); @NotNull TState newState = projection.apply(id, state, events); return new DefaultImmutableAggregate<>( projection, id, sourceVersion, newState, ImmutableList.<TEvent>builder().addAll(appliedEvents).addAll(events).build()); }
@NotNull @Override public ImmutableAggregate<TState, TEvent> apply(@NotNull final TEvent event) { Preconditions.checkNotNull(event); @NotNull TState newState = projection.apply(id, state, event); return new DefaultImmutableAggregate<>( projection, id, sourceVersion, newState, ImmutableList.<TEvent>builder().addAll(appliedEvents).add(event).build()); }
@NotNull @Override public ImmutableAggregate<TState, TEvent> apply( @NotNull final Iterable<? extends TEvent> events) { Preconditions.checkNotNull(events); @NotNull TState newState = projection.apply(id, state, events); return new DefaultImmutableAggregate<>( projection, id, sourceVersion, newState, ImmutableList.<TEvent>builder().addAll(appliedEvents).addAll(events).build()); }
TState updatedState = state; for (TEvent e : events) { updatedState = apply(id, updatedState, e);
TState updatedState = state; for (TEvent e : events) { updatedState = apply(id, updatedState, e);
.map(EventRecord::getEvent) .collect(Collectors.toList()); state = projection.apply(aggregateId, state, events);
.map(EventRecord::getEvent) .collect(Collectors.toList()); state = projection.apply(aggregateId, state, events);
repositoryResult1, repositoryResult2); when(aggregateProjection.apply(any(), any(), (Iterable) any())).thenReturn(expectedState); verify(aggregateProjection, times(2)).apply(any(), any(), (Iterable) any()); verify(eventRepository).read(eq(AGGREGATE_ID_1), eq(0), anyInt()); verify(eventRepository).read(eq(AGGREGATE_ID_1), eq(2), anyInt());