X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FSoneDownloader.java;h=492373623cd54a233341f57ada3abcbad08280b5;hb=c8f518f638aa16cf37145561b709d28252de213a;hp=5d40881457d9b4b9a3150607b705e2e164c76171;hpb=5176fec23f420e0ebfe3c94d2b40afcb43d29841;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/core/SoneDownloader.java b/src/main/java/net/pterodactylus/sone/core/SoneDownloader.java index 5d40881..4923736 100644 --- a/src/main/java/net/pterodactylus/sone/core/SoneDownloader.java +++ b/src/main/java/net/pterodactylus/sone/core/SoneDownloader.java @@ -276,6 +276,20 @@ public class SoneDownloader extends AbstractService { } } + /* parse liked post IDs. */ + SimpleXML likePostIdsXml = soneXml.getNode("post-likes"); + if (likePostIdsXml == null) { + /* TODO - mark Sone as bad. */ + logger.log(Level.WARNING, "Downloaded Sone %s has no known Sones!", new Object[] { sone }); + return null; + } + + Set likedPostIds = new HashSet(); + for (SimpleXML likedPostIdXml : likePostIdsXml.getNodes("post-like")) { + String postId = likedPostIdXml.getValue(); + likedPostIds.add(postId); + } + /* parse known Sones. */ SimpleXML knownSonesXml = soneXml.getNode("known-sones"); if (knownSonesXml == null) { @@ -309,6 +323,7 @@ public class SoneDownloader extends AbstractService { sone.setProfile(profile); sone.setPosts(posts); sone.setReplies(replies); + sone.setLikePostIds(likedPostIds); sone.setModificationCounter(0); }