X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Ftemplate%2FParserFilter.java;h=6c74f0b3b5ecf7874e650288241ed0eb3dbeeb61;hp=bd6903bb4dde3e2fdb93a81714b39d0e91ef5a86;hb=662bcd45433c0ab480ad0e52f3e72e9e886bdfc6;hpb=087be9942658312af89b5de144e6103868f6f278 diff --git a/src/main/java/net/pterodactylus/sone/template/ParserFilter.java b/src/main/java/net/pterodactylus/sone/template/ParserFilter.java index bd6903b..6c74f0b 100644 --- a/src/main/java/net/pterodactylus/sone/template/ParserFilter.java +++ b/src/main/java/net/pterodactylus/sone/template/ParserFilter.java @@ -1,5 +1,5 @@ /* - * Sone - ParserFilter.java - Copyright © 2011–2013 David Roden + * Sone - ParserFilter.java - Copyright © 2011–2015 David Roden * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,6 +17,9 @@ package net.pterodactylus.sone.template; +import static java.lang.String.valueOf; +import static net.pterodactylus.sone.utils.NumberParsers.parseInt; + import java.io.IOException; import java.io.StringReader; import java.io.StringWriter; @@ -38,7 +41,6 @@ import net.pterodactylus.sone.text.SonePart; import net.pterodactylus.sone.text.SoneTextParser; import net.pterodactylus.sone.text.SoneTextParserContext; import net.pterodactylus.sone.web.page.FreenetRequest; -import net.pterodactylus.util.number.Numbers; import net.pterodactylus.util.template.Filter; import net.pterodactylus.util.template.Template; import net.pterodactylus.util.template.TemplateContext; @@ -89,9 +91,9 @@ public class ParserFilter implements Filter { */ @Override public Object format(TemplateContext templateContext, Object data, Map parameters) { - String text = String.valueOf(data); - int length = Numbers.safeParseInteger(parameters.get("length"), Numbers.safeParseInteger(templateContext.get(String.valueOf(parameters.get("length"))), -1)); - int cutOffLength = Numbers.safeParseInteger(parameters.get("cut-off-length"), Numbers.safeParseInteger(templateContext.get(String.valueOf(parameters.get("cut-off-length"))), length)); + String text = valueOf(data); + int length = parseInt(valueOf(parameters.get("length")), -1); + int cutOffLength = parseInt(valueOf(parameters.get("cut-off-length")), length); Object sone = parameters.get("sone"); if (sone instanceof String) { sone = core.getSone((String) sone).orNull(); @@ -100,7 +102,7 @@ public class ParserFilter implements Filter { SoneTextParserContext context = new SoneTextParserContext(request, (Sone) sone); StringWriter parsedTextWriter = new StringWriter(); try { - Iterable parts = soneTextParser.parse(context, new StringReader(text)); + Iterable parts = soneTextParser.parse(context, text); if (length > -1) { int allPartsLength = 0; List shortenedParts = new ArrayList(); @@ -251,7 +253,7 @@ public class ParserFilter implements Filter { SoneTextParser parser = new SoneTextParser(core, core); SoneTextParserContext parserContext = new SoneTextParserContext(null, postPart.getPost().getSone()); try { - Iterable parts = parser.parse(parserContext, new StringReader(postPart.getPost().getText())); + Iterable parts = parser.parse(parserContext, postPart.getPost().getText()); StringBuilder excerpt = new StringBuilder(); for (Part part : parts) { excerpt.append(part.getText());