1 22 23 package org.continuent.sequoia.console.text.commands.dbadmin; 24 25 import java.util.Iterator ; 26 import java.util.Map ; 27 28 import org.continuent.sequoia.common.i18n.ConsoleTranslate; 29 import org.continuent.sequoia.common.jmx.mbeans.RecoveryLogControlMBean; 30 import org.continuent.sequoia.console.text.formatter.TableFormatter; 31 import org.continuent.sequoia.console.text.module.VirtualDatabaseAdmin; 32 33 39 public class ViewCheckpointNames extends AbstractAdminCommand 40 { 41 42 47 public ViewCheckpointNames(VirtualDatabaseAdmin module) 48 { 49 super(module); 50 } 51 52 55 public void parse(String commandText) throws Exception 56 { 57 RecoveryLogControlMBean recoveryLog = jmxClient.getRecoveryLog(dbName, 58 user, 59 password); 60 Map checkpoints = recoveryLog.getCheckpoints(); 61 if (checkpoints.size() == 0) 62 { 63 console.printInfo(ConsoleTranslate.get("ViewCheckpointNames.nocheckpoints")); return; 65 } 66 String [][] cp = getCheckpointsAsStrings(checkpoints); 68 String [] headers = new String []{"id", "name"}; String formattedCheckpoints = TableFormatter.format(headers, cp, true); 70 console.println(formattedCheckpoints); 71 72 } 73 74 private String [][] getCheckpointsAsStrings(Map checkpoints) 75 { 76 String [][] cp = new String [checkpoints.entrySet().size()][2]; 77 Iterator iter = checkpoints.entrySet().iterator(); 78 int i = 0; 79 while (iter.hasNext()) 80 { 81 Map.Entry checkpoint = (Map.Entry ) iter.next(); 83 cp[i][1] = (String ) checkpoint.getKey(); 84 cp[i][0] = (String ) checkpoint.getValue(); 85 i++; 86 } 87 return cp; 88 } 89 90 93 public String getCommandName() 94 { 95 return "show checkpoints"; } 97 98 101 public String getCommandDescription() 102 { 103 return ConsoleTranslate.get("ViewCheckpointNames.description"); } 105 106 } | Popular Tags |