X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FCore.java;h=901614e91dc494b13d7ac1500e0d03e8a8a83b1f;hb=605e8b77e45f7c8e02a68f17aae45f7f026f5d46;hp=70d9ea2c6dc01a086f3e5e0b32b342cf7a6ca68e;hpb=93fdf9e218d808f65f618abbddce183191d8c15b;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/core/Core.java b/src/main/java/net/pterodactylus/sone/core/Core.java index 70d9ea2..901614e 100644 --- a/src/main/java/net/pterodactylus/sone/core/Core.java +++ b/src/main/java/net/pterodactylus/sone/core/Core.java @@ -541,9 +541,9 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, * {@inheritDoc} */ @Override - public Post getPost(String postId) { + public Optional getPost(String postId) { synchronized (posts) { - return posts.get(postId); + return Optional.fromNullable(posts.get(postId)); } } @@ -602,7 +602,7 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, @Override public boolean apply(PostReply reply) { - return post.equals(reply.getPost()); + return post.getId().equals(reply.getPostId()); } })); } @@ -676,9 +676,9 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, Set posts = new HashSet(); synchronized (bookmarkedPosts) { for (String bookmarkedPostId : bookmarkedPosts) { - Post post = getPost(bookmarkedPostId); - if (post != null) { - posts.add(post); + Optional post = getPost(bookmarkedPostId); + if (!post.isPresent()) { + posts.add(post.get()); } } } @@ -1110,7 +1110,7 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, synchronized (knownPosts) { for (Post post : sone.getPosts()) { PostBuilder postBuilder = postBuilderFactory.newPostBuilder(); - postBuilder.copyPost(post).from(storedSone); + postBuilder.copyPost(post).from(storedSone.getId()); Post newPost = postBuilder.build().setKnown(knownPosts.contains(post.getId())); if (!storedPosts.contains(newPost)) { if (newPost.getTime() < getSoneFollowingTime(sone)) { @@ -1136,7 +1136,7 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, Set storedReplies = storedSone.getReplies(); synchronized (knownReplies) { for (PostReply reply : sone.getReplies()) { - reply.setSone(storedSone).setKnown(knownReplies.contains(reply.getId())); + reply.setKnown(knownReplies.contains(reply.getId())); if (!storedReplies.contains(reply)) { if (reply.getTime() < getSoneFollowingTime(sone)) { knownReplies.add(reply.getId()); @@ -1313,9 +1313,9 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, logger.log(Level.WARNING, "Invalid post found, aborting load!"); return; } - PostBuilder postBuilder = postBuilder().withId(postId).from(sone).withTime(postTime).withText(postText); + PostBuilder postBuilder = postBuilder().withId(postId).from(sone.getId()).withTime(postTime).withText(postText); if ((postRecipientId != null) && (postRecipientId.length() == 43)) { - postBuilder.to(getSone(postRecipientId)); + postBuilder.to(postRecipientId); } posts.add(postBuilder.build()); } @@ -1336,7 +1336,7 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, return; } PostReplyBuilder postReplyBuilder = postReplyBuilderFactory.newPostReplyBuilder(); - postReplyBuilder.withId(replyId).from(sone).to(postId).withTime(replyTime).withText(replyText); + postReplyBuilder.withId(replyId).from(sone.getId()).to(postId).withTime(replyTime).withText(replyText); replies.add(postReplyBuilder.build()); } @@ -1542,9 +1542,9 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, return null; } PostBuilder postBuilder = postBuilderFactory.newPostBuilder(); - postBuilder.from(sone).randomId().withTime(time).withText(text.trim()); + postBuilder.from(sone.getId()).randomId().withTime(time).withText(text.trim()); if (recipient != null) { - postBuilder.to(recipient); + postBuilder.to(recipient.getId()); } final Post post = postBuilder.build(); synchronized (posts) { @@ -1669,7 +1669,7 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, return null; } PostReplyBuilder postReplyBuilder = postReplyBuilderFactory.newPostReplyBuilder(); - postReplyBuilder.randomId().from(sone).to(post.getId()).currentTime().withText(text.trim()); + postReplyBuilder.randomId().from(sone.getId()).to(post.getId()).currentTime().withText(text.trim()); final PostReply reply = postReplyBuilder.build(); synchronized (replies) { replies.put(reply.getId(), reply); @@ -1942,6 +1942,7 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, webOfTrustUpdater.stop(); updateChecker.stop(); soneDownloader.stop(); + soneDownloaders.shutdown(); identityManager.stop(); } @@ -2008,7 +2009,7 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, for (PostReply reply : sone.getReplies()) { String replyPrefix = sonePrefix + "/Replies/" + replyCounter++; configuration.getStringValue(replyPrefix + "/ID").setValue(reply.getId()); - configuration.getStringValue(replyPrefix + "/Post/ID").setValue(reply.getPost().getId()); + configuration.getStringValue(replyPrefix + "/Post/ID").setValue(reply.getPostId()); configuration.getLongValue(replyPrefix + "/Time").setValue(reply.getTime()); configuration.getStringValue(replyPrefix + "/Text").setValue(reply.getText()); }