From 1a2c9eb50e89d9ba5f9ea9b72721ebfeb68650cd Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Tue, 2 Dec 2014 20:43:51 +0100 Subject: [PATCH] Use optional session in web interface. --- .../net/pterodactylus/sone/web/WebInterface.java | 42 ++++++---------------- 1 file changed, 11 insertions(+), 31 deletions(-) diff --git a/src/main/java/net/pterodactylus/sone/web/WebInterface.java b/src/main/java/net/pterodactylus/sone/web/WebInterface.java index 9fe5bba..02a5dd5 100644 --- a/src/main/java/net/pterodactylus/sone/web/WebInterface.java +++ b/src/main/java/net/pterodactylus/sone/web/WebInterface.java @@ -152,6 +152,7 @@ import net.pterodactylus.util.web.RedirectPage; import net.pterodactylus.util.web.StaticPage; import net.pterodactylus.util.web.TemplatePage; +import com.google.common.base.Optional; import com.google.common.collect.Collections2; import com.google.common.collect.ImmutableSet; import com.google.common.eventbus.Subscribe; @@ -360,37 +361,16 @@ public class WebInterface { return templateContextFactory; } - /** - * Returns the current session, creating a new session if there is no - * current session. - * - * @param toadletContenxt - * The toadlet context - * @return The current session, or {@code null} if there is no current - * session - */ public Session getCurrentSession(ToadletContext toadletContenxt) { - return getCurrentSession(toadletContenxt, true); + return getCurrentSession(toadletContenxt, true).get(); } - /** - * Returns the current session, creating a new session if there is no - * current session and {@code create} is {@code true}. - * - * @param toadletContenxt - * The toadlet context - * @param create - * {@code true} to create a new session if there is no current - * session, {@code false} otherwise - * @return The current session, or {@code null} if there is no current - * session - */ - public Session getCurrentSession(ToadletContext toadletContenxt, boolean create) { + public Optional getCurrentSession(ToadletContext toadletContenxt, boolean createSession) { Session session = getSessionManager().useSession(toadletContenxt); - if (create && (session == null)) { + if (createSession && (session == null)) { session = getSessionManager().createSession(UUID.randomUUID().toString(), toadletContenxt); } - return session; + return Optional.fromNullable(session); } /** @@ -410,18 +390,18 @@ public class WebInterface { * * @param toadletContext * The toadlet context - * @param create + * @param createSession * {@code true} to create a new session if no session exists, * {@code false} to not create a new session * @return The currently logged in Sone, or {@code null} if no Sone is * currently logged in */ - public Sone getCurrentSone(ToadletContext toadletContext, boolean create) { + public Sone getCurrentSone(ToadletContext toadletContext, boolean createSession) { Collection localSones = getCore().getLocalSones(); if (localSones.size() == 1) { return localSones.iterator().next(); } - return getCurrentSone(getCurrentSession(toadletContext, create)); + return getCurrentSone(getCurrentSession(toadletContext, createSession)); } /** @@ -432,11 +412,11 @@ public class WebInterface { * @return The currently logged in Sone, or {@code null} if no Sone is * currently logged in */ - public Sone getCurrentSone(Session session) { - if (session == null) { + public Sone getCurrentSone(Optional session) { + if (!session.isPresent()) { return null; } - String soneId = (String) session.getAttribute("Sone.CurrentSone"); + String soneId = (String) session.get().getAttribute("Sone.CurrentSone"); if (soneId == null) { return null; } -- 2.7.4