diff --git a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/filestore/node/AttachmentNode.java b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/filestore/node/AttachmentNode.java index 78be208cc6..ffb347a8cb 100644 --- a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/filestore/node/AttachmentNode.java +++ b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/filestore/node/AttachmentNode.java @@ -27,9 +27,14 @@ public class AttachmentNode extends FileNode { initBlob(fileIndexes); } - public AttachmentNode(String filePath, boolean changed, String url) { + public AttachmentNode(String filePath, boolean changed, String url, FileIndexStore fileIndexStore) { super(filePath, changed); this.url = url; + try { + initBlob(fileIndexStore); + } catch (FailedConnectionException e) { + throw new RuntimeException(e); + } } public AttachmentNode(String url, byte[] blob) { diff --git a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/filestore/node/WLDirectoryNode.java b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/filestore/node/WLDirectoryNode.java index d60bec4c87..124b8b0343 100644 --- a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/filestore/node/WLDirectoryNode.java +++ b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/filestore/node/WLDirectoryNode.java @@ -46,11 +46,11 @@ public class WLDirectoryNode implements PersistentStoreSource, PersistentStoreUp @Override public void initFromPersistentStore(PersistentStoreAPI persistentStore) { + fileIndexStore = new FileIndexStore(projectName, persistentStore); fileNodeTable = new HashMap(); - for (FileNode fileNode : persistentStore.getFileNodesForProjectName(projectName)) { + for (FileNode fileNode : persistentStore.getFileNodesForProjectName(projectName, fileIndexStore)) { fileNodeTable.put(fileNode.getFilePath(), fileNode); } - fileIndexStore = new FileIndexStore(projectName, persistentStore); } @Override diff --git a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/model/db/PersistentStoreAPI.java b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/model/db/PersistentStoreAPI.java index 4b9af65c9a..4800ea9841 100644 --- a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/model/db/PersistentStoreAPI.java +++ b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/model/db/PersistentStoreAPI.java @@ -1,6 +1,7 @@ package uk.ac.ic.wlgitbridge.writelatex.model.db; import uk.ac.ic.wlgitbridge.writelatex.filestore.node.FileNode; +import uk.ac.ic.wlgitbridge.writelatex.filestore.store.FileIndexStore; import uk.ac.ic.wlgitbridge.writelatex.filestore.store.WLFileStore; import uk.ac.ic.wlgitbridge.writelatex.model.WLProjectStore; @@ -23,7 +24,7 @@ public interface PersistentStoreAPI { public List getProjectNames(); public List getVersionIDsForProjectName(String projectName); - public List getFileNodesForProjectName(String projectName); + public List getFileNodesForProjectName(String projectName, FileIndexStore fileIndexStore); public Map getURLIndexTableForProjectName(String projectName); public void deleteFileNodesForProjectName(String projectName); diff --git a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/model/db/WLGBPersistentStore.java b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/model/db/WLGBPersistentStore.java index f565eb79c3..ccd2cd1fd0 100644 --- a/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/model/db/WLGBPersistentStore.java +++ b/services/git-bridge/src/uk/ac/ic/wlgitbridge/writelatex/model/db/WLGBPersistentStore.java @@ -2,6 +2,7 @@ package uk.ac.ic.wlgitbridge.writelatex.model.db; import uk.ac.ic.wlgitbridge.util.Util; import uk.ac.ic.wlgitbridge.writelatex.filestore.node.FileNode; +import uk.ac.ic.wlgitbridge.writelatex.filestore.store.FileIndexStore; import uk.ac.ic.wlgitbridge.writelatex.filestore.store.WLFileStore; import uk.ac.ic.wlgitbridge.writelatex.model.WLProjectStore; import uk.ac.ic.wlgitbridge.writelatex.model.db.sql.SQLiteWLDatabase; @@ -104,9 +105,9 @@ public class WLGBPersistentStore implements PersistentStoreAPI { } @Override - public List getFileNodesForProjectName(String projectName) { + public List getFileNodesForProjectName(String projectName, FileIndexStore fileIndexStore) { try { - return database.getFileNodesForProjectName(projectName); + return database.getFileNodesForProjectName(projectName, fileIndexStore); } catch (SQLException e) { throw new RuntimeException(e); }