Add filter that can remove single elements from collections.
[demoscenemusic.git] / src / main / java / net / pterodactylus / demoscenemusic / core / TemplateServlet.java
index 7b4f8c7..cfc3fdb 100644 (file)
@@ -38,6 +38,10 @@ 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;
@@ -56,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;
@@ -119,10 +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());