Improve Overrides in event plugin
Provide a functional default getDestination() that can be overridden for
sharding, and override it for testing with the original "dumb" version.
Also add more missing @Overrides.
Change-Id: Ibbfca57616390c1c6abe7c0e492c84a1cac941ea
diff --git a/src/main/java/com/googlesource/gerrit/plugins/events/fsstore/EventSequence.java b/src/main/java/com/googlesource/gerrit/plugins/events/fsstore/EventSequence.java
index 1c51219..4a91642 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/events/fsstore/EventSequence.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/events/fsstore/EventSequence.java
@@ -107,12 +107,14 @@
return currentValue + 1;
}
+ @Override
protected UniqueUpdate createUniqueUpdate(String uuid, boolean ours, long maxTries)
throws IOException {
return new UniqueUpdate(uuid, ours, maxTries);
}
+ /** Override to shard */
protected Path getEventDestination(Long n) {
- return paths.base.resolve(EVENT);
+ return paths.base.resolve(EVENT).resolve(n.toString());
}
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/events/fsstore/FsSequence.java b/src/main/java/com/googlesource/gerrit/plugins/events/fsstore/FsSequence.java
index 7d2d98e..5b7135e 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/events/fsstore/FsSequence.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/events/fsstore/FsSequence.java
@@ -109,6 +109,7 @@
return currentValue + 1;
}
+ @Override
protected UniqueUpdate createUniqueUpdate(String uuid, boolean ours, long maxTries)
throws IOException {
return new UniqueUpdate(uuid, ours, maxTries);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/events/fsstore/FsStore.java b/src/main/java/com/googlesource/gerrit/plugins/events/fsstore/FsStore.java
index 08b0a3b..a9cec81 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/events/fsstore/FsStore.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/events/fsstore/FsStore.java
@@ -48,6 +48,7 @@
this.paths = paths;
}
+ @Override
protected Path getEventDestination(Long n) {
Path event = paths.events.path(n);
try {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/events/fsstore/EventSequenceTest.java b/src/test/java/com/googlesource/gerrit/plugins/events/fsstore/EventSequenceTest.java
index 5e0fb94..54618ff 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/events/fsstore/EventSequenceTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/events/fsstore/EventSequenceTest.java
@@ -37,7 +37,14 @@
if (myBase == null) {
myBase = Files.createTempDirectory(dir);
}
- seq = new EventSequence(myBase);
+ seq =
+ new EventSequence(myBase) {
+ @Override
+ protected Path getEventDestination(Long n) {
+ return paths.base.resolve(EVENT);
+ }
+ };
+
seq.initFs((long) 0);
}