1 28 package net.sf.jguard.ext.authorization; 29 30 import java.util.Map ; 31 import java.util.logging.Level ; 32 import java.util.logging.Logger ; 33 34 import net.sf.jguard.ext.SecurityConstants; 35 import net.sf.jguard.ext.authorization.manager.AuthorizationManager; 36 37 38 39 46 public class AuthorizationManagerFactory { 47 48 private static final Logger logger = Logger.getLogger(AuthorizationManagerFactory.class.getName()); 49 private static AuthorizationManager authorizationManager = null; 50 51 52 59 public static boolean createAuthorizationManager(Map authorizationManagerOptions) throws AuthorizationException { 60 if(authorizationManager!= null){ 61 return false; 62 } 63 Class clazz = null; 64 try { 65 String authorizationManagerImplName =(String )authorizationManagerOptions.get(SecurityConstants.AUTHORIZATION_MANAGER); 66 ClassLoader cl = AuthorizationManagerFactory.class.getClassLoader(); 67 clazz = Class.forName(authorizationManagerImplName,true,cl); 68 69 authorizationManager = (AuthorizationManager)clazz.newInstance(); 70 logger.log(Level.FINEST,"authorizationManagerOptions="+authorizationManagerOptions); 71 authorizationManager.init(authorizationManagerOptions); 72 73 } catch (InstantiationException e1) { 74 if (logger.isLoggable(Level.FINEST)) { 75 logger.log(Level.FINEST,"getPermissionManager() - dao Implementation cannot be instantiated : InstantiationException"); 76 } 77 throw new AuthorizationException(" dao Implementation cannot be instantiated : InstantiationException",e1); 78 } catch (IllegalAccessException e1) { 79 if (logger.isLoggable(Level.FINEST)) { 80 logger.log(Level.FINEST,"getPermissionManager() - dao Implementation cannot be accessed : IllegalAccessException"); 81 } 82 throw new AuthorizationException(" dao Implementation cannot be accessed: IllegalAccessException",e1); 83 } catch (ClassNotFoundException e) { 84 if (logger.isLoggable(Level.FINEST)) { 85 logger.log(Level.FINEST,"getPermissionManager() - dao Implementation cannot be found: ClassNotFoundException"); 86 } 87 throw new AuthorizationException(" dao Implementation cannot be found: ClassNotFoundException",e); 88 } 89 return true; 90 91 } 92 93 94 97 public static AuthorizationManager getAuthorizationManager() { 98 return authorizationManager; 99 } 100 101 102 } 103 | Popular Tags |