1 17 18 19 package org.apache.catalina.users; 20 21 22 import java.util.Hashtable ; 23 24 import javax.naming.Context ; 25 import javax.naming.Name ; 26 import javax.naming.RefAddr ; 27 import javax.naming.Reference ; 28 import javax.naming.spi.ObjectFactory ; 29 30 31 51 52 public class MemoryUserDatabaseFactory implements ObjectFactory { 53 54 55 57 58 73 public Object getObjectInstance(Object obj, Name name, Context nameCtx, 74 Hashtable environment) 75 throws Exception { 76 77 if ((obj == null) || !(obj instanceof Reference )) { 80 return (null); 81 } 82 Reference ref = (Reference ) obj; 83 if (!"org.apache.catalina.UserDatabase".equals(ref.getClassName())) { 84 return (null); 85 } 86 87 MemoryUserDatabase database = new MemoryUserDatabase(name.toString()); 90 RefAddr ra = null; 91 92 ra = ref.get("pathname"); 93 if (ra != null) { 94 database.setPathname(ra.getContent().toString()); 95 } 96 97 ra = ref.get("readonly"); 98 if (ra != null) { 99 database.setReadonly(Boolean.valueOf(ra.getContent().toString()).booleanValue()); 100 } 101 102 database.open(); 104 database.save(); 105 return (database); 106 107 } 108 109 110 } 111 | Popular Tags |