diff --git a/services/git-bridge/src/uk/ac/ic/wlgitbridge/bridge/WLBridgedProject.java b/services/git-bridge/src/uk/ac/ic/wlgitbridge/bridge/WLBridgedProject.java index 4b94a4a68c..f2b6e31036 100644 --- a/services/git-bridge/src/uk/ac/ic/wlgitbridge/bridge/WLBridgedProject.java +++ b/services/git-bridge/src/uk/ac/ic/wlgitbridge/bridge/WLBridgedProject.java @@ -1,11 +1,13 @@ package uk.ac.ic.wlgitbridge.bridge; import org.eclipse.jgit.api.Git; +import org.eclipse.jgit.api.errors.GitAPIException; import org.eclipse.jgit.errors.RepositoryNotFoundException; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.transport.resolver.ServiceNotEnabledException; import uk.ac.ic.wlgitbridge.writelatex.api.SnapshotDBAPI; import uk.ac.ic.wlgitbridge.writelatex.api.request.exception.FailedConnectionException; +import uk.ac.ic.wlgitbridge.writelatex.api.request.getdoc.exception.InvalidProjectException; import uk.ac.ic.wlgitbridge.writelatex.model.Snapshot; import java.io.File; @@ -37,17 +39,23 @@ public class WLBridgedProject { } } - private void updateRepositoryFromSnapshots(Repository repository) throws ServiceNotEnabledException { + private void updateRepositoryFromSnapshots(Repository repository) throws ServiceNotEnabledException, RepositoryNotFoundException, FailedConnectionException { + List snapshotsToAdd; + try { + snapshotsToAdd = snapshotDBAPI.getSnapshotsToAddToProject(name); + } catch (InvalidProjectException e) { + throw new RepositoryNotFoundException(name); + } try { - List snapshotsToAdd = snapshotDBAPI.getSnapshotsToAddToProject(name); for (Snapshot snapshot : snapshotsToAdd) { snapshot.writeToDisk(repositoryDirectory.getAbsolutePath()); Git git = new Git(repository); git.add().addFilepattern(".").call(); git.commit().setAuthor(snapshot.getUserName(), snapshot.getUserEmail()).setMessage(snapshot.getComment()).call(); } - } catch (Throwable throwable) { - throwable.printStackTrace(); + } catch (GitAPIException e) { + throw new ServiceNotEnabledException(); + } catch (IOException e) { throw new ServiceNotEnabledException(); } } diff --git a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/SnapshotRepositoryBuilder.java b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/SnapshotRepositoryBuilder.java index 6fc266d12d..f5b8ec4831 100644 --- a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/SnapshotRepositoryBuilder.java +++ b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/SnapshotRepositoryBuilder.java @@ -30,13 +30,11 @@ public class SnapshotRepositoryBuilder implements RepositorySource { Repository repository = null; try { repository = new FileRepositoryBuilder().setWorkTree(repositoryDirectory).build(); - } catch (IOException e) { - e.printStackTrace(); - } - try { new WLBridgedProject(repository, name, repositoryDirectory, snapshotDBAPI).buildRepository(); } catch (FailedConnectionException e) { - e.printStackTrace(); + throw new ServiceNotEnabledException(); + } catch (IOException e) { + throw new ServiceNotEnabledException(); } return repository; } diff --git a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/filestore/FileIndexStore.java b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/filestore/FileIndexStore.java index 6633d2bca4..9fe91fe360 100644 --- a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/filestore/FileIndexStore.java +++ b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/filestore/FileIndexStore.java @@ -16,6 +16,8 @@ public class FileIndexStore { urlMappings = new HashMap(); } - + public void addAttachment(String url, String filePath) { + urlMappings.put(url, filePath); + } } diff --git a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/filestore/WLDirectoryNode.java b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/filestore/WLDirectoryNode.java index 7611a00a3c..dd9cf5e6a1 100644 --- a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/filestore/WLDirectoryNode.java +++ b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/filestore/WLDirectoryNode.java @@ -3,8 +3,6 @@ package uk.ac.ic.wlgitbridge.writelatex.filestore; import uk.ac.ic.wlgitbridge.writelatex.model.Snapshot; import uk.ac.ic.wlgitbridge.writelatex.model.WLProject; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; import java.util.HashMap; import java.util.Map; diff --git a/services/git-bridge/test/uk/ac/ic/wlgitbridge/git/exception/InvalidRootDirectoryPathException.java b/services/git-bridge/test/uk/ac/ic/wlgitbridge/git/exception/InvalidRootDirectoryPathExceptionTest.java similarity index 75% rename from services/git-bridge/test/uk/ac/ic/wlgitbridge/git/exception/InvalidRootDirectoryPathException.java rename to services/git-bridge/test/uk/ac/ic/wlgitbridge/git/exception/InvalidRootDirectoryPathExceptionTest.java index 720c7d6ef8..3cc9766f94 100644 --- a/services/git-bridge/test/uk/ac/ic/wlgitbridge/git/exception/InvalidRootDirectoryPathException.java +++ b/services/git-bridge/test/uk/ac/ic/wlgitbridge/git/exception/InvalidRootDirectoryPathExceptionTest.java @@ -5,7 +5,7 @@ import org.junit.Test; /** * Created by Winston on 03/11/14. */ -public class InvalidRootDirectoryPathException { +public class InvalidRootDirectoryPathExceptionTest { @Test public void nothingToTest() {