X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdatabase%2Fmemory%2FMemoryDatabase.java;h=5a8fb0078daeef23baff18decf91c732ec3e5fb7;hb=16172b8d60c485ac52907ba45a354b754bce53e5;hp=6113d26baf2fe32013ba85f9cfaa3083db492352;hpb=210684b4bc499e298a0d0abeddd4008cdeb406bc;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/database/memory/MemoryDatabase.java b/src/main/java/net/pterodactylus/sone/database/memory/MemoryDatabase.java index 6113d26..5a8fb00 100644 --- a/src/main/java/net/pterodactylus/sone/database/memory/MemoryDatabase.java +++ b/src/main/java/net/pterodactylus/sone/database/memory/MemoryDatabase.java @@ -115,6 +115,9 @@ public class MemoryDatabase extends AbstractService implements Database { private final Map allImages = new HashMap(); private final Multimap soneImages = HashMultimap.create(); + private final MemoryBookmarkDatabase memoryBookmarkDatabase = + new MemoryBookmarkDatabase(this); + /** * Creates a new memory database. * @@ -233,7 +236,7 @@ public class MemoryDatabase extends AbstractService implements Database { public Collection getSones() { lock.readLock().lock(); try { - return unmodifiableCollection(allSones.values()); + return new HashSet(allSones.values()); } finally { lock.readLock().unlock(); } @@ -590,6 +593,31 @@ public class MemoryDatabase extends AbstractService implements Database { } } + @Override + public void bookmarkPost(String postId) { + memoryBookmarkDatabase.bookmarkPost(postId); + } + + @Override + public void bookmarkPost(Post post) { + memoryBookmarkDatabase.bookmarkPost(post); + } + + @Override + public void unbookmarkPost(Post post) { + memoryBookmarkDatabase.unbookmarkPost(post); + } + + @Override + public boolean isPostBookmarked(Post post) { + return memoryBookmarkDatabase.isPostBookmarked(post); + } + + @Override + public Set getBookmarkedPosts() { + return memoryBookmarkDatabase.getBookmarkedPosts(); + } + // // PACKAGE-PRIVATE METHODS //