diff --git a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/model/WLDataModel.java b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/model/WLDataModel.java index 866fc627f4..06a408f043 100644 --- a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/model/WLDataModel.java +++ b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/model/WLDataModel.java @@ -10,6 +10,7 @@ import uk.ac.ic.wlgitbridge.writelatex.api.request.getdoc.exception.InvalidProje import uk.ac.ic.wlgitbridge.writelatex.api.request.push.exception.SnapshotPostException; import uk.ac.ic.wlgitbridge.writelatex.filestore.store.WLFileStore; import uk.ac.ic.wlgitbridge.writelatex.model.db.Database; +import uk.ac.ic.wlgitbridge.writelatex.model.db.WLDatabase; import java.io.File; import java.io.IOException; @@ -20,15 +21,15 @@ import java.util.List; */ public class WLDataModel implements CandidateSnapshotCallback { - private final Database db; + private final WLDatabase db; private final WLProjectStore projectStore; private final WLFileStore fileStore; public WLDataModel(String rootGitDirectoryPath) { File rootGitDirectory = initRootGitDirectory(rootGitDirectoryPath); db = new Database(rootGitDirectory); - projectStore = new WLProjectStore(); - fileStore = new WLFileStore(rootGitDirectory); + projectStore = db.loadProjectStore(); + fileStore = db.loadFileStore(); } public List updateProjectWithName(String name) throws FailedConnectionException, InvalidProjectException { diff --git a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/model/db/Database.java b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/model/db/Database.java index d64d8b9033..f119db8402 100644 --- a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/model/db/Database.java +++ b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/model/db/Database.java @@ -1,5 +1,8 @@ package uk.ac.ic.wlgitbridge.writelatex.model.db; +import uk.ac.ic.wlgitbridge.writelatex.filestore.store.WLFileStore; +import uk.ac.ic.wlgitbridge.writelatex.model.WLProjectStore; + import java.io.File; import java.sql.Connection; import java.sql.DriverManager; @@ -8,9 +11,12 @@ import java.sql.Statement; /** * Created by Winston on 17/11/14. */ -public class Database { +public class Database implements WLDatabase { + + private final File rootGitDirectory; public Database(File rootGitDirectory) { + this.rootGitDirectory = rootGitDirectory; File databaseFile = new File(rootGitDirectory, "/.wlgb/wlgb.db"); System.out.println("Loading data..."); Connection c = null; @@ -35,4 +41,14 @@ public class Database { } } + @Override + public WLProjectStore loadProjectStore() { + return new WLProjectStore(); + } + + @Override + public WLFileStore loadFileStore() { + return new WLFileStore(rootGitDirectory); + } + } diff --git a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/model/db/WLDatabase.java b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/model/db/WLDatabase.java new file mode 100644 index 0000000000..6488839bd4 --- /dev/null +++ b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/model/db/WLDatabase.java @@ -0,0 +1,14 @@ +package uk.ac.ic.wlgitbridge.writelatex.model.db; + +import uk.ac.ic.wlgitbridge.writelatex.filestore.store.WLFileStore; +import uk.ac.ic.wlgitbridge.writelatex.model.WLProjectStore; + +/** + * Created by Winston on 17/11/14. + */ +public interface WLDatabase { + + public WLProjectStore loadProjectStore(); + public WLFileStore loadFileStore(); + +}