Store and parse replies in/from inserted Sone.
[Sone.git] / src / main / java / net / pterodactylus / sone / core / SoneInserter.java
index 314f1bd..136c1e3 100644 (file)
@@ -25,6 +25,7 @@ import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
+import java.util.Set;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -87,7 +88,7 @@ public class SoneInserter extends AbstractService {
         *            The Sone to insert
         */
        public SoneInserter(Core core, FreenetInterface freenetInterface, Sone sone) {
-               super("Sone Inserter for “" + sone.getName() + "”");
+               super("Sone Inserter for “" + sone.getName() + "”", false);
                this.core = core;
                this.freenetInterface = freenetInterface;
                this.sone = sone;
@@ -180,8 +181,9 @@ public class SoneInserter extends AbstractService {
                        soneProperties.put("profile", sone.getProfile());
                        soneProperties.put("posts", new ArrayList<Post>(sone.getPosts()));
                        soneProperties.put("replies", new HashSet<Reply>(sone.getReplies()));
-                       soneProperties.put("friends", new HashSet<Sone>(sone.getFriends()));
                        soneProperties.put("blockedSoneIds", new HashSet<String>(sone.getBlockedSoneIds()));
+                       soneProperties.put("likedPostIds", new HashSet<String>(sone.getLikedPostIds()));
+                       soneProperties.put("likeReplyIds", new HashSet<String>(sone.getLikedReplyIds()));
                }
 
                //
@@ -245,6 +247,8 @@ public class SoneInserter extends AbstractService {
                        } finally {
                                Closer.close(templateInputStreamReader);
                        }
+                       @SuppressWarnings("unchecked")
+                       final Set<String> blockedSoneIds = (Set<String>) soneProperties.get("blockedSoneIds");
                        Collection<Sone> knownSones = Filters.filteredCollection(core.getKnownSones(), new Filter<Sone>() {
 
                                /**
@@ -252,7 +256,7 @@ public class SoneInserter extends AbstractService {
                                 */
                                @Override
                                public boolean filterObject(Sone object) {
-                                       return !soneProperties.containsKey(object.getId()) && !object.getId().equals(soneProperties.get("id"));
+                                       return !blockedSoneIds.contains(object.getId()) && !object.getId().equals(soneProperties.get("id"));
                                }
                        });