X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FCore.java;h=5dd1eb6b0fffcca41252392df309c88a54707567;hb=8d257d649b372ca1a240a8e26ce33205c7019d0d;hp=87add90bf26568d0b54020cd6cb433d47dd2b5cb;hpb=11f3457415c9122b5d11840d24186971af28add9;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 87add90..5dd1eb6 100644 --- a/src/main/java/net/pterodactylus/sone/core/Core.java +++ b/src/main/java/net/pterodactylus/sone/core/Core.java @@ -39,6 +39,7 @@ import java.util.logging.Level; import java.util.logging.Logger; import net.pterodactylus.sone.core.ConfigurationSoneParser.InvalidPostFound; +import net.pterodactylus.sone.core.ConfigurationSoneParser.InvalidPostReplyFound; import net.pterodactylus.sone.core.Options.DefaultOption; import net.pterodactylus.sone.core.SoneInserter.SetInsertionDelay; import net.pterodactylus.sone.core.event.ImageInsertFinishedEvent; @@ -1122,33 +1123,17 @@ public class Core extends AbstractService implements SoneProvider, PostProvider, } /* load replies. */ - Set replies = new HashSet(); - while (true) { - String replyPrefix = sonePrefix + "/Replies/" + replies.size(); - String replyId = configuration.getStringValue(replyPrefix + "/ID").getValue(null); - if (replyId == null) { - break; - } - String postId = configuration.getStringValue(replyPrefix + "/Post/ID").getValue(null); - long replyTime = configuration.getLongValue(replyPrefix + "/Time").getValue((long) 0); - String replyText = configuration.getStringValue(replyPrefix + "/Text").getValue(null); - if ((postId == null) || (replyTime == 0) || (replyText == null)) { - logger.log(Level.WARNING, "Invalid reply found, aborting load!"); - return; - } - PostReplyBuilder postReplyBuilder = postReplyBuilder().withId(replyId).from(sone.getId()).to(postId).withTime(replyTime).withText(replyText); - replies.add(postReplyBuilder.build()); + Collection replies; + try { + replies = configurationSoneParser.parsePostReplies(database); + } catch (InvalidPostReplyFound iprf) { + logger.log(Level.WARNING, "Invalid reply found, aborting load!"); + return; } /* load post likes. */ - Set likedPostIds = new HashSet(); - while (true) { - String likedPostId = configuration.getStringValue(sonePrefix + "/Likes/Post/" + likedPostIds.size() + "/ID").getValue(null); - if (likedPostId == null) { - break; - } - likedPostIds.add(likedPostId); - } + Set likedPostIds = + configurationSoneParser.parseLikedPostIds(); /* load reply likes. */ Set likedReplyIds = new HashSet();