Fix warnings introduced in 6673becb41c774b1063e4b18c1821ced049fee2e Eclipse was complaining about these. Change-Id: Id253d8ee93207b2a26e26ab4e5d7930cf62f2884
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/ChainedScheduler.java b/src/main/java/com/googlesource/gerrit/plugins/replication/ChainedScheduler.java index ff3fdf3..89b97e9 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/ChainedScheduler.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/ChainedScheduler.java
@@ -40,7 +40,7 @@ */ public interface Runner<T> { /** Will get executed in the thread pool task for each item */ - default void run(T item) {} + void run(T item); /** Will get called after the last item completes */ default void onDone() {}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationQueue.java b/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationQueue.java index 641ac7d..66be6dd 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationQueue.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationQueue.java
@@ -188,7 +188,7 @@ private void firePendingEvents() { replaying = true; - new ChainedScheduler.StreamScheduler<ReplicationTasksStorage.ReplicateRefUpdate>( + new ChainedScheduler.StreamScheduler<>( workQueue.getDefaultQueue(), replicationTasksStorage.streamWaiting(), new ChainedScheduler.Runner<ReplicationTasksStorage.ReplicateRefUpdate>() {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/ChainedSchedulerTest.java b/src/test/java/com/googlesource/gerrit/plugins/replication/ChainedSchedulerTest.java index 1ad8c4d..90191f2 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/replication/ChainedSchedulerTest.java +++ b/src/test/java/com/googlesource/gerrit/plugins/replication/ChainedSchedulerTest.java
@@ -238,7 +238,7 @@ TestRunner runner = new TestRunner(); List<String> items = new ArrayList<>(); - new ChainedScheduler(executor, items.iterator(), runner); + new ChainedScheduler<>(executor, items.iterator(), runner); assertThat(runner.awaitDone(1)).isEqualTo(true); assertThat(runner.runCount()).isEqualTo(0); } @@ -250,7 +250,7 @@ List<String> items = new ArrayList<>(); items.add(FIRST); - new ChainedScheduler(executor, items.iterator(), runner); + new ChainedScheduler<>(executor, items.iterator(), runner); assertThat(runner.awaitDone(1)).isEqualTo(true); assertThat(runner.runCount()).isEqualTo(1); } @@ -261,7 +261,7 @@ TestRunner runner = new TestRunner(); List<String> items = createManyItems(); - new ChainedScheduler(executor, items.iterator(), runner); + new ChainedScheduler<>(executor, items.iterator(), runner); assertThat(runner.awaitDone(items.size())).isEqualTo(true); assertThat(runner.runCount()).isEqualTo(items.size()); } @@ -282,7 +282,7 @@ items.add(SECOND); items.add(THIRD); - new ChainedScheduler(executor, items.iterator(), runner); + new ChainedScheduler<>(executor, items.iterator(), runner); assertThat(runner.awaitDone(items.size())).isEqualTo(true); assertThat(runner.runCount()).isEqualTo(items.size()); } @@ -293,7 +293,7 @@ WaitingRunner runner = new WaitingRunner(); List<String> items = createManyItems(); - new ChainedScheduler(executor, items.iterator(), runner); + new ChainedScheduler<>(executor, items.iterator(), runner); for (int i = 1; i <= items.size(); i++) { assertThat(runner.isDone()).isEqualTo(false); runner.runOneRandomStarted(); @@ -312,7 +312,7 @@ List<String> items = createItems(threads + 1 /* Running */ + 1 /* Waiting */); CountingIterator it = new CountingIterator(items.iterator()); - new ChainedScheduler(executor, it, runner); + new ChainedScheduler<>(executor, it, runner); assertThat(runner.awaitStart(FIRST, 1)).isEqualTo(true); // Confirms at least one Running assertThat(it.count).isGreaterThan(1); // Confirms at least one extra Waiting or Running assertThat(it.count).isLessThan(items.size()); // Confirms at least one still not queued @@ -341,7 +341,7 @@ WaitingRunner runner = new WaitingRunner(); List<String> items = createManyItems(); - new ChainedScheduler(executor, items.iterator(), runner); + new ChainedScheduler<>(executor, items.iterator(), runner); for (int j = 1; j <= MANY_ITEMS_SIZE; j += threads) { // If #threads items can start before any complete, it proves #threads are @@ -372,7 +372,7 @@ batches.add(executeWaitingRunnableBatch(batchSize, executor)); } - new ChainedScheduler(executor, items.iterator(), runner); + new ChainedScheduler<>(executor, items.iterator(), runner); for (int i = 1; i <= items.size(); i++) { for (int b = 0; b < blockSize; b++) { @@ -399,7 +399,8 @@ TestRunner runner = new TestRunner(); List<String> items = createManyItems(); - new ChainedScheduler(executor, items.iterator(), new ChainedScheduler.ForwardingRunner(runner)); + new ChainedScheduler<>( + executor, items.iterator(), new ChainedScheduler.ForwardingRunner<>(runner)); assertThat(runner.awaitDone(items.size())).isEqualTo(true); assertThat(runner.runCount()).isEqualTo(items.size()); } @@ -415,21 +416,15 @@ final AtomicBoolean closed = new AtomicBoolean(false); Object closeRecorder = new Object() { + @SuppressWarnings("unused") // Called via reflection public void close() { closed.set(true); } }; - Stream<String> stream = - ForwardingProxy.create( - Stream.class, - items.stream(), - new Object() { - public void close() { - closed.set(true); - } - }); + @SuppressWarnings("unchecked") // Stream.class is converted to Stream<String>.class + Stream<String> stream = ForwardingProxy.create(Stream.class, items.stream(), closeRecorder); - new ChainedScheduler.StreamScheduler(executor, stream, runner); + new ChainedScheduler.StreamScheduler<>(executor, stream, runner); assertThat(closed.get()).isEqualTo(false); // Since there is only a single thread, the Stream cannot get closed before this runs
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/ForwardingProxy.java b/src/test/java/com/googlesource/gerrit/plugins/replication/ForwardingProxy.java index dbd538e..a1f61fe 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/replication/ForwardingProxy.java +++ b/src/test/java/com/googlesource/gerrit/plugins/replication/ForwardingProxy.java
@@ -70,11 +70,12 @@ } } + @SuppressWarnings("unchecked") // newProxyInstance returns Object public static <T> T create(Class<T> toProxy, T delegate, Object overrider) { return (T) Proxy.newProxyInstance( delegate.getClass().getClassLoader(), new Class[] {toProxy}, - new Handler(delegate, overrider)); + new Handler<>(delegate, overrider)); } }