From 38c12cf70ef4714a7fc508f7fbaf44487ea971b7 Mon Sep 17 00:00:00 2001 From: Jesse Morgan Date: Mon, 31 Mar 2014 22:35:43 -0700 Subject: Locking down restlet library version. While trying to fix this issue, I also moved FMFacade into this package and fixed a couple bugs that snuck into the last commit. --- src/com/p4square/session/Session.java | 59 +++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 src/com/p4square/session/Session.java (limited to 'src/com/p4square/session/Session.java') diff --git a/src/com/p4square/session/Session.java b/src/com/p4square/session/Session.java new file mode 100644 index 0000000..1bb65f5 --- /dev/null +++ b/src/com/p4square/session/Session.java @@ -0,0 +1,59 @@ +/* + * Copyright 2013 Jesse Morgan + */ + +package com.p4square.session; + +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +import org.restlet.security.User; + +/** + * + * @author Jesse Morgan + */ +public class Session { + static final long LIFETIME = 86400000; + + private final String mSessionId; + private final User mUser; + private final Map mData; + private long mExpires; + + Session(User user) { + mUser = user; + mSessionId = UUID.randomUUID().toString(); + mExpires = System.currentTimeMillis() + LIFETIME; + mData = new HashMap(); + } + + void touch() { + mExpires = System.currentTimeMillis() + LIFETIME; + } + + boolean isExpired() { + return System.currentTimeMillis() > mExpires; + } + + public String getId() { + return mSessionId; + } + + public Object get(String key) { + return mData.get(key); + } + + public void put(String key, String value) { + mData.put(key, value); + } + + public User getUser() { + return mUser; + } + + public Map getMap() { + return mData; + } +} -- cgit v1.2.3