Fix error message.
[Sone.git] / src / main / java / net / pterodactylus / sone / core / SoneDownloader.java
index 5d40881..9f76b7e 100644 (file)
@@ -276,6 +276,34 @@ 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 post likes!", new Object[] { sone });
+                               return null;
+                       }
+
+                       Set<String> likedPostIds = new HashSet<String>();
+                       for (SimpleXML likedPostIdXml : likePostIdsXml.getNodes("post-like")) {
+                               String postId = likedPostIdXml.getValue();
+                               likedPostIds.add(postId);
+                       }
+
+                       /* parse liked reply IDs. */
+                       SimpleXML likeReplyIdsXml = soneXml.getNode("reply-likes");
+                       if (likeReplyIdsXml == null) {
+                               /* TODO - mark Sone as bad. */
+                               logger.log(Level.WARNING, "Downloaded Sone %s has no reply likes!", new Object[] { sone });
+                               return null;
+                       }
+
+                       Set<String> likedReplyIds = new HashSet<String>();
+                       for (SimpleXML likedReplyIdXml : likeReplyIdsXml.getNodes("reply-like")) {
+                               String replyId = likedReplyIdXml.getValue();
+                               likedReplyIds.add(replyId);
+                       }
+
                        /* parse known Sones. */
                        SimpleXML knownSonesXml = soneXml.getNode("known-sones");
                        if (knownSonesXml == null) {
@@ -309,6 +337,7 @@ public class SoneDownloader extends AbstractService {
                                sone.setProfile(profile);
                                sone.setPosts(posts);
                                sone.setReplies(replies);
+                               sone.setLikePostIds(likedPostIds);
                                sone.setModificationCounter(0);
                        }