X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fpage%2FFreenetTemplatePage.java;h=a9710ee9379b19b366c316a1871cb3d63a0a76d5;hp=5c027e5a1ac4fcb5ec81e1a91609410ce0758105;hb=62573c314957b1851f4fbe693b8746686caa940a;hpb=4f92a116596bf5d42c5b8beadb5df2bc8149e809 diff --git a/src/main/java/net/pterodactylus/sone/web/page/FreenetTemplatePage.java b/src/main/java/net/pterodactylus/sone/web/page/FreenetTemplatePage.java index 5c027e5..a9710ee 100644 --- a/src/main/java/net/pterodactylus/sone/web/page/FreenetTemplatePage.java +++ b/src/main/java/net/pterodactylus/sone/web/page/FreenetTemplatePage.java @@ -1,5 +1,5 @@ /* - * Sone - FreenetTemplatePage.java - Copyright © 2010 David Roden + * Sone - FreenetTemplatePage.java - Copyright © 2010–2016 David Roden * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,8 +17,12 @@ package net.pterodactylus.sone.web.page; +import static java.lang.String.format; +import static java.util.logging.Logger.getLogger; + import java.io.IOException; import java.io.StringWriter; +import java.net.URI; import java.util.Collection; import java.util.Collections; import java.util.List; @@ -27,7 +31,6 @@ import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; -import net.pterodactylus.util.logging.Logging; import net.pterodactylus.util.template.Template; import net.pterodactylus.util.template.TemplateContext; import net.pterodactylus.util.template.TemplateContextFactory; @@ -44,13 +47,11 @@ import freenet.support.HTMLNode; /** * Base class for all {@link Page}s that are rendered with {@link Template}s and * fit into Freenet’s web interface. - * - * @author David ‘Bombe’ Roden */ -public class FreenetTemplatePage implements Page, LinkEnabledCallback { +public class FreenetTemplatePage implements FreenetPage, LinkEnabledCallback { /** The logger. */ - private static final Logger logger = Logging.getLogger(FreenetTemplatePage.class); + private static final Logger logger = getLogger(FreenetTemplatePage.class.getName()); /** The path of the page. */ private final String path; @@ -99,6 +100,7 @@ public class FreenetTemplatePage implements Page, LinkEnabledCal * The request to serve * @return The title of the page */ + @SuppressWarnings("static-method") protected String getPageTitle(FreenetRequest request) { return null; } @@ -115,7 +117,7 @@ public class FreenetTemplatePage implements Page, LinkEnabledCal * {@inheritDoc} */ @Override - public Response handleRequest(FreenetRequest request, Response response) throws IOException { + public final Response handleRequest(FreenetRequest request, Response response) throws IOException { String redirectTarget = getRedirectTarget(request); if (redirectTarget != null) { return new RedirectResponse(redirectTarget); @@ -154,7 +156,7 @@ public class FreenetTemplatePage implements Page, LinkEnabledCal long start = System.nanoTime(); processTemplate(request, templateContext); long finish = System.nanoTime(); - logger.log(Level.FINEST, "Template was rendered in " + ((finish - start) / 1000) / 1000.0 + "ms."); + logger.log(Level.FINEST, format("Template was rendered in %.2fms.", (finish - start) / 1000000.0)); } catch (RedirectException re1) { return new RedirectResponse(re1.getTarget()); } @@ -174,6 +176,7 @@ public class FreenetTemplatePage implements Page, LinkEnabledCal * * @return Additional style sheets to load */ + @SuppressWarnings("static-method") protected Collection getStyleSheets() { return Collections.emptySet(); } @@ -183,6 +186,7 @@ public class FreenetTemplatePage implements Page, LinkEnabledCal * * @return The URL of the shortcut icon, or {@code null} for no icon */ + @SuppressWarnings("static-method") protected String getShortcutIcon() { return null; } @@ -226,6 +230,7 @@ public class FreenetTemplatePage implements Page, LinkEnabledCal * The request that is processed * @return The URL to redirect to, or {@code null} to not redirect */ + @SuppressWarnings("static-method") protected String getRedirectTarget(FreenetRequest request) { return null; } @@ -237,6 +242,7 @@ public class FreenetTemplatePage implements Page, LinkEnabledCal * The request for which to return the link nodes * @return All link nodes that should be added to the HTML head */ + @SuppressWarnings("static-method") protected List> getAdditionalLinkNodes(FreenetRequest request) { return Collections.emptyList(); } @@ -248,10 +254,19 @@ public class FreenetTemplatePage implements Page, LinkEnabledCal * @return {@code true} if this page should only be allowed for hosts with * full access, {@code false} to allow this page for any host */ + @SuppressWarnings("static-method") protected boolean isFullAccessOnly() { return false; } + /** + * {@inheritDoc} + */ + @Override + public boolean isLinkExcepted(URI link) { + return false; + } + // // INTERFACE LinkEnabledCallback // @@ -269,8 +284,6 @@ public class FreenetTemplatePage implements Page, LinkEnabledCal * wants to redirect the user during the * {@link FreenetTemplatePage#processTemplate(FreenetRequest, TemplateContext)} * method call. - * - * @author David ‘Bombe’ Roden */ public static class RedirectException extends Exception { @@ -296,6 +309,11 @@ public class FreenetTemplatePage implements Page, LinkEnabledCal return target; } + @Override + public String toString() { + return format("RedirectException{target='%s'}", target); + } + } }