🔥 Remove templates from FreenetTemplatePages
[Sone.git] / src / main / java / net / pterodactylus / sone / web / WebInterface.java
index d4f3f55..3d131c8 100644 (file)
@@ -112,6 +112,7 @@ import net.pterodactylus.sone.web.ajax.UnlikeAjaxPage;
 import net.pterodactylus.sone.web.ajax.UnlockSoneAjaxPage;
 import net.pterodactylus.sone.web.ajax.UntrustAjaxPage;
 import net.pterodactylus.sone.web.page.FreenetRequest;
+import net.pterodactylus.sone.web.page.TemplateRenderer;
 import net.pterodactylus.sone.web.pages.AboutPage;
 import net.pterodactylus.sone.web.pages.BookmarkPage;
 import net.pterodactylus.sone.web.pages.BookmarksPage;
@@ -131,10 +132,13 @@ import net.pterodactylus.sone.web.pages.EditAlbumPage;
 import net.pterodactylus.sone.web.pages.EditImagePage;
 import net.pterodactylus.sone.web.pages.EditProfileFieldPage;
 import net.pterodactylus.sone.web.pages.EditProfilePage;
+import net.pterodactylus.sone.web.pages.EmptyAlbumTitlePage;
+import net.pterodactylus.sone.web.pages.EmptyImageTitlePage;
 import net.pterodactylus.sone.web.pages.FollowSonePage;
 import net.pterodactylus.sone.web.pages.GetImagePage;
 import net.pterodactylus.sone.web.pages.ImageBrowserPage;
 import net.pterodactylus.sone.web.pages.IndexPage;
+import net.pterodactylus.sone.web.pages.InvalidPage;
 import net.pterodactylus.sone.web.pages.KnownSonesPage;
 import net.pterodactylus.sone.web.pages.LikePage;
 import net.pterodactylus.sone.web.pages.LockSonePage;
@@ -142,6 +146,7 @@ import net.pterodactylus.sone.web.pages.LoginPage;
 import net.pterodactylus.sone.web.pages.LogoutPage;
 import net.pterodactylus.sone.web.pages.MarkAsKnownPage;
 import net.pterodactylus.sone.web.pages.NewPage;
+import net.pterodactylus.sone.web.pages.NoPermissionPage;
 import net.pterodactylus.sone.web.pages.OptionsPage;
 import net.pterodactylus.sone.web.pages.RescuePage;
 import net.pterodactylus.sone.web.pages.SearchPage;
@@ -197,6 +202,7 @@ public class WebInterface implements SessionProvider {
 
        /** The template context factory. */
        private final TemplateContextFactory templateContextFactory;
+       private final TemplateRenderer templateRenderer;
 
        /** The Sone text parser. */
        private final SoneTextParser soneTextParser;
@@ -263,6 +269,7 @@ public class WebInterface implements SessionProvider {
        public WebInterface(SonePlugin sonePlugin, Loaders loaders, ListNotificationFilter listNotificationFilter,
                        PostVisibilityFilter postVisibilityFilter, ReplyVisibilityFilter replyVisibilityFilter,
                        ElementLoader elementLoader, TemplateContextFactory templateContextFactory,
+                       TemplateRenderer templateRenderer,
                        ParserFilter parserFilter, ShortenFilter shortenFilter,
                        RenderFilter renderFilter,
                        LinkedElementRenderFilter linkedElementRenderFilter,
@@ -273,6 +280,7 @@ public class WebInterface implements SessionProvider {
                this.postVisibilityFilter = postVisibilityFilter;
                this.replyVisibilityFilter = replyVisibilityFilter;
                this.elementLoader = elementLoader;
+               this.templateRenderer = templateRenderer;
                this.parserFilter = parserFilter;
                this.shortenFilter = shortenFilter;
                this.renderFilter = renderFilter;
@@ -601,85 +609,56 @@ public class WebInterface implements SessionProvider {
         * Register all toadlets.
         */
        private void registerToadlets() {
-               Template emptyTemplate = parse(new StringReader(""));
-               Template loginTemplate = loaders.loadTemplate("/templates/login.html");
-               Template indexTemplate = loaders.loadTemplate("/templates/index.html");
-               Template newTemplate = loaders.loadTemplate("/templates/new.html");
-               Template knownSonesTemplate = loaders.loadTemplate("/templates/knownSones.html");
-               Template createSoneTemplate = loaders.loadTemplate("/templates/createSone.html");
-               Template createPostTemplate = loaders.loadTemplate("/templates/createPost.html");
-               Template createReplyTemplate = loaders.loadTemplate("/templates/createReply.html");
-               Template bookmarksTemplate = loaders.loadTemplate("/templates/bookmarks.html");
-               Template searchTemplate = loaders.loadTemplate("/templates/search.html");
-               Template editProfileTemplate = loaders.loadTemplate("/templates/editProfile.html");
-               Template editProfileFieldTemplate = loaders.loadTemplate("/templates/editProfileField.html");
-               Template deleteProfileFieldTemplate = loaders.loadTemplate("/templates/deleteProfileField.html");
-               Template viewSoneTemplate = loaders.loadTemplate("/templates/viewSone.html");
-               Template viewPostTemplate = loaders.loadTemplate("/templates/viewPost.html");
-               Template deletePostTemplate = loaders.loadTemplate("/templates/deletePost.html");
-               Template deleteReplyTemplate = loaders.loadTemplate("/templates/deleteReply.html");
-               Template deleteSoneTemplate = loaders.loadTemplate("/templates/deleteSone.html");
-               Template imageBrowserTemplate = loaders.loadTemplate("/templates/imageBrowser.html");
-               Template createAlbumTemplate = loaders.loadTemplate("/templates/createAlbum.html");
-               Template deleteAlbumTemplate = loaders.loadTemplate("/templates/deleteAlbum.html");
-               Template deleteImageTemplate = loaders.loadTemplate("/templates/deleteImage.html");
-               Template noPermissionTemplate = loaders.loadTemplate("/templates/noPermission.html");
-               Template emptyImageTitleTemplate = loaders.loadTemplate("/templates/emptyImageTitle.html");
-               Template emptyAlbumTitleTemplate = loaders.loadTemplate("/templates/emptyAlbumTitle.html");
-               Template optionsTemplate = loaders.loadTemplate("/templates/options.html");
-               Template rescueTemplate = loaders.loadTemplate("/templates/rescue.html");
-               Template aboutTemplate = loaders.loadTemplate("/templates/about.html");
-               Template invalidTemplate = loaders.loadTemplate("/templates/invalid.html");
                Template postTemplate = loaders.loadTemplate("/templates/include/viewPost.html");
                Template replyTemplate = loaders.loadTemplate("/templates/include/viewReply.html");
                Template openSearchTemplate = loaders.loadTemplate("/templates/xml/OpenSearch.xml");
 
                pageToadletRegistry.addPage(new RedirectPage<FreenetRequest>("", "index.html"));
-               pageToadletRegistry.addPage(new IndexPage(indexTemplate, this, loaders, postVisibilityFilter));
-               pageToadletRegistry.addPage(new NewPage(newTemplate, this, loaders));
-               pageToadletRegistry.addPage(new CreateSonePage(createSoneTemplate, this, loaders));
-               pageToadletRegistry.addPage(new KnownSonesPage(knownSonesTemplate, this, loaders));
-               pageToadletRegistry.addPage(new EditProfilePage(editProfileTemplate, this, loaders));
-               pageToadletRegistry.addPage(new EditProfileFieldPage(editProfileFieldTemplate, this, loaders));
-               pageToadletRegistry.addPage(new DeleteProfileFieldPage(deleteProfileFieldTemplate, this, loaders));
-               pageToadletRegistry.addPage(new CreatePostPage(createPostTemplate, this, loaders));
-               pageToadletRegistry.addPage(new CreateReplyPage(createReplyTemplate, this, loaders));
-               pageToadletRegistry.addPage(new ViewSonePage(viewSoneTemplate, this, loaders));
-               pageToadletRegistry.addPage(new ViewPostPage(viewPostTemplate, this, loaders));
-               pageToadletRegistry.addPage(new LikePage(emptyTemplate, this, loaders));
-               pageToadletRegistry.addPage(new UnlikePage(emptyTemplate, this, loaders));
-               pageToadletRegistry.addPage(new DeletePostPage(deletePostTemplate, this, loaders));
-               pageToadletRegistry.addPage(new DeleteReplyPage(deleteReplyTemplate, this, loaders));
-               pageToadletRegistry.addPage(new LockSonePage(emptyTemplate, this, loaders));
-               pageToadletRegistry.addPage(new UnlockSonePage(emptyTemplate, this, loaders));
-               pageToadletRegistry.addPage(new FollowSonePage(emptyTemplate, this, loaders));
-               pageToadletRegistry.addPage(new UnfollowSonePage(emptyTemplate, this, loaders));
-               pageToadletRegistry.addPage(new ImageBrowserPage(imageBrowserTemplate, this, loaders));
-               pageToadletRegistry.addPage(new CreateAlbumPage(createAlbumTemplate, this, loaders));
-               pageToadletRegistry.addPage(new EditAlbumPage(emptyTemplate, this, loaders));
-               pageToadletRegistry.addPage(new DeleteAlbumPage(deleteAlbumTemplate, this, loaders));
-               pageToadletRegistry.addPage(new UploadImagePage(invalidTemplate, this, loaders));
-               pageToadletRegistry.addPage(new EditImagePage(emptyTemplate, this, loaders));
-               pageToadletRegistry.addPage(new DeleteImagePage(deleteImageTemplate, this, loaders));
-               pageToadletRegistry.addPage(new TrustPage(emptyTemplate, this, loaders));
-               pageToadletRegistry.addPage(new DistrustPage(emptyTemplate, this, loaders));
-               pageToadletRegistry.addPage(new UntrustPage(emptyTemplate, this, loaders));
-               pageToadletRegistry.addPage(new MarkAsKnownPage(emptyTemplate, this, loaders));
-               pageToadletRegistry.addPage(new BookmarkPage(emptyTemplate, this, loaders));
-               pageToadletRegistry.addPage(new UnbookmarkPage(emptyTemplate, this, loaders));
-               pageToadletRegistry.addPage(new BookmarksPage(bookmarksTemplate, this, loaders));
-               pageToadletRegistry.addPage(new SearchPage(searchTemplate, this, loaders));
-               pageToadletRegistry.addPage(new DeleteSonePage(deleteSoneTemplate, this, loaders));
-               pageToadletRegistry.addPage(new LoginPage(loginTemplate, this, loaders));
-               pageToadletRegistry.addPage(new LogoutPage(emptyTemplate, this, loaders));
-               pageToadletRegistry.addPage(new OptionsPage(optionsTemplate, this, loaders));
-               pageToadletRegistry.addPage(new RescuePage(rescueTemplate, this, loaders));
-               pageToadletRegistry.addPage(new AboutPage(aboutTemplate, this, loaders, new PluginVersion(SonePlugin.getPluginVersion()), new PluginYear(sonePlugin.getYear()), new PluginHomepage(sonePlugin.getHomepage())));
-               pageToadletRegistry.addPage(new SoneTemplatePage("noPermission.html", this, loaders, noPermissionTemplate, "Page.NoPermission.Title"));
-               pageToadletRegistry.addPage(new SoneTemplatePage("emptyImageTitle.html", this, loaders, emptyImageTitleTemplate, "Page.EmptyImageTitle.Title"));
-               pageToadletRegistry.addPage(new SoneTemplatePage("emptyAlbumTitle.html", this, loaders, emptyAlbumTitleTemplate, "Page.EmptyAlbumTitle.Title"));
-               pageToadletRegistry.addPage(new DismissNotificationPage(emptyTemplate, this, loaders));
-               pageToadletRegistry.addPage(new SoneTemplatePage("invalid.html", this, loaders, invalidTemplate, "Page.Invalid.Title"));
+               pageToadletRegistry.addPage(new IndexPage(this, loaders, templateRenderer, postVisibilityFilter));
+               pageToadletRegistry.addPage(new NewPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new CreateSonePage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new KnownSonesPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new EditProfilePage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new EditProfileFieldPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new DeleteProfileFieldPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new CreatePostPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new CreateReplyPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new ViewSonePage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new ViewPostPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new LikePage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new UnlikePage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new DeletePostPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new DeleteReplyPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new LockSonePage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new UnlockSonePage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new FollowSonePage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new UnfollowSonePage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new ImageBrowserPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new CreateAlbumPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new EditAlbumPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new DeleteAlbumPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new UploadImagePage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new EditImagePage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new DeleteImagePage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new TrustPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new DistrustPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new UntrustPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new MarkAsKnownPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new BookmarkPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new UnbookmarkPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new BookmarksPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new SearchPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new DeleteSonePage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new LoginPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new LogoutPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new OptionsPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new RescuePage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new AboutPage(this, loaders, templateRenderer, new PluginVersion(SonePlugin.getPluginVersion()), new PluginYear(sonePlugin.getYear()), new PluginHomepage(sonePlugin.getHomepage())));
+               pageToadletRegistry.addPage(new InvalidPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new NoPermissionPage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new EmptyImageTitlePage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new EmptyAlbumTitlePage(this, loaders, templateRenderer));
+               pageToadletRegistry.addPage(new DismissNotificationPage(this, loaders, templateRenderer));
                pageToadletRegistry.addPage(loaders.<FreenetRequest>loadStaticPage("css/", "/static/css/", "text/css"));
                pageToadletRegistry.addPage(loaders.<FreenetRequest>loadStaticPage("javascript/", "/static/javascript/", "text/javascript"));
                pageToadletRegistry.addPage(loaders.<FreenetRequest>loadStaticPage("images/", "/static/images/", "image/png"));