@Override public Optional<Long> lastSequenceNumberFor(String aggregateIdentifier) { return delegate.lastSequenceNumberFor(aggregateIdentifier); }
@Override public Optional<Long> lastSequenceNumberFor(String aggregateIdentifier) { Optional<Long> result = activeStorage.lastSequenceNumberFor(aggregateIdentifier); if (result.isPresent()) { return result; } return historicStorage.lastSequenceNumberFor(aggregateIdentifier); }
@Override public Optional<Long> lastSequenceNumberFor(String aggregateIdentifier) { Optional<Long> highestStaged = stagedDomainEventMessages(aggregateIdentifier) .map(DomainEventMessage::getSequenceNumber) .max(Long::compareTo); if (highestStaged.isPresent()) { return highestStaged; } return storageEngine.lastSequenceNumberFor(aggregateIdentifier); }
@Override public Optional<Long> lastSequenceNumberFor(String aggregateIdentifier) { return delegate.lastSequenceNumberFor(aggregateIdentifier); }
@Override public Optional<Long> lastSequenceNumberFor(String aggregateIdentifier) { return delegate.lastSequenceNumberFor(aggregateIdentifier); }
@Override public Optional<Long> lastSequenceNumberFor(String aggregateIdentifier) { Optional<Long> result = activeStorage.lastSequenceNumberFor(aggregateIdentifier); if (result.isPresent()) { return result; } return historicStorage.lastSequenceNumberFor(aggregateIdentifier); }
@Override public Optional<Long> lastSequenceNumberFor(String aggregateIdentifier) { Optional<Long> result = activeStorage.lastSequenceNumberFor(aggregateIdentifier); if (result.isPresent()) { return result; } return historicStorage.lastSequenceNumberFor(aggregateIdentifier); }
@Override public Optional<Long> lastSequenceNumberFor(String aggregateIdentifier) { Optional<Long> highestStaged = stagedDomainEventMessages(aggregateIdentifier) .map(DomainEventMessage::getSequenceNumber) .max(Long::compareTo); if (highestStaged.isPresent()) { return highestStaged; } return storageEngine.lastSequenceNumberFor(aggregateIdentifier); }
@Override public Optional<Long> lastSequenceNumberFor(String aggregateIdentifier) { Optional<Long> highestStaged = stagedDomainEventMessages(aggregateIdentifier) .map(DomainEventMessage::getSequenceNumber) .max(Long::compareTo); if (highestStaged.isPresent()) { return highestStaged; } return storageEngine.lastSequenceNumberFor(aggregateIdentifier); }