summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/imagemaster/session/SessionManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/openslx/imagemaster/session/SessionManager.java')
-rw-r--r--src/main/java/org/openslx/imagemaster/session/SessionManager.java45
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;
}