Add filter to pipe arbitrary text through the link parser.
[Sone.git] / src / main / java / net / pterodactylus / sone / template / PostAccessor.java
index d5dd406..ef8577d 100644 (file)
@@ -24,6 +24,7 @@ import net.pterodactylus.sone.core.Core;
 import net.pterodactylus.sone.data.Post;
 import net.pterodactylus.sone.data.Sone;
 import net.pterodactylus.sone.text.FreenetLinkParser;
+import net.pterodactylus.sone.text.FreenetLinkParserContext;
 import net.pterodactylus.util.template.DataProvider;
 import net.pterodactylus.util.template.ReflectionAccessor;
 import net.pterodactylus.util.template.TemplateFactory;
@@ -69,7 +70,7 @@ public class PostAccessor extends ReflectionAccessor {
                } else if (member.equals("likes")) {
                        return core.getLikes(post);
                } else if (member.equals("liked")) {
-                       Sone currentSone = (Sone) dataProvider.getData("currentSone");
+                       Sone currentSone = (Sone) dataProvider.get("currentSone");
                        return (currentSone != null) && (currentSone.isLikedPostId(post.getId()));
                } else if (member.equals("new")) {
                        return core.isNewPost(post.getId(), false);
@@ -79,10 +80,7 @@ public class PostAccessor extends ReflectionAccessor {
                                return null;
                        }
                        try {
-                               synchronized (linkParser) {
-                                       linkParser.setPostingSone(post.getSone());
-                                       return linkParser.parse(new StringReader(text));
-                               }
+                               return linkParser.parse(new FreenetLinkParserContext(post.getSone()), new StringReader(text));
                        } catch (IOException ioe1) {
                                /* ignore. */
                        }