Add filter that can remove single elements from collections.
[demoscenemusic.git] / src / main / java / net / pterodactylus / demoscenemusic / core / TemplateServlet.java
index a159e8a..cfc3fdb 100644 (file)
@@ -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;
@@ -54,6 +60,7 @@ 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.RemoveFilter;
 import net.pterodactylus.util.template.Template;
 import net.pterodactylus.util.template.TemplateContextFactory;
 import net.pterodactylus.util.template.TemplateParser;
@@ -117,8 +124,13 @@ 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.addFilter("remove", new RemoveFilter());
 
                templateContextFactory.addTemplateObject("core", core);
                templateContextFactory.addTemplateObject("dataManager", core.getDataManager());