1 46 47 package org.mr.kernel.security; 48 49 import org.mr.core.configuration.ConfigManager; 50 import org.mr.MantaAgent; 51 52 import java.util.Vector ; 53 54 import org.mr.kernel.security.authentication.MaximumNumberOfSessionsPerUserReached; 55 56 64 public class SessionsList implements SecurityConfigurationPaths, SecurityConstants { 65 private Vector _list; 66 private int _maximalSessionsPerUser; 67 68 72 public SessionsList(){ 73 ConfigManager config = MantaAgent.getInstance().getSingletonRepository().getConfigManager(); 74 _maximalSessionsPerUser = config.getIntProperty(AUTHENTICATION_MAXIMUM_SESSIONS_PER_USER, DEFAULT_MAXIMAL_SESSIONS_PER_USER); 75 _list = new Vector (); 76 } 77 78 84 public void addSession(SessionID sessionID) throws MaximumNumberOfSessionsPerUserReached { 85 if (_list.size() < _maximalSessionsPerUser){ 86 _list.addElement(sessionID); 87 } 88 else { 89 throw new MaximumNumberOfSessionsPerUserReached(_maximalSessionsPerUser); 90 } 91 } 92 93 98 public boolean removeSession(SessionID sessionID){ 99 return _list.removeElement(sessionID); 100 } 101 102 108 public boolean contains(SessionID sessionID){ 109 return _list.contains(sessionID); 110 } 111 112 117 public int size(){ 118 return _list.size(); 119 } 120 } 121 | Popular Tags |