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=78c8a4f093b421465ae8271f564bad4b276a2a12;hpb=36b8e20651c14970ca30a1b8ed43af219b367bc9;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 78c8a4f..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,13 +45,16 @@ public class MemoryBookmarkDatabase implements BookmarkDatabase { } } - @Override - public void bookmarkPost(String postId) { - lock.writeLock().lock(); + public void stop() { + saveBookmarkedPosts(); + } + + private void saveBookmarkedPosts() { + lock.readLock().lock(); try { - bookmarkedPosts.add(postId); + configurationLoader.saveBookmarkedPosts(this.bookmarkedPosts); } finally { - lock.writeLock().unlock(); + lock.readLock().unlock(); } } @@ -60,6 +63,7 @@ public class MemoryBookmarkDatabase implements BookmarkDatabase { lock.writeLock().lock(); try { bookmarkedPosts.add(post.getId()); + saveBookmarkedPosts(); } finally { lock.writeLock().unlock(); } @@ -70,6 +74,7 @@ public class MemoryBookmarkDatabase implements BookmarkDatabase { lock.writeLock().lock(); try { bookmarkedPosts.remove(post.getId()); + saveBookmarkedPosts(); } finally { lock.writeLock().unlock(); }