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.io.BufferedWriter;
00028 import java.io.File;
00029 import java.io.FileWriter;
00030 import java.util.StringTokenizer;
00031
00032 import org.objectweb.cjdbc.common.i18n.ConsoleTranslate;
00033 import org.objectweb.cjdbc.common.jmx.mbeans.VirtualDatabaseMBean;
00034 import org.objectweb.cjdbc.console.text.ConsoleException;
00035 import org.objectweb.cjdbc.console.text.module.VirtualDatabaseAdmin;
00036
00037
00038
00039
00040
00041
00042
00043 public class GetBackendSchema extends AbstractAdminCommand
00044 {
00045
00046
00047
00048
00049
00050
00051 public GetBackendSchema(VirtualDatabaseAdmin module)
00052 {
00053 super(module);
00054 }
00055
00056
00057
00058
00059 public void parse(String commandText) throws Exception
00060 {
00061
00062 StringTokenizer st = new StringTokenizer(commandText);
00063 int tokens = st.countTokens();
00064 if (tokens < 1)
00065 throw new ConsoleException(ConsoleTranslate
00066 .get("console.error.invalid.comment.argument"));
00067
00068 String backendName = st.nextToken();
00069 String fileName = null;
00070 if (tokens >= 2)
00071 {
00072 fileName = st.nextToken().trim();
00073 }
00074 console.println(ConsoleTranslate.get(
00075 "admin.command.get.backend.schema.echo", new String[]{backendName,
00076 String.valueOf(fileName != null)}));
00077
00078 VirtualDatabaseMBean vdjc = jmxClient.getVirtualDatabaseProxy(dbName, user,
00079 password);
00080
00081 if (fileName == null)
00082 {
00083
00084 console.println(vdjc.getBackendSchema(backendName));
00085 }
00086 else
00087 {
00088
00089 File f = new File(fileName);
00090 BufferedWriter writer = new BufferedWriter(new FileWriter(f));
00091 writer.write(vdjc.getBackendSchema(backendName));
00092 writer.flush();
00093 writer.close();
00094 }
00095
00096 }
00097
00098
00099
00100
00101 public String getCommandName()
00102 {
00103 return "getBackendSchema";
00104 }
00105
00106
00107
00108
00109 public String getCommandDescription()
00110 {
00111 return ConsoleTranslate.get("admin.command.get.backend.schema");
00112 }
00113
00114
00115
00116
00117 public String getCommandParameters()
00118 {
00119 return "<backendName>";
00120 }
00121
00122 }