Fix master branch with Optional<ProjectState> from ProjectCache
The Gerrit master branch has changed way ProjectCache works
and the get() method returns now an Optional<ProjectState> instead
of relying to null return values when the project doesn't exist.
Change-Id: Ia97ffe46b65b76668b66e28a9ac0826d4826a9ec
diff --git a/src/main/java/com/googlesource/gerrit/plugins/download/command/project/DownloadCommandUpdater.java b/src/main/java/com/googlesource/gerrit/plugins/download/command/project/DownloadCommandUpdater.java
index 5daa828..dc98f5d 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/download/command/project/DownloadCommandUpdater.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/download/command/project/DownloadCommandUpdater.java
@@ -35,6 +35,7 @@
import com.google.inject.Singleton;
import java.io.IOException;
import java.util.Map;
+import java.util.Optional;
import java.util.concurrent.ScheduledExecutorService;
import org.eclipse.jgit.errors.ConfigInvalidException;
import org.eclipse.jgit.lib.ObjectId;
@@ -79,11 +80,12 @@
@Override
public void run() {
for (Project.NameKey p : projectCache.all()) {
- ProjectState projectState = projectCache.get(p);
- if (projectState != null) {
- PluginConfig cfg = projectState.getConfig().getPluginConfig(pluginName);
+ Optional<ProjectState> projectState = projectCache.get(p);
+ if (projectState.isPresent()) {
+ PluginConfig cfg = projectState.get().getConfig().getPluginConfig(pluginName);
for (String name : cfg.getNames()) {
- installCommand(projectState.getProject().getNameKey(), name, cfg.getString(name));
+ installCommand(
+ projectState.get().getProject().getNameKey(), name, cfg.getString(name));
}
}
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/download/command/project/ProjectDownloadCommand.java b/src/main/java/com/googlesource/gerrit/plugins/download/command/project/ProjectDownloadCommand.java
index 10d0291..e011f04 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/download/command/project/ProjectDownloadCommand.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/download/command/project/ProjectDownloadCommand.java
@@ -22,6 +22,7 @@
import com.google.gerrit.server.project.ProjectCache;
import com.google.gerrit.server.project.ProjectState;
import java.util.Map;
+import java.util.Optional;
public class ProjectDownloadCommand extends DownloadCommand {
private final ProjectCache projectCache;
@@ -50,9 +51,9 @@
Project.NameKey projectName = Project.nameKey(project);
String command = commands.get(projectName);
if (command == null) {
- ProjectState projectState = projectCache.get(projectName);
- if (projectState != null) {
- for (ProjectState parent : projectState.parents()) {
+ Optional<ProjectState> projectState = projectCache.get(projectName);
+ if (projectState.isPresent()) {
+ for (ProjectState parent : projectState.get().parents()) {
command = commands.get(parent.getProject().getNameKey());
if (command != null) {
break;