Refactor GitRepositoryManager to be an interface

This permits us to easily mock it with EasyMock.  The implementation
that relies on the local filesystem API within JGit has been renamed
to LocalDiskRepositoryManager.

Change-Id: Ib47a2a22f4f6564e1b592a8476c3bc699f4e3b2e
Signed-off-by: Shawn O. Pearce <sop@google.com>
This commit is contained in:
Shawn O. Pearce
2009-12-19 12:06:42 -08:00
parent a06dc11ffe
commit fbcea4cf7a
6 changed files with 226 additions and 174 deletions

View File

@@ -34,7 +34,7 @@ import com.google.gerrit.httpd.GitWebConfig;
import com.google.gerrit.reviewdb.Project;
import com.google.gerrit.server.IdentifiedUser;
import com.google.gerrit.server.config.SitePaths;
import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.gerrit.server.git.LocalDiskRepositoryManager;
import com.google.gerrit.server.project.NoSuchProjectException;
import com.google.gerrit.server.project.ProjectControl;
import com.google.inject.Inject;
@@ -77,12 +77,12 @@ class GitWebServlet extends HttpServlet {
private final Set<String> deniedActions;
private final int bufferSize = 8192;
private final File gitwebCgi;
private final GitRepositoryManager repoManager;
private final LocalDiskRepositoryManager repoManager;
private final ProjectControl.Factory projectControl;
private final EnvList _env;
@Inject
GitWebServlet(final GitRepositoryManager repoManager,
GitWebServlet(final LocalDiskRepositoryManager repoManager,
final ProjectControl.Factory projectControl,
final SitePaths site, final GerritConfig gerritConfig,
final GitWebConfig gitWebConfig) throws IOException {