X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fdemoscenemusic%2Fcore%2FTemplateServlet.java;h=0eb9e3e17908da591debb909755e9736b2add5d2;hb=82de91353503c9db2b9721dab242b2aafc57278c;hp=df753f15d0548a0e600d79f854bb84e091ae93ea;hpb=2e353c5053ac5b251c021e6326e291686606bf48;p=demoscenemusic.git diff --git a/src/main/java/net/pterodactylus/demoscenemusic/core/TemplateServlet.java b/src/main/java/net/pterodactylus/demoscenemusic/core/TemplateServlet.java index df753f1..0eb9e3e 100644 --- a/src/main/java/net/pterodactylus/demoscenemusic/core/TemplateServlet.java +++ b/src/main/java/net/pterodactylus/demoscenemusic/core/TemplateServlet.java @@ -38,12 +38,18 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.pterodactylus.demoscenemusic.data.Artist; +import net.pterodactylus.demoscenemusic.data.DefaultGroup; +import net.pterodactylus.demoscenemusic.data.DefaultParty; +import net.pterodactylus.demoscenemusic.data.Group; +import net.pterodactylus.demoscenemusic.data.Party; import net.pterodactylus.demoscenemusic.data.Properties; import net.pterodactylus.demoscenemusic.data.Style; import net.pterodactylus.demoscenemusic.data.Track; import net.pterodactylus.demoscenemusic.data.TrackDerivative; import net.pterodactylus.demoscenemusic.data.User; import net.pterodactylus.demoscenemusic.page.ServletRequest; +import net.pterodactylus.demoscenemusic.template.ConciseNumberFilter; +import net.pterodactylus.demoscenemusic.template.DurationFilter; import net.pterodactylus.demoscenemusic.template.PropertiesAccessor; import net.pterodactylus.demoscenemusic.template.TrackDerivativeAccessor; import net.pterodactylus.demoscenemusic.template.UserAccessor; @@ -52,6 +58,7 @@ import net.pterodactylus.util.io.StreamCopier; import net.pterodactylus.util.template.ClassPathTemplateProvider; import net.pterodactylus.util.template.CollectionSortFilter; import net.pterodactylus.util.template.HtmlFilter; +import net.pterodactylus.util.template.MatchFilter; import net.pterodactylus.util.template.ReflectionAccessor; import net.pterodactylus.util.template.Template; import net.pterodactylus.util.template.TemplateContextFactory; @@ -68,6 +75,7 @@ import net.pterodactylus.util.web.Response; public class TemplateServlet extends HttpServlet { private Core core; + private final TemplateContextFactory templateContextFactory = new TemplateContextFactory(); private final Map> pages = new HashMap>(); @@ -115,7 +123,12 @@ public class TemplateServlet extends HttpServlet { } }); + sortFilter.addComparator(Party.class, DefaultParty.NAME_YEAR_COMPARATOR); + sortFilter.addComparator(Group.class, DefaultGroup.NAME_COMPARATOR); templateContextFactory.addFilter("sort", sortFilter); + templateContextFactory.addFilter("matches", new MatchFilter()); + templateContextFactory.addFilter("time", new DurationFilter()); + templateContextFactory.addFilter("concise", new ConciseNumberFilter()); templateContextFactory.addTemplateObject("core", core); templateContextFactory.addTemplateObject("dataManager", core.getDataManager());