فهرست منبع

Loading project and file store from database.

Winston Li 12 سال پیش
والد
کامیت
50023ba265

+ 4 - 3
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<WritableRepositoryContents> updateProjectWithName(String name) throws FailedConnectionException, InvalidProjectException {

+ 17 - 1
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);
+    }
+
 }

+ 14 - 0
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();
+
+}