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;
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<Session> 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);
}
/**
*
* @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<Sone> localSones = getCore().getLocalSones();
if (localSones.size() == 1) {
return localSones.iterator().next();
}
- return getCurrentSone(getCurrentSession(toadletContext, create));
+ return getCurrentSone(getCurrentSession(toadletContext, createSession));
}
/**
* @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> 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;
}