summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/imagemaster/serversession/ServerSession.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/openslx/imagemaster/serversession/ServerSession.java')
-rw-r--r--src/main/java/org/openslx/imagemaster/serversession/ServerSession.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/main/java/org/openslx/imagemaster/serversession/ServerSession.java b/src/main/java/org/openslx/imagemaster/serversession/ServerSession.java
new file mode 100644
index 0000000..e15f863
--- /dev/null
+++ b/src/main/java/org/openslx/imagemaster/serversession/ServerSession.java
@@ -0,0 +1,35 @@
+package org.openslx.imagemaster.serversession;
+
+public class ServerSession {
+
+ private static final long TIMEOUT = 600L * 1000L; // TODO: config
+
+ private long timeOut = 0;
+ private final ServerUser serverUser;
+
+ public ServerSession(final ServerUser serverUser)
+ {
+ this.serverUser = serverUser;
+ this.timeOut = System.currentTimeMillis() + TIMEOUT;
+ }
+
+ public synchronized void refresh()
+ {
+ if ( timedOut() )
+ return; // Don't allow refreshing timed out session
+ this.timeOut = System.currentTimeMillis() + TIMEOUT;
+ }
+
+ public synchronized boolean timedOut()
+ {
+ return System.currentTimeMillis() > this.timeOut;
+ }
+
+ public String getOrganization() {
+ return serverUser.organization;
+ }
+
+ public String getAddress() {
+ return serverUser.address;
+ }
+}