🎨 Remove template context factory from web interface API
[Sone.git] / src / main / java / net / pterodactylus / sone / web / WebInterface.java
index 41ff052..27ef8d5 100644 (file)
 
 package net.pterodactylus.sone.web;
 
-import static java.util.logging.Logger.getLogger;
-
 import java.util.Collection;
 import java.util.TimeZone;
-import java.util.logging.Logger;
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
 import net.pterodactylus.sone.core.Core;
 import net.pterodactylus.sone.core.ElementLoader;
 import net.pterodactylus.sone.core.event.*;
-import net.pterodactylus.sone.data.Post;
-import net.pterodactylus.sone.data.PostReply;
 import net.pterodactylus.sone.data.Sone;
 import net.pterodactylus.sone.freenet.L10nFilter;
 import net.pterodactylus.sone.freenet.Translation;
@@ -179,15 +174,6 @@ public class WebInterface implements SessionProvider {
                return sonePlugin.core();
        }
 
-       /**
-        * Returns the template context factory of the web interface.
-        *
-        * @return The template context factory
-        */
-       public TemplateContextFactory getTemplateContextFactory() {
-               return templateContextFactory;
-       }
-
        @Nullable
        @Override
        public Sone getCurrentSone(@Nonnull ToadletContext toadletContext) {
@@ -231,16 +217,6 @@ public class WebInterface implements SessionProvider {
                return formPassword;
        }
 
-       @Nonnull
-       public Collection<Post> getNewPosts(@Nullable Sone currentSone) {
-               return newElements.getNewPosts();
-       }
-
-       @Nonnull
-       public Collection<PostReply> getNewReplies(@Nullable Sone currentSone) {
-               return newElements.getNewReplies();
-       }
-
        //
        // ACTIONS
        //
@@ -273,7 +249,7 @@ public class WebInterface implements SessionProvider {
 
                pageToadletRegistry.addPage(new RedirectPage<FreenetRequest>("", "index.html"));
                pageToadletRegistry.addPage(new IndexPage(this, loaders, templateRenderer, postVisibilityFilter));
-               pageToadletRegistry.addPage(new NewPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new NewPage(this, loaders, templateRenderer, newElements));
                pageToadletRegistry.addPage(new CreateSonePage(this, loaders, templateRenderer));
                pageToadletRegistry.addPage(new KnownSonesPage(this, loaders, templateRenderer));
                pageToadletRegistry.addPage(new EditProfilePage(this, loaders, templateRenderer));
@@ -322,13 +298,13 @@ public class WebInterface implements SessionProvider {
                pageToadletRegistry.addPage(new TemplatePage<FreenetRequest>("OpenSearch.xml", "application/opensearchdescription+xml", templateContextFactory, openSearchTemplate));
                pageToadletRegistry.addPage(new GetImagePage(this));
                pageToadletRegistry.addPage(new GetTranslationAjaxPage(this));
-               pageToadletRegistry.addPage(new GetStatusAjaxPage(this, elementLoader, timeTextConverter, l10nFilter, TimeZone.getDefault()));
-               pageToadletRegistry.addPage(new GetNotificationsAjaxPage(this));
+               pageToadletRegistry.addPage(new GetStatusAjaxPage(this, elementLoader, newElements, timeTextConverter, l10nFilter, TimeZone.getDefault()));
+               pageToadletRegistry.addPage(new GetNotificationsAjaxPage(this, templateContextFactory));
                pageToadletRegistry.addPage(new DismissNotificationAjaxPage(this));
                pageToadletRegistry.addPage(new CreatePostAjaxPage(this));
                pageToadletRegistry.addPage(new CreateReplyAjaxPage(this));
-               pageToadletRegistry.addPage(new GetReplyAjaxPage(this, replyTemplate));
-               pageToadletRegistry.addPage(new GetPostAjaxPage(this, postTemplate));
+               pageToadletRegistry.addPage(new GetReplyAjaxPage(this, templateContextFactory, replyTemplate));
+               pageToadletRegistry.addPage(new GetPostAjaxPage(this, templateContextFactory, postTemplate));
                pageToadletRegistry.addPage(new GetLinkedElementAjaxPage(this, elementLoader, linkedElementRenderFilter));
                pageToadletRegistry.addPage(new GetTimesAjaxPage(this, timeTextConverter, l10nFilter, TimeZone.getDefault()));
                pageToadletRegistry.addPage(new MarkAsKnownAjaxPage(this));