1 16 17 package org.apache.jetspeed.om.security; 18 19 import org.apache.turbine.services.TurbineServices; 20 import org.apache.turbine.services.resources.ResourceService; 21 22 import org.apache.jetspeed.services.security.UserException; 23 import org.apache.jetspeed.services.security.JetspeedSecurityService; 24 25 32 public class JetspeedUserFactory 33 { 34 private static final String CONFIG_USER_CLASSNAME = "user.class"; 35 36 private static String userClassName = null; 37 private static Class userClass = null; 38 39 46 public static JetspeedUser getInstance() 47 throws UserException 48 { 49 return getInstance(true); 50 } 51 52 public static JetspeedUser getInstance(boolean isNew) 53 throws UserException 54 { 55 JetspeedUser user = null; 56 57 if (null == userClassName) 58 { 59 try 60 { 61 ResourceService serviceConf = ((TurbineServices)TurbineServices.getInstance()) 62 .getResources(JetspeedSecurityService.SERVICE_NAME); 63 userClassName = serviceConf.getString(CONFIG_USER_CLASSNAME); 64 userClass = Class.forName(userClassName); 65 } 66 catch(Exception e) 67 { 68 throw new UserException( 69 "JetspeedUserFactory: Failed to create a Class object for User implementation: " + e.toString()); 70 } 71 } 72 73 try 74 { 75 user = (JetspeedUser)userClass.newInstance(); 76 if (user instanceof BaseJetspeedUser) 77 { 78 ((BaseJetspeedUser)user).setNew(isNew); 79 } 80 } 81 catch(Exception e) 82 { 83 throw new UserException("Failed instantiate an User implementation object: " + e.toString()); 84 } 85 86 return user; 87 } 88 89 90 } 91 92 | Popular Tags |