From 4c2b51cca4b8ebef625e7afda315dce48dbf2b71 Mon Sep 17 00:00:00 2001 From: brinn <brinn> Date: Sun, 29 Jul 2012 20:08:57 +0000 Subject: [PATCH] Expose method checkSession() to IServer. SVN: 26263 --- .../cisd/openbis/generic/server/AbstractServer.java | 3 ++- .../cisd/openbis/generic/shared/AbstractServerLogger.java | 8 +++++++- .../ch/systemsx/cisd/openbis/generic/shared/IServer.java | 8 ++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java index 69b71647c84..b3a51840e19 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java @@ -362,7 +362,8 @@ public abstract class AbstractServer<T> extends AbstractServiceWithLogger<T> imp // Call this when session object is not needed but you want just to // refresh/check the session. - protected void checkSession(final String sessionToken) + @Override + public void checkSession(final String sessionToken) throws InvalidSessionException { getSession(sessionToken); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/AbstractServerLogger.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/AbstractServerLogger.java index c7269e1d5c8..fb09e406edd 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/AbstractServerLogger.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/AbstractServerLogger.java @@ -236,10 +236,16 @@ public abstract class AbstractServerLogger implements IServer @Override public SessionContextDTO tryGetSession(String sessionToken) { - logAccess(sessionToken, "tryGetCurrentSession"); + logAccess(sessionToken, "tryGetSession", "SESSION(%s)", sessionToken); return null; } + @Override + public void checkSession(String sessionToken) throws InvalidSessionException + { + logAccess(sessionToken, "checkSession", "SESSION(%s)", sessionToken); + } + @Override public final void logout(final String sessionToken) throws UserFailureException { diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/IServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/IServer.java index 35e187e24cf..4808ff2dd66 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/IServer.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/IServer.java @@ -21,6 +21,7 @@ import java.util.List; import org.springframework.transaction.annotation.Transactional; import ch.systemsx.cisd.common.exceptions.AuthorizationFailureException; +import ch.systemsx.cisd.common.exceptions.InvalidSessionException; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.openbis.generic.shared.authorization.ISessionProvider; import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed; @@ -70,6 +71,13 @@ public interface IServer extends ISessionProvider /** @return session for the specified token or null if session has expired */ public SessionContextDTO tryGetSession(String sessionToken); + /** + * Checks that the session is valid. + * + * @throws InvalidSessionException If the session is not valid. + */ + public void checkSession(final String sessionToken) throws InvalidSessionException; + /** * Sets the base URL (including "index.html") that the web server is reachable at for this * client. -- GitLab