package be.neutrinet.ispng.security;
import be.neutrinet.ispng.VPN;
import com.j256.ormlite.dao.Dao;
import com.j256.ormlite.dao.DaoManager;
import com.j256.ormlite.stmt.DeleteBuilder;
import com.j256.ormlite.table.TableUtils;
import org.apache.log4j.Logger;
import java.sql.SQLException;
/**
* Created by wannes on 12/20/14.
*/
public class SessionTokens {
public static Dao<SessionToken, String> dao;
static {
Class cls = SessionToken.class;
try {
dao = DaoManager.createDao(VPN.cs, cls);
TableUtils.createTableIfNotExists(VPN.cs, cls);
deleteExpiredSessions();
} catch (SQLException ex) {
Logger.getLogger(cls).error("Failed to create DAO", ex);
}
}
public static void deleteExpiredSessions() {
try {
DeleteBuilder<SessionToken, String> db = dao.deleteBuilder();
db.where().lt("creationTime", System.currentTimeMillis() - 24 * 3600 * 1000);
db.delete();
} catch (Exception ex) {
Logger.getLogger(SessionTokens.class).error("Failed to clean expired session tokens", ex);
}
}
}