00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 package org.objectweb.cjdbc.console.text.commands.dbadmin;
00026
00027 import java.util.ArrayList;
00028 import java.util.StringTokenizer;
00029
00030 import org.objectweb.cjdbc.common.i18n.ConsoleTranslate;
00031 import org.objectweb.cjdbc.common.jmx.mbeans.VirtualDatabaseMBean;
00032 import org.objectweb.cjdbc.console.text.ConsoleException;
00033 import org.objectweb.cjdbc.console.text.module.VirtualDatabaseAdmin;
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044 public class Backup extends AbstractAdminCommand
00045 {
00046
00047
00048
00049
00050 public String getCommandParameters()
00051 {
00052 return "<backendName> <dumpName> [<tables>]";
00053 }
00054
00055
00056
00057
00058
00059
00060 public Backup(VirtualDatabaseAdmin module)
00061 {
00062 super(module);
00063 }
00064
00065
00066
00067
00068 public void parse(String commandText) throws Exception
00069 {
00070 StringTokenizer sb = new StringTokenizer(commandText.trim());
00071
00072 if (sb == null || sb.countTokens() < 2)
00073 throw new ConsoleException(ConsoleTranslate
00074 .get("admin.command.backup.wrong.parameters"));
00075 String backendName = sb.nextToken();
00076 String checkpointName = sb.nextToken();
00077 ArrayList tables = null;
00078 if (sb.hasMoreTokens())
00079 {
00080 tables = new ArrayList();
00081 while (sb.hasMoreTokens())
00082 {
00083 tables.add(sb.nextToken());
00084 }
00085 }
00086 console.println(ConsoleTranslate.get("admin.command.backup.echo",
00087 new String[]{backendName, checkpointName}));
00088 if (tables != null)
00089 console.println(ConsoleTranslate.get("admin.command.backup.tables",
00090 tables));
00091 VirtualDatabaseMBean vdjc = jmxClient.getVirtualDatabaseProxy(dbName, user,
00092 password);
00093 vdjc.backupBackendWithCheckpoint(backendName, checkpointName, tables);
00094 }
00095
00096
00097
00098
00099 public String getCommandName()
00100 {
00101 return "backup";
00102 }
00103
00104
00105
00106
00107 public String getCommandDescription()
00108 {
00109 return ConsoleTranslate.get("admin.command.backup");
00110 }
00111
00112 }