Loading project and file store from database.

This commit is contained in:
Winston Li 2014-11-17 13:59:11 +00:00
parent 1d4f856832
commit 50023ba265
3 changed files with 35 additions and 4 deletions

View file

@ -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 {

View file

@ -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);
}
}

View file

@ -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();
}