1 25 26 package com.rift.coad.lib.security.user; 28 29 import com.rift.coad.lib.configuration.Configuration; 31 import com.rift.coad.lib.configuration.ConfigurationFactory; 32 import com.rift.coad.lib.security.Validator; 33 import com.rift.coad.lib.security.AuthorizationException; 34 import com.rift.coad.lib.security.SecurityException; 35 36 37 44 public class UserSessionManagerAccessor { 45 46 private final static String ROLE = "role"; 48 49 private static UserSessionManagerAccessor singleton = null; 51 52 private UserSessionManager userSessionManager = null; 54 private String role = null; 55 56 62 private UserSessionManagerAccessor(UserSessionManager userSessionManager) 63 throws UserException { 64 try { 65 Configuration config = 66 ConfigurationFactory.getInstance().getConfig(this.getClass()); 67 this.userSessionManager = userSessionManager; 68 role = config.getString(ROLE); 69 } catch (Exception ex) { 70 throw new UserException( 71 "Failed to init the user session manager accessor : " 72 + ex.getMessage(),ex); 73 } 74 } 75 76 77 83 public synchronized static UserSessionManagerAccessor init( 84 UserSessionManager userSessionManager) 85 throws UserException { 86 if (singleton == null) { 87 singleton = new UserSessionManagerAccessor(userSessionManager); 88 } 89 return singleton; 90 } 91 92 93 99 public synchronized static UserSessionManagerAccessor getInstance() 100 throws UserException { 101 if (singleton == null) { 102 throw new UserException( 103 "The user session manager accessor has not been instanciated"); 104 } 105 return singleton; 106 } 107 108 109 116 public UserSessionManager getUserSessionManager() 117 throws AuthorizationException, SecurityException { 118 Validator.validate(this.getClass(),role); 119 return userSessionManager; 120 } 121 } 122 | Popular Tags |