Bookmarking a post saves the database.
[Sone.git] / src / main / java / net / pterodactylus / sone / database / memory / MemoryBookmarkDatabase.java
index 78c8a4f..aae93dd 100644 (file)
@@ -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();
                }