X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdatabase%2Fmemory%2FMemoryBookmarkDatabase.java;h=4c99c5395168c3dcd250e5d4be2e86445d23f9f9;hb=45d69427a7c1300fb4841159c0e3b2c4489dab21;hp=1aec5734090e61aac828aa3a1a60d99f9f40714b;hpb=aba6bd1d58ef244050703e1b99d7389e024809c6;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 1aec573..4c99c53 100644 --- a/src/main/java/net/pterodactylus/sone/database/memory/MemoryBookmarkDatabase.java +++ b/src/main/java/net/pterodactylus/sone/database/memory/MemoryBookmarkDatabase.java @@ -21,17 +21,25 @@ public class MemoryBookmarkDatabase implements BookmarkDatabase { private final ReadWriteLock lock = new ReentrantReadWriteLock(); private final MemoryDatabase memoryDatabase; + private final ConfigurationLoader configurationLoader; private final Set bookmarkedPosts = new HashSet(); - public MemoryBookmarkDatabase(MemoryDatabase memoryDatabase) { + public MemoryBookmarkDatabase(MemoryDatabase memoryDatabase, + ConfigurationLoader configurationLoader) { this.memoryDatabase = memoryDatabase; + this.configurationLoader = configurationLoader; } - @Override - public void bookmarkPost(String postId) { + public void start() { + loadBookmarkedPosts(); + } + + private void loadBookmarkedPosts() { + Set bookmarkedPosts = configurationLoader.loadBookmarkedPosts(); lock.writeLock().lock(); try { - bookmarkedPosts.add(postId); + this.bookmarkedPosts.clear(); + this.bookmarkedPosts.addAll(bookmarkedPosts); } finally { lock.writeLock().unlock(); }