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.StringTokenizer;
00028
00029 import org.objectweb.cjdbc.common.i18n.ConsoleTranslate;
00030 import org.objectweb.cjdbc.common.jmx.mbeans.DatabaseBackendMBean;
00031 import org.objectweb.cjdbc.console.text.ConsoleException;
00032 import org.objectweb.cjdbc.console.text.module.VirtualDatabaseAdmin;
00033
00034
00035
00036
00037
00038
00039
00040 public class DisableWrite extends AbstractAdminCommand
00041 {
00042
00043
00044
00045
00046
00047
00048 public DisableWrite(VirtualDatabaseAdmin module)
00049 {
00050 super(module);
00051 }
00052
00053
00054
00055
00056 public void parse(String commandText) throws Exception
00057 {
00058 StringTokenizer st = new StringTokenizer(commandText);
00059 if (st.countTokens() < 1 || st.countTokens() > 2)
00060 throw new ConsoleException(ConsoleTranslate
00061 .get("console.error.invalid.comment.argument"));
00062 String backendName = st.nextToken();
00063 String checkpoint = null;
00064 if (st.hasMoreTokens())
00065 checkpoint = st.nextToken();
00066 console.println(ConsoleTranslate.get("admin.command.disable.write.echo",
00067 backendName));
00068 DatabaseBackendMBean mbean = jmxClient.getDatabaseBackendProxy(dbName,
00069 backendName, user, password);
00070 mbean.disableWrite();
00071 if (checkpoint != null)
00072 mbean.setLastKnownCheckpoint(checkpoint);
00073 }
00074
00075
00076
00077
00078 public String getCommandName()
00079 {
00080 return "disableWrite";
00081 }
00082
00083
00084
00085
00086 public String getCommandDescription()
00087 {
00088 return ConsoleTranslate.get("admin.command.disable.write");
00089 }
00090
00091
00092
00093
00094 public String getCommandParameters()
00095 {
00096 return "<backendName> [<checkpoint>]";
00097 }
00098
00099 }