Extract memory-backed post database into its own class.
[Sone.git] / src / main / java / net / pterodactylus / sone / core / Core.java
index a2e54a6..5a205d3 100644 (file)
@@ -759,7 +759,7 @@ public class Core extends AbstractService implements SoneProvider {
                                        continue;
                                }
                                if (newPost.getTime() < getSoneFollowingTime(sone)) {
-                                       newPost.setKnown(true);
+                                       newPost.setKnown();
                                } else if (!newPost.isKnown()) {
                                        eventBus.post(new NewPostFoundEvent(newPost));
                                }
@@ -1071,7 +1071,7 @@ public class Core extends AbstractService implements SoneProvider {
                }
                database.storePosts(sone, posts);
                for (Post post : posts) {
-                       post.setKnown(true);
+                       post.setKnown();
                }
                database.storePostReplies(sone, replies);
                for (PostReply reply : replies) {
@@ -1106,7 +1106,7 @@ public class Core extends AbstractService implements SoneProvider {
         *              The post to mark as known
         */
        public void markPostKnown(Post post) {
-               post.setKnown(true);
+               post.setKnown();
                eventBus.post(new MarkPostKnownEvent(post));
                touchConfiguration();
                for (PostReply reply : post.getReplies()) {
@@ -1289,8 +1289,8 @@ public class Core extends AbstractService implements SoneProvider {
                webOfTrustUpdater.stop();
                updateChecker.stop();
                soneDownloader.stop();
-               soneDownloaders.shutdown();
                identityManager.stop();
+               soneDownloaders.shutdownNow();
        }
 
        //
@@ -1480,9 +1480,6 @@ public class Core extends AbstractService implements SoneProvider {
                                configuration.getStringValue("SoneFollowingTimes/" + soneCounter + "/Sone").setValue(null);
                        }
 
-                       /* save known posts. */
-                       database.save();
-
                        /* save bookmarked posts. */
                        int bookmarkedPostCounter = 0;
                        synchronized (bookmarkedPosts) {
@@ -1497,8 +1494,6 @@ public class Core extends AbstractService implements SoneProvider {
 
                } catch (ConfigurationException ce1) {
                        logger.log(Level.SEVERE, "Could not store configuration!", ce1);
-               } catch (DatabaseException de1) {
-                       logger.log(Level.SEVERE, "Could not save database!", de1);
                } finally {
                        synchronized (configuration) {
                                storingConfiguration = false;