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