SnapshotRepositoryBuilder.java 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package uk.ac.ic.wlgitbridge.writelatex;
  2. import org.eclipse.jgit.errors.RepositoryNotFoundException;
  3. import org.eclipse.jgit.lib.Repository;
  4. import org.eclipse.jgit.storage.file.FileRepositoryBuilder;
  5. import uk.ac.ic.wlgitbridge.bridge.RepositorySource;
  6. import uk.ac.ic.wlgitbridge.bridge.WLBridgedProject;
  7. import uk.ac.ic.wlgitbridge.writelatex.api.DummySnapshotDBAPI;
  8. import uk.ac.ic.wlgitbridge.writelatex.api.SnapshotDBAPI;
  9. import java.io.File;
  10. import java.io.IOException;
  11. /**
  12. * Created by Winston on 03/11/14.
  13. */
  14. public class SnapshotRepositoryBuilder implements RepositorySource {
  15. private final SnapshotDBAPI snapshotDBAPI;
  16. public SnapshotRepositoryBuilder(SnapshotDBAPI snapshotDBAPI) {
  17. this.snapshotDBAPI = snapshotDBAPI;
  18. }
  19. @Override
  20. public Repository getRepositoryWithNameAtRootDirectory(String name, File rootDirectory) throws RepositoryNotFoundException {
  21. File repositoryDirectory = new File(rootDirectory.getAbsolutePath(), name);
  22. Repository repository = null;
  23. try {
  24. repository = new FileRepositoryBuilder().setWorkTree(repositoryDirectory).build();
  25. } catch (IOException e) {
  26. throw new RepositoryNotFoundException(name);
  27. }
  28. new WLBridgedProject(repository, name, repositoryDirectory, snapshotDBAPI).buildRepository();
  29. return repository;
  30. }
  31. }