@Override public Optional<DomainEventMessage<?>> readSnapshot(String aggregateIdentifier) { return readSnapshotData(aggregateIdentifier) .filter(snapshotFilter) .map(snapshot -> upcastAndDeserializeDomainEvents(Stream.of(snapshot), snapshotSerializer, upcasterChain )) .flatMap(DomainEventStream::asStream) .findFirst() .map(event -> (DomainEventMessage<?>) event); }
@Override public Optional<DomainEventMessage<?>> readSnapshot(String aggregateIdentifier) { return readSnapshotData(aggregateIdentifier) .filter(snapshotFilter) .map(snapshot -> upcastAndDeserializeDomainEvents(Stream.of(snapshot), snapshotSerializer, upcasterChain )) .flatMap(DomainEventStream::asStream) .findFirst() .map(event -> (DomainEventMessage<?>) event); }
@Override public Optional<DomainEventMessage<?>> readSnapshot(String aggregateIdentifier) { return readSnapshotData(aggregateIdentifier).filter(snapshotFilter).map(entry -> { DomainEventStream stream = EventUtils.upcastAndDeserializeDomainEvents(Stream.of(entry), serializer, upcasterChain, false); return stream.hasNext() ? stream.next() : null; }); }