X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdatabase%2Fmemory%2FMemoryBookmarkDatabase.java;h=38c5bd05801f4d126689a83a9f8d8d07be8a2251;hb=04fbdc3d76e3b1140d178dc2600141ec92d22637;hp=4c99c5395168c3dcd250e5d4be2e86445d23f9f9;hpb=45d69427a7c1300fb4841159c0e3b2c4489dab21;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/database/memory/MemoryBookmarkDatabase.java b/src/main/java/net/pterodactylus/sone/database/memory/MemoryBookmarkDatabase.java index 4c99c53..38c5bd0 100644 --- a/src/main/java/net/pterodactylus/sone/database/memory/MemoryBookmarkDatabase.java +++ b/src/main/java/net/pterodactylus/sone/database/memory/MemoryBookmarkDatabase.java @@ -45,11 +45,25 @@ public class MemoryBookmarkDatabase implements BookmarkDatabase { } } + public void stop() { + saveBookmarkedPosts(); + } + + private void saveBookmarkedPosts() { + lock.readLock().lock(); + try { + configurationLoader.saveBookmarkedPosts(this.bookmarkedPosts); + } finally { + lock.readLock().unlock(); + } + } + @Override public void bookmarkPost(Post post) { lock.writeLock().lock(); try { bookmarkedPosts.add(post.getId()); + saveBookmarkedPosts(); } finally { lock.writeLock().unlock(); } @@ -60,6 +74,7 @@ public class MemoryBookmarkDatabase implements BookmarkDatabase { lock.writeLock().lock(); try { bookmarkedPosts.remove(post.getId()); + saveBookmarkedPosts(); } finally { lock.writeLock().unlock(); }