X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdatabase%2Fmemory%2FMemoryDatabase.java;h=0f795eb9564df9a86900d0ec40e9ce89f17bf9b2;hb=04fbdc3d76e3b1140d178dc2600141ec92d22637;hp=7640f61188ac7cf6a3b780b4eb1e639da72a9f7a;hpb=f1430dd9fb3ff91b2dc93956e79ca2f2ad6cb1fb;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 7640f61..0f795eb 100644 --- a/src/main/java/net/pterodactylus/sone/database/memory/MemoryDatabase.java +++ b/src/main/java/net/pterodactylus/sone/database/memory/MemoryDatabase.java @@ -116,8 +116,7 @@ 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); + private final MemoryBookmarkDatabase memoryBookmarkDatabase; /** * Creates a new memory database. @@ -132,6 +131,8 @@ public class MemoryDatabase extends AbstractService implements Database { this.soneProvider = soneProvider; this.configuration = configuration; this.configurationLoader = new ConfigurationLoader(configuration); + memoryBookmarkDatabase = + new MemoryBookmarkDatabase(this, configurationLoader); } // @@ -157,6 +158,7 @@ public class MemoryDatabase extends AbstractService implements Database { /** {@inheritDocs} */ @Override protected void doStart() { + memoryBookmarkDatabase.start(); loadKnownPosts(); loadKnownPostReplies(); notifyStarted(); @@ -166,6 +168,7 @@ public class MemoryDatabase extends AbstractService implements Database { @Override protected void doStop() { try { + memoryBookmarkDatabase.stop(); save(); notifyStopped(); } catch (DatabaseException de1) { @@ -607,11 +610,6 @@ 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); } @@ -782,16 +780,11 @@ public class MemoryDatabase extends AbstractService implements Database { /** Loads the known post replies. */ private void loadKnownPostReplies() { + Set knownPostReplies = configurationLoader.loadKnownPostReplies(); lock.writeLock().lock(); try { - int replyCounter = 0; - while (true) { - String knownReplyId = configuration.getStringValue("KnownReplies/" + replyCounter++ + "/ID").getValue(null); - if (knownReplyId == null) { - break; - } - knownPostReplies.add(knownReplyId); - } + this.knownPostReplies.clear(); + this.knownPostReplies.addAll(knownPostReplies); } finally { lock.writeLock().unlock(); }