From: Robert Varga Date: Fri, 15 Mar 2024 10:11:11 +0000 (+0100) Subject: Make JournalSegmentWriter.getNextIndex() final X-Git-Tag: v9.0.1~6 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=b73ab4c9bbb2e80fc191d35c410a89a7774938dd;hp=f9f7739e90523361e38406d7df15cd99337219c5 Make JournalSegmentWriter.getNextIndex() final We have duplicated code between the two implementations. Centralize it to the common superclass. JIRA: CONTROLLER-2098 Change-Id: I84b1a1d716c2ccbaaf2f75e3728bcbad0aa05ec6 Signed-off-by: Robert Varga --- diff --git a/atomix-storage/src/main/java/io/atomix/storage/journal/FileChannelJournalSegmentWriter.java b/atomix-storage/src/main/java/io/atomix/storage/journal/FileChannelJournalSegmentWriter.java index 5f146c7f86..c4423d3c92 100644 --- a/atomix-storage/src/main/java/io/atomix/storage/journal/FileChannelJournalSegmentWriter.java +++ b/atomix-storage/src/main/java/io/atomix/storage/journal/FileChannelJournalSegmentWriter.java @@ -151,15 +151,6 @@ final class FileChannelJournalSegmentWriter extends JournalSegmentWriter { return lastEntry; } - @Override - long getNextIndex() { - if (lastEntry != null) { - return lastEntry.index() + 1; - } else { - return firstIndex; - } - } - @Override @SuppressWarnings("unchecked") Indexed append(T entry) { diff --git a/atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegmentWriter.java b/atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegmentWriter.java index 8ddaaae3c6..ae3c0b5058 100644 --- a/atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegmentWriter.java +++ b/atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegmentWriter.java @@ -72,7 +72,10 @@ abstract sealed class JournalSegmentWriter permits FileChannelJournalSegmentW * * @return The next index to be written. */ - abstract long getNextIndex(); + final long getNextIndex() { + final Indexed lastEntry; + return (lastEntry = getLastEntry()) != null ? lastEntry.index() + 1 : firstIndex; + } /** * Appends an entry to the journal. diff --git a/atomix-storage/src/main/java/io/atomix/storage/journal/MappedJournalSegmentWriter.java b/atomix-storage/src/main/java/io/atomix/storage/journal/MappedJournalSegmentWriter.java index ffc45dcfe7..76080c583d 100644 --- a/atomix-storage/src/main/java/io/atomix/storage/journal/MappedJournalSegmentWriter.java +++ b/atomix-storage/src/main/java/io/atomix/storage/journal/MappedJournalSegmentWriter.java @@ -154,15 +154,6 @@ final class MappedJournalSegmentWriter extends JournalSegmentWriter { return lastEntry; } - @Override - long getNextIndex() { - if (lastEntry != null) { - return lastEntry.index() + 1; - } else { - return firstIndex; - } - } - @Override @SuppressWarnings("unchecked") Indexed append(T entry) {