Merge branch 'stable-3.4' into stable-3.5
* stable-3.4:
Bump project and Gerrit version to v3.4.8
Use a simpler named binding for the LocalDiskRepositoryManager
Associated GitRepositoryManager indirectly through a Named binding
Change-Id: I3665602e82b01d559646302bf61a7f336e6ed816
diff --git a/src/main/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefDbGitRepositoryManager.java b/src/main/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefDbGitRepositoryManager.java
index 9d942ce..aa56889 100644
--- a/src/main/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefDbGitRepositoryManager.java
+++ b/src/main/java/com/gerritforge/gerrit/globalrefdb/validation/SharedRefDbGitRepositoryManager.java
@@ -14,6 +14,7 @@
package com.gerritforge.gerrit.globalrefdb.validation;
+import com.google.common.base.MoreObjects;
import com.google.common.collect.ImmutableSet;
import com.google.gerrit.entities.Project;
import com.google.gerrit.entities.Project.NameKey;
@@ -50,7 +51,11 @@
*/
public static final String IGNORED_REFS = "ignored_refs";
- private final GitRepositoryManager gitRepositoryManager;
+ @Inject(optional = true)
+ @Named("LocalDiskRepositoryManager")
+ private GitRepositoryManager gitRepositoryManager;
+
+ private final LocalDiskRepositoryManager localDiskRepositoryManager;
private final SharedRefDbRepository.Factory sharedRefDbRepoFactory;
@Inject(optional = true)
@@ -71,7 +76,7 @@
SharedRefDbRepository.Factory sharedRefDbRepoFactory,
LocalDiskRepositoryManager localDiskRepositoryManager) {
this.sharedRefDbRepoFactory = sharedRefDbRepoFactory;
- this.gitRepositoryManager = localDiskRepositoryManager;
+ this.localDiskRepositoryManager = localDiskRepositoryManager;
}
/**
@@ -85,7 +90,7 @@
@Override
public Repository openRepository(Project.NameKey name)
throws RepositoryNotFoundException, IOException {
- return wrap(name, gitRepositoryManager.openRepository(name));
+ return wrap(name, repositoryManager().openRepository(name));
}
/**
@@ -101,12 +106,12 @@
@Override
public Repository createRepository(Project.NameKey name)
throws RepositoryCaseMismatchException, RepositoryNotFoundException, IOException {
- return wrap(name, gitRepositoryManager.createRepository(name));
+ return wrap(name, repositoryManager().createRepository(name));
}
@Override
public SortedSet<Project.NameKey> list() {
- return gitRepositoryManager.list();
+ return repositoryManager().list();
}
@Override
@@ -122,4 +127,8 @@
private Repository wrap(Project.NameKey projectName, Repository projectRepo) {
return sharedRefDbRepoFactory.create(projectName.get(), projectRepo, ignoredRefs);
}
+
+ private GitRepositoryManager repositoryManager() {
+ return MoreObjects.firstNonNull(gitRepositoryManager, localDiskRepositoryManager);
+ }
}