src/org/objectweb/cjdbc/controller/authentication/AuthenticationManager.java

説明を見る。
00001 00025 package org.objectweb.cjdbc.controller.authentication; 00026 00027 import java.util.ArrayList; 00028 import java.util.HashMap; 00029 import java.util.Iterator; 00030 00031 import org.objectweb.cjdbc.common.i18n.Translate; 00032 import org.objectweb.cjdbc.common.users.AdminUser; 00033 import org.objectweb.cjdbc.common.users.DatabaseBackendUser; 00034 import org.objectweb.cjdbc.common.users.VirtualDatabaseUser; 00035 import org.objectweb.cjdbc.common.xml.DatabasesXmlTags; 00036 00047 public class AuthenticationManager 00048 { 00049 /* 00050 * How the code is organized ? 1. Member variables 2. Constructor(s) 3. 00051 * Login/Password checking functions 4. Getter/Setter (possibly in 00052 * alphabetical order) 5. Xml 00053 */ 00054 00056 private ArrayList virtualLogins; 00057 00059 private ArrayList adminUsers; 00060 00061 00068 private HashMap realLogins; 00069 00070 /* 00071 * Constructor(s) 00072 */ 00073 00077 public AuthenticationManager() 00078 { 00079 virtualLogins = new ArrayList(); 00080 adminUsers = new ArrayList(); 00081 realLogins = new HashMap(); 00082 } 00083 00084 /* 00085 * Login/Password checking functions 00086 */ 00087 00095 public boolean isValidAdminUser(AdminUser user) 00096 { 00097 return adminUsers.contains(user); 00098 } 00099 00107 public boolean isValidVirtualUser(VirtualDatabaseUser vUser) 00108 { 00109 return virtualLogins.contains(vUser); 00110 } 00111 00119 public boolean isValidVirtualLogin(String vLogin) 00120 { 00121 Iterator iter = virtualLogins.iterator(); 00122 VirtualDatabaseUser u; 00123 while (iter.hasNext()) 00124 { 00125 u = (VirtualDatabaseUser) iter.next(); 00126 if (u.getLogin().equals(vLogin)) 00127 { 00128 return true; 00129 } 00130 } 00131 return false; 00132 } 00133 00134 /* 00135 * Getter/Setter 00136 */ 00137 00143 // public void setAdminUser(VirtualDatabaseUser adminUser) 00144 // { 00145 // this.adminUser = adminUser; 00146 // } 00152 public synchronized void addVirtualUser(VirtualDatabaseUser vUser) 00153 { 00154 virtualLogins.add(vUser); 00155 } 00156 00165 public void addRealUser(String vLogin, DatabaseBackendUser rUser) 00166 throws AuthenticationManagerException 00167 { 00168 HashMap list = (HashMap) realLogins.get(vLogin); 00169 if (list == null) 00170 { 00171 list = new HashMap(); 00172 list.put(rUser.getBackendName(), rUser); 00173 realLogins.put(vLogin, list); 00174 } 00175 else 00176 { 00177 DatabaseBackendUser u = (DatabaseBackendUser) list.get(rUser 00178 .getBackendName()); 00179 if (u != null) 00180 throw new AuthenticationManagerException( 00181 Translate.get("authentication.failed.add.user.already.exists", 00182 new String[]{rUser.getLogin(), vLogin, rUser.getBackendName(), 00183 u.getLogin()})); 00184 list.put(rUser.getBackendName(), rUser); 00185 } 00186 } 00187 00197 public DatabaseBackendUser getDatabaseBackendUser(String vLogin, 00198 String backendName) 00199 { 00200 Object list = realLogins.get(vLogin); 00201 if (list == null) 00202 return null; 00203 else 00204 return (DatabaseBackendUser) ((HashMap) list).get(backendName); 00205 } 00206 00210 // public VirtualDatabaseUser getAdminUser() 00211 // { 00212 // return adminUser; 00213 // } 00217 public HashMap getRealLogins() 00218 { 00219 return realLogins; 00220 } 00221 00225 public ArrayList getVirtualLogins() 00226 { 00227 return virtualLogins; 00228 } 00229 00230 /* 00231 * 5. Xml 00232 */ 00238 public String getXml() 00239 { 00240 StringBuffer info = new StringBuffer(); 00241 info.append("<" + DatabasesXmlTags.ELT_AuthenticationManager + ">"); 00242 info.append("<" + DatabasesXmlTags.ELT_Admin + ">"); 00243 for (int i = 0; i < adminUsers.size(); i++) 00244 { 00245 AdminUser vu = (AdminUser) adminUsers.get(i); 00246 info.append(vu.getXml()); 00247 } 00248 info.append("</" + DatabasesXmlTags.ELT_Admin + ">"); 00249 00250 info.append("<" + DatabasesXmlTags.ELT_VirtualUsers + ">"); 00251 for (int i = 0; i < virtualLogins.size(); i++) 00252 { 00253 VirtualDatabaseUser vu = (VirtualDatabaseUser) virtualLogins.get(i); 00254 info.append(vu.getXml()); 00255 } 00256 info.append("</" + DatabasesXmlTags.ELT_VirtualUsers + ">"); 00257 info.append("</" + DatabasesXmlTags.ELT_AuthenticationManager + ">"); 00258 return info.toString(); 00259 } 00260 00266 public void addAdminUser(AdminUser user) 00267 { 00268 adminUsers.add(user); 00269 } 00270 00277 public boolean removeAdminUser(AdminUser user) 00278 { 00279 return adminUsers.remove(user); 00280 } 00281 00285 public ArrayList getAdminUsers() 00286 { 00287 return adminUsers; 00288 } 00289 00290 }

CJDBCversion1.0.4に対してTue Oct 12 15:16:00 2004に生成されました。 doxygen 1.3.8