|
|
@@ -1,7 +1,7 @@
|
|
|
package uk.ac.ic.wlgitbridge.writelatex.model;
|
|
|
|
|
|
import uk.ac.ic.wlgitbridge.writelatex.model.db.PersistentStoreAPI;
|
|
|
-import uk.ac.ic.wlgitbridge.writelatex.model.db.WLDatabaseSource;
|
|
|
+import uk.ac.ic.wlgitbridge.writelatex.model.db.PersistentStoreSource;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
@@ -11,8 +11,9 @@ import java.util.Map;
|
|
|
/**
|
|
|
* Created by Winston on 17/11/14.
|
|
|
*/
|
|
|
-public class WLProjectStore implements WLDatabaseSource {
|
|
|
+public class WLProjectStore implements PersistentStoreSource {
|
|
|
|
|
|
+ private PersistentStoreAPI persistentStore;
|
|
|
private final Map<String, WLProject> projects;
|
|
|
|
|
|
public WLProjectStore() {
|
|
|
@@ -21,7 +22,7 @@ public class WLProjectStore implements WLDatabaseSource {
|
|
|
|
|
|
public WLProjectStore(PersistentStoreAPI persistentStore) {
|
|
|
this();
|
|
|
- initFromDatabase(persistentStore);
|
|
|
+ initFromPersistentStore(persistentStore);
|
|
|
}
|
|
|
|
|
|
public WLProject getProjectWithName(String name) {
|
|
|
@@ -31,6 +32,7 @@ public class WLProjectStore implements WLDatabaseSource {
|
|
|
} else {
|
|
|
project = new WLProject(name);
|
|
|
projects.put(name, project);
|
|
|
+ persistentStore.addProject(name);
|
|
|
}
|
|
|
return project;
|
|
|
}
|
|
|
@@ -40,7 +42,11 @@ public class WLProjectStore implements WLDatabaseSource {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void initFromDatabase(PersistentStoreAPI database) {
|
|
|
-
|
|
|
+ public void initFromPersistentStore(PersistentStoreAPI persistentStore) {
|
|
|
+ this.persistentStore = persistentStore;
|
|
|
+ for (String projectName : persistentStore.getProjectNames()) {
|
|
|
+ projects.put(projectName, new WLProject(projectName, persistentStore));
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
}
|