src/org/objectweb/cjdbc/console/text/module/VirtualDatabaseAdmin.java

説明を見る。
00001 00025 package org.objectweb.cjdbc.console.text.module; 00026 00027 import org.objectweb.cjdbc.common.i18n.ConsoleTranslate; 00028 import org.objectweb.cjdbc.common.jmx.mbeans.ControllerMBean; 00029 import org.objectweb.cjdbc.common.jmx.mbeans.VirtualDatabaseMBean; 00030 import org.objectweb.cjdbc.console.text.Console; 00031 import org.objectweb.cjdbc.console.text.commands.Help; 00032 import org.objectweb.cjdbc.console.text.commands.History; 00033 import org.objectweb.cjdbc.console.text.commands.Native; 00034 import org.objectweb.cjdbc.console.text.commands.Quit; 00035 import org.objectweb.cjdbc.console.text.commands.dbadmin.Backup; 00036 import org.objectweb.cjdbc.console.text.commands.dbadmin.Disable; 00037 import org.objectweb.cjdbc.console.text.commands.dbadmin.DisableAll; 00038 import org.objectweb.cjdbc.console.text.commands.dbadmin.DisableRead; 00039 import org.objectweb.cjdbc.console.text.commands.dbadmin.Enable; 00040 import org.objectweb.cjdbc.console.text.commands.dbadmin.EnableAll; 00041 import org.objectweb.cjdbc.console.text.commands.dbadmin.EnableRead; 00042 import org.objectweb.cjdbc.console.text.commands.dbadmin.RemoveCheckpoint; 00043 import org.objectweb.cjdbc.console.text.commands.dbadmin.Replicate; 00044 import org.objectweb.cjdbc.console.text.commands.dbadmin.Restore; 00045 import org.objectweb.cjdbc.console.text.commands.dbadmin.SetCheckpoint; 00046 import org.objectweb.cjdbc.console.text.commands.dbadmin.ShowBackends; 00047 import org.objectweb.cjdbc.console.text.commands.dbadmin.TransferBackend; 00048 import org.objectweb.cjdbc.console.text.commands.dbadmin.ViewCheckpointNames; 00049 00058 public class VirtualDatabaseAdmin extends AbstractConsoleModule 00059 { 00060 private String virtualDbName, login, password; 00061 00067 public String getLogin() 00068 { 00069 return login; 00070 } 00071 00077 public String getPassword() 00078 { 00079 return password; 00080 } 00081 00087 public String getVirtualDbName() 00088 { 00089 return virtualDbName; 00090 } 00091 00095 public void login(String[] params) 00096 { 00097 // In case a login has failed before 00098 quit = false; 00099 String vdbName = params[0]; 00100 try 00101 { 00102 if (vdbName == null || vdbName.trim().equals("")) 00103 { 00104 vdbName = console.readLine(ConsoleTranslate.get("admin.login.dbname")); 00105 if (vdbName == null) 00106 return; 00107 } 00108 00109 login = console.readLine(ConsoleTranslate.get("admin.login.user")); 00110 if (login == null) 00111 return; 00112 00113 password = console.readPassword(ConsoleTranslate 00114 .get("admin.login.password")); 00115 if (password == null) 00116 return; 00117 00118 try 00119 { 00120 ControllerMBean mbean = console.getJmxClient().getControllerProxy(); 00121 if (!mbean.hasVirtualDatabase(vdbName)) 00122 { 00123 console.printError(ConsoleTranslate.get("module.database.invalid", 00124 vdbName)); 00125 quit(); 00126 return; 00127 } 00128 VirtualDatabaseMBean vdb = console.getJmxClient() 00129 .getVirtualDatabaseProxy(vdbName, login, password); 00130 if (!vdb.checkAdminAuthentication(login, password)) 00131 { 00132 console.printError(ConsoleTranslate.get("module.database.login.fail", 00133 login)); 00134 quit(); 00135 } 00136 } 00137 catch (Exception e) 00138 { 00139 // does not exists: quit 00140 console.printError(ConsoleTranslate.get("module.database.invalid", 00141 vdbName), e); 00142 quit(); 00143 } 00144 this.virtualDbName = vdbName; 00145 if (quit) 00146 return; 00147 00148 // Reload commands because target has changed 00149 loadCommands(); 00150 console.println(ConsoleTranslate.get("admin.login.ready", virtualDbName)); 00151 } 00152 catch (Exception e) 00153 { 00154 console.printError(e.getMessage(), e); 00155 quit(); 00156 } 00157 00158 } 00159 00163 public String getDescriptionString() 00164 { 00165 return "VirtualDatabase Administration"; 00166 } 00167 00171 public String getPromptString() 00172 { 00173 return virtualDbName + "(" + login + ")"; 00174 } 00175 00179 protected void loadCommands() 00180 { 00181 commands.clear(); 00182 commands.add(new Help(this)); 00183 commands.add(new History(this)); 00184 commands.add(new Quit(this)); 00185 commands.add(new Backup(this)); 00186 commands.add(new Disable(this)); 00187 commands.add(new DisableRead(this)); 00188 commands.add(new DisableAll(this)); 00189 commands.add(new Enable(this)); 00190 commands.add(new EnableRead(this)); 00191 commands.add(new EnableAll(this)); 00192 commands.add(new Native(this)); 00193 commands.add(new RemoveCheckpoint(this)); 00194 commands.add(new Replicate(this)); 00195 commands.add(new Restore(this)); 00196 commands.add(new TransferBackend(this)); 00197 commands.add(new ShowBackends(this)); 00198 commands.add(new SetCheckpoint(this)); 00199 commands.add(new ViewCheckpointNames(this)); 00200 } 00201 00205 public void quit() 00206 { 00207 quit = true; 00208 } 00209 00215 public VirtualDatabaseAdmin(Console console) 00216 { 00217 super(console); 00218 } 00219 }

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