Refactoring and added unit test.

This commit is contained in:
Winston Li
2014-11-03 17:29:12 +00:00
parent 377ecea693
commit ac55180ba2
6 changed files with 213 additions and 108 deletions
@@ -6,6 +6,7 @@ import uk.ac.ic.wlgitbridge.git.exception.InvalidRootDirectoryPathException;
import uk.ac.ic.wlgitbridge.git.handler.WLReceivePackFactory;
import uk.ac.ic.wlgitbridge.git.handler.WLRepositoryResolver;
import uk.ac.ic.wlgitbridge.git.handler.WLUploadPackFactory;
import uk.ac.ic.wlgitbridge.writelatex.SnapshotRepositoryBuilder;
import javax.servlet.ServletException;
@@ -15,7 +16,7 @@ import javax.servlet.ServletException;
public class WLGitServlet extends GitServlet {
public WLGitServlet(ServletContextHandler servletContextHandler, String rootGitDirectoryPath) throws ServletException, InvalidRootDirectoryPathException {
setRepositoryResolver(new WLRepositoryResolver(rootGitDirectoryPath));
setRepositoryResolver(new WLRepositoryResolver(rootGitDirectoryPath, new SnapshotRepositoryBuilder()));
setReceivePackFactory(new WLReceivePackFactory());
setUploadPackFactory(new WLUploadPackFactory());
init(new WLGitServletConfig(servletContextHandler));
@@ -8,7 +8,7 @@ import org.eclipse.jgit.transport.resolver.ServiceNotAuthorizedException;
import org.eclipse.jgit.transport.resolver.ServiceNotEnabledException;
import uk.ac.ic.wlgitbridge.git.exception.InvalidRootDirectoryPathException;
import uk.ac.ic.wlgitbridge.bridge.RepositorySource;
import uk.ac.ic.wlgitbridge.writelatex.SnapshotRepositorySource;
import uk.ac.ic.wlgitbridge.writelatex.SnapshotRepositoryBuilder;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
@@ -21,9 +21,9 @@ public class WLRepositoryResolver implements RepositoryResolver<HttpServletReque
private File rootGitDirectory;
private RepositorySource repositorySource;
public WLRepositoryResolver(String rootGitDirectoryPath) throws InvalidRootDirectoryPathException {
public WLRepositoryResolver(String rootGitDirectoryPath, SnapshotRepositoryBuilder repositorySource) throws InvalidRootDirectoryPathException {
this.repositorySource = repositorySource;
initRootGitDirectory(rootGitDirectoryPath);
repositorySource = new SnapshotRepositorySource();
}
@Override
@@ -11,7 +11,7 @@ import java.io.IOException;
/**
* Created by Winston on 03/11/14.
*/
public class SnapshotRepositorySource implements RepositorySource {
public class SnapshotRepositoryBuilder implements RepositorySource {
@Override
public Repository getRepositoryWithNameAtRootDirectory(String name, File rootDirectory) throws RepositoryNotFoundException {