diff --git a/data/src/main/java/one/nem/lacerta/source/jgit/RepoUtils.java b/data/src/main/java/one/nem/lacerta/source/jgit/RepoUtils.java index 66ce2647..a61767ea 100644 --- a/data/src/main/java/one/nem/lacerta/source/jgit/RepoUtils.java +++ b/data/src/main/java/one/nem/lacerta/source/jgit/RepoUtils.java @@ -4,16 +4,40 @@ import org.eclipse.jgit.internal.storage.file.FileRepository; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.storage.file.FileRepositoryBuilder; +import java.nio.file.Path; + +import javax.inject.Inject; + +import one.nem.lacerta.utils.repository.FileUtils; + public class RepoUtils { // Internal Utils - public Repository createRepo(String id, ) { - Repository repository = FileRepositoryBuilder.create( + @Inject + FileUtils fileUtils; - ) + + public Repository createRepo(String id) { + Path rootPath = fileUtils.getExternalFilesDirPath(); + + try { + Repository repo = new FileRepository(rootPath.resolve(id).resolve(".git").toFile()); + repo.create(); + return repo; + } catch (Exception e) { + // TODO-rca: handle exception + return null; + } } public Repository getRepo(String id) { - // WIP + Path rootPath = fileUtils.getExternalFilesDirPath(); + try { + Repository repo = new FileRepositoryBuilder().setGitDir(rootPath.resolve(id).resolve(".git").toFile()).build(); + return repo; + } catch (Exception e) { + // TODO-rca: handle exception + return null; + } } public String getRepoName(Repository repo) { return repo.getDirectory().getParentFile().getName();