X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ftemplate%2FParserFilter.java;h=1e274ccbc2c9d11c15135da58ff9a763cc2a08e9;hp=f1190e054fafa8c54e647fbb8bc304d78614453e;hb=47d2becfd53af8314accaee3b1aaa3c7a7ef401e;hpb=8c9d2088c91f4aaf90409c98ddfe689879fd3215 diff --git a/src/main/java/net/pterodactylus/sone/template/ParserFilter.java b/src/main/java/net/pterodactylus/sone/template/ParserFilter.java index f1190e0..1e274cc 100644 --- a/src/main/java/net/pterodactylus/sone/template/ParserFilter.java +++ b/src/main/java/net/pterodactylus/sone/template/ParserFilter.java @@ -21,6 +21,7 @@ import java.io.IOException; import java.io.StringReader; import java.util.Map; +import net.pterodactylus.sone.core.Core; import net.pterodactylus.sone.data.Sone; import net.pterodactylus.sone.text.FreenetLinkParser; import net.pterodactylus.sone.text.FreenetLinkParserContext; @@ -35,6 +36,9 @@ import net.pterodactylus.util.template.TemplateContextFactory; */ public class ParserFilter implements Filter { + /** The core. */ + private final Core core; + /** The link parser. */ private final FreenetLinkParser linkParser; @@ -42,10 +46,13 @@ public class ParserFilter implements Filter { * Creates a new filter that runs its input through a * {@link FreenetLinkParser}. * + * @param core + * The core * @param templateContextFactory * The context factory for rendering the parts */ - public ParserFilter(TemplateContextFactory templateContextFactory) { + public ParserFilter(Core core, TemplateContextFactory templateContextFactory) { + this.core = core; linkParser = new FreenetLinkParser(templateContextFactory); } @@ -60,6 +67,9 @@ public class ParserFilter implements Filter { soneKey = "sone"; } Sone sone = (Sone) templateContext.get(soneKey); + if (sone == null) { + sone = core.getSone(soneKey, false); + } FreenetLinkParserContext context = new FreenetLinkParserContext(sone); try { return linkParser.parse(context, new StringReader(text));