Annotate methods that return a definitely null value with @Nullable We intend to enable the ReturnMissingNullable errorprone pattern in Gerrit core and this fixes the current issues. Signed-off-by: Edwin Kempin <ekempin@google.com> Change-Id: I676195e33e7c4400f8ad751157782a7e262c9243
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/Destination.java b/src/main/java/com/googlesource/gerrit/plugins/replication/Destination.java index b205073..53bc9cf 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/Destination.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/Destination.java
@@ -25,6 +25,7 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import com.google.common.io.Files; +import com.google.gerrit.common.Nullable; import com.google.gerrit.entities.AccountGroup; import com.google.gerrit.entities.BranchNameKey; import com.google.gerrit.entities.GroupReference; @@ -453,6 +454,7 @@ } } + @Nullable private PushOne getPendingPush(URIish uri) { PushOne e = pending.get(uri); if (e != null && !e.wasCanceled()) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/GerritRestApi.java b/src/main/java/com/googlesource/gerrit/plugins/replication/GerritRestApi.java index fa81dd0..5081e2b 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/GerritRestApi.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/GerritRestApi.java
@@ -18,6 +18,7 @@ import static com.googlesource.gerrit.plugins.replication.ReplicationQueue.repLog; import static java.nio.charset.StandardCharsets.UTF_8; +import com.google.gerrit.common.Nullable; import com.google.gerrit.entities.Project; import com.google.gerrit.extensions.restapi.Url; import com.google.inject.Inject; @@ -109,6 +110,7 @@ return ctx; } + @Nullable private CredentialsProvider adapt(org.eclipse.jgit.transport.CredentialsProvider cp) { CredentialItem.Username user = new CredentialItem.Username(); CredentialItem.Password pass = new CredentialItem.Password();
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/PushOne.java b/src/main/java/com/googlesource/gerrit/plugins/replication/PushOne.java index da3089e..e7b53c6 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/PushOne.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/PushOne.java
@@ -30,6 +30,7 @@ import com.google.common.collect.ListMultimap; import com.google.common.collect.Lists; import com.google.common.collect.Sets; +import com.google.gerrit.common.Nullable; import com.google.gerrit.entities.Project; import com.google.gerrit.entities.RefNames; import com.google.gerrit.extensions.events.GitBatchRefUpdateListener; @@ -755,6 +756,7 @@ } } + @Nullable private RefSpec matchSrc(String ref) { for (RefSpec s : config.getPushRefSpecs()) { if (s.matchSource(ref)) { @@ -764,6 +766,7 @@ return null; } + @Nullable private RefSpec matchDst(String ref) { for (RefSpec s : config.getPushRefSpecs()) { if (s.matchDestination(ref)) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationFileBasedConfig.java b/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationFileBasedConfig.java index 2424e71..93990f4 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationFileBasedConfig.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationFileBasedConfig.java
@@ -16,6 +16,7 @@ import static com.googlesource.gerrit.plugins.replication.ReplicationQueue.repLog; import com.google.common.base.Strings; +import com.google.gerrit.common.Nullable; import com.google.gerrit.extensions.annotations.PluginData; import com.google.gerrit.server.config.SitePaths; import com.google.inject.Inject; @@ -59,6 +60,7 @@ this.pluginDataDir = pluginDataDir; } + @Nullable public static String replaceName(String in, String name, boolean keyIsOptional) { String key = "${name}"; int n = in.indexOf(key);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationTasksStorage.java b/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationTasksStorage.java index 3d04cdd..4dd6060 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationTasksStorage.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationTasksStorage.java
@@ -21,6 +21,7 @@ import com.google.common.collect.ImmutableSet; import com.google.common.flogger.FluentLogger; import com.google.common.hash.Hashing; +import com.google.gerrit.common.Nullable; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.TypeAdapter; @@ -265,6 +266,7 @@ out.endObject(); } + @Nullable @Override public ReplicateRefUpdate read(JsonReader in) throws IOException { if (in.peek() == JsonToken.NULL) { @@ -321,6 +323,7 @@ } @SuppressWarnings("unchecked") + @Nullable @Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) { if (type.equals(TypeToken.get(AutoValue_ReplicationTasksStorage_ReplicateRefUpdate.class))
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/FakeExecutorService.java b/src/test/java/com/googlesource/gerrit/plugins/replication/FakeExecutorService.java index 2f7059e..ce94187 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/replication/FakeExecutorService.java +++ b/src/test/java/com/googlesource/gerrit/plugins/replication/FakeExecutorService.java
@@ -14,6 +14,7 @@ package com.googlesource.gerrit.plugins.replication; +import com.google.gerrit.common.Nullable; import java.util.Collection; import java.util.List; import java.util.concurrent.Callable; @@ -103,6 +104,7 @@ return null; } + @Nullable @Override public ScheduledFuture<?> scheduleAtFixedRate( Runnable command, long initialDelay, long period, TimeUnit unit) { @@ -110,6 +112,7 @@ return null; } + @Nullable @Override public ScheduledFuture<?> scheduleWithFixedDelay( Runnable command, long initialDelay, long delay, TimeUnit unit) {
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 5e6bde8..c8dcae0 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/replication/ForwardingProxy.java +++ b/src/test/java/com/googlesource/gerrit/plugins/replication/ForwardingProxy.java
@@ -14,6 +14,7 @@ package com.googlesource.gerrit.plugins.replication; +import com.google.gerrit.common.Nullable; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; @@ -55,6 +56,7 @@ return method.invoke(delegate, args); } + @Nullable protected Method getOverriden(Method method) { try { Method implementedByOverrider =
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/ReplicationDaemon.java b/src/test/java/com/googlesource/gerrit/plugins/replication/ReplicationDaemon.java index b6a3ed1..3bc86c7 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/replication/ReplicationDaemon.java +++ b/src/test/java/com/googlesource/gerrit/plugins/replication/ReplicationDaemon.java
@@ -22,6 +22,7 @@ import com.google.gerrit.acceptance.UseLocalDisk; import com.google.gerrit.acceptance.WaitUtil; import com.google.gerrit.acceptance.testsuite.project.ProjectOperations; +import com.google.gerrit.common.Nullable; import com.google.gerrit.entities.Project; import com.google.gerrit.extensions.api.changes.NotifyHandling; import com.google.gerrit.extensions.events.ProjectDeletedListener; @@ -245,6 +246,7 @@ return true; } + @Nullable protected Ref checkedGetRef(Repository repo, String branchName) { try { return repo.getRefDatabase().exactRef(branchName);