diff options
Diffstat (limited to 'src/main/java/org/openslx/imagemaster/session')
-rw-r--r-- | src/main/java/org/openslx/imagemaster/session/SessionManager.java | 45 |
1 files changed, 29 insertions, 16 deletions
diff --git a/src/main/java/org/openslx/imagemaster/session/SessionManager.java b/src/main/java/org/openslx/imagemaster/session/SessionManager.java index c141d24..e9f133e 100644 --- a/src/main/java/org/openslx/imagemaster/session/SessionManager.java +++ b/src/main/java/org/openslx/imagemaster/session/SessionManager.java @@ -47,22 +47,6 @@ public class SessionManager return new ClientSessionData( sessionId, authToken, sats, ui ); } - public static Session getSessionFromToken( String token ) - { - if ( token == null || token.length() != 32 ) { - log.debug( "invalid token format: " + token ); - return null; - } - final Session session; - synchronized ( sessions ) { - session = sessions.get( token ); - } - if ( session == null || session.timedOut() ) { - return null; - } - return session; - } - static { QuickTimer.scheduleAtFixedDelay( new Task() { @Override @@ -81,6 +65,22 @@ public class SessionManager }, 123, TimeUnit.MINUTES.toMillis( 13 ) ); } + public static Session getSessionFromToken( String token ) + { + if ( token == null || token.length() != 32 ) { + log.debug( "invalid token format: " + token ); + return null; + } + final Session session; + synchronized ( sessions ) { + session = sessions.get( token ); + } + if ( session == null || session.timedOut() ) { + return null; + } + return session; + } + public static Session getSessionFromSessionId( String sessionId ) { if ( sessionId == null || sessionId.length() != 64 ) { @@ -94,6 +94,19 @@ public class SessionManager if ( session == null || session.timedOut() ) { return null; } + session.refresh(); + return session; + } + + public static Session getSessionFromSessionIdOrToken( String sessionId ) + { + final Session session; + synchronized ( sessions ) { + session = sessions.get( sessionId ); + } + if ( session == null || session.timedOut() ) { + return null; + } return session; } |