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 69b71647c8493fda5b91c1e91586c78d35cd5b88..b3a51840e196a5b729741ee300f0fa616801306b 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 c7269e1d5c89e5234d257ba3404b83bf2c4c31aa..fb09e406eddca49d79a03172afcacd2c3bd772f3 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 35e187e24cf793678330099bdfcc6ab15c398fd0..4808ff2dd66a3b36588208a1557614c1edb4f0ea 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.