Get rid of unnecessary functional interfaces
Use standard functional interfaces instead.
Change-Id: I08db0228077dfef1d3362cf9d64f2ce89af31c5f
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/IndexEventLocks.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/IndexEventLocks.java
index bbff4ee..a0d344b 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/IndexEventLocks.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/IndexEventLocks.java
@@ -23,6 +23,7 @@
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
+import java.util.function.Supplier;
public class IndexEventLocks {
private static final FluentLogger log = FluentLogger.forEnclosingClass();
@@ -39,15 +40,15 @@
}
public CompletableFuture<?> withLock(
- IndexTask id, IndexCallFunction function, VoidFunction lockAcquireTimeoutCallback) {
+ IndexTask id, Supplier<CompletableFuture<?>> indexTask, Runnable lockAcquireTimeoutCallback) {
String indexId = id.indexId();
Semaphore idSemaphore = getSemaphore(indexId);
try {
log.atFine().log("Trying to acquire %s", id);
if (idSemaphore.tryAcquire(WAIT_TIMEOUT_MS, TimeUnit.MILLISECONDS)) {
log.atFine().log("Acquired %s", id);
- return function
- .invoke()
+ return indexTask
+ .get()
.whenComplete(
(result, error) -> {
try {
@@ -66,7 +67,7 @@
"Acquisition of the locking of %s timed out after %d msec: consider increasing the number of shards",
indexId, WAIT_TIMEOUT_MS);
log.atWarning().log("%s", timeoutMessage);
- lockAcquireTimeoutCallback.invoke();
+ lockAcquireTimeoutCallback.run();
CompletableFuture<?> failureFuture = new CompletableFuture<>();
failureFuture.completeExceptionally(new InterruptedException(timeoutMessage));
return failureFuture;
@@ -82,14 +83,4 @@
protected Semaphore getSemaphore(String indexId) {
return semaphores.get(indexId);
}
-
- @FunctionalInterface
- public interface VoidFunction {
- void invoke();
- }
-
- @FunctionalInterface
- public interface IndexCallFunction {
- CompletableFuture<?> invoke();
- }
}
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/index/IndexEventHandlerTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/index/IndexEventHandlerTest.java
index 7c6a4f6..bf87e4d 100644
--- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/index/IndexEventHandlerTest.java
+++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/index/IndexEventHandlerTest.java
@@ -34,7 +34,6 @@
import com.ericsson.gerrit.plugins.highavailability.index.IndexEventHandler.IndexChangeTask;
import com.ericsson.gerrit.plugins.highavailability.index.IndexEventHandler.IndexGroupTask;
import com.ericsson.gerrit.plugins.highavailability.index.IndexEventHandler.IndexTask;
-import com.ericsson.gerrit.plugins.highavailability.index.IndexEventLocks.VoidFunction;
import com.google.gerrit.entities.Account;
import com.google.gerrit.entities.AccountGroup;
import com.google.gerrit.entities.Change;
@@ -567,14 +566,11 @@
private IndexTask task;
private CyclicBarrier testBarrier;
private Supplier<T> successFunc;
- private VoidFunction failureFunc;
+ private Runnable failureFunc;
private CompletableFuture<T> future;
public TestTask(
- IndexTask task,
- CyclicBarrier testBarrier,
- Supplier<T> successFunc,
- VoidFunction failureFunc) {
+ IndexTask task, CyclicBarrier testBarrier, Supplier<T> successFunc, Runnable failureFunc) {
this.task = task;
this.testBarrier = testBarrier;
this.successFunc = successFunc;
@@ -598,7 +594,7 @@
}),
() -> {
await();
- failureFunc.invoke();
+ failureFunc.run();
})
.whenComplete(
(v, t) -> {