mirror of
https://github.com/overleaf/overleaf.git
synced 2025-04-08 13:02:03 +00:00
Loading project and file store from database.
This commit is contained in:
parent
1d4f856832
commit
50023ba265
3 changed files with 35 additions and 4 deletions
|
@ -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 {
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
||||
}
|
Loading…
Add table
Reference in a new issue