- }
-
- /* parse replies. */
- SimpleXML repliesXml = soneXml.getNode("replies");
- Set<Reply> replies = new HashSet<Reply>();
- if (repliesXml == null) {
- /* TODO - mark Sone as bad. */
- logger.log(Level.WARNING, "Downloaded Sone %s has no replies!", new Object[] { sone });
- } else {
- for (SimpleXML replyXml : repliesXml.getNodes("reply")) {
- String replyId = replyXml.getValue("id", null);
- String replyPostId = replyXml.getValue("post-id", null);
- String replyTime = replyXml.getValue("time", null);
- String replyText = replyXml.getValue("text", null);
- if ((replyId == null) || (replyPostId == null) || (replyTime == null) || (replyText == null)) {
- /* TODO - mark Sone as bad. */
- logger.log(Level.WARNING, "Downloaded reply for Sone %s with missing data! ID: %s, Post: %s, Time: %s, Text: %s", new Object[] { sone, replyId, replyPostId, replyTime, replyText });
- return null;
- }
- try {
- replies.add(core.getReply(replyId).setSone(sone).setPost(core.getPost(replyPostId)).setTime(Long.parseLong(replyTime)).setText(replyText));
- } catch (NumberFormatException nfe1) {
- /* TODO - mark Sone as bad. */
- logger.log(Level.WARNING, "Downloaded reply for Sone %s with invalid time: %s", new Object[] { sone, replyTime });
- return null;
- }
- }
- }
-
- /* parse liked post IDs. */
- SimpleXML likePostIdsXml = soneXml.getNode("post-likes");
- Set<String> likedPostIds = new HashSet<String>();
- if (likePostIdsXml == null) {
- /* TODO - mark Sone as bad. */
- logger.log(Level.WARNING, "Downloaded Sone %s has no post likes!", new Object[] { sone });
- } else {
- for (SimpleXML likedPostIdXml : likePostIdsXml.getNodes("post-like")) {
- String postId = likedPostIdXml.getValue();
- likedPostIds.add(postId);
+ try {
+ posts.add(core.getPost(postId).setSone(sone).setTime(Long.parseLong(postTime)).setText(postText));
+ } catch (NumberFormatException nfe1) {
+ /* TODO - mark Sone as bad. */
+ logger.log(Level.WARNING, "Downloaded post for Sone %s with invalid time: %s", new Object[] { sone, postTime });
+ return null;