クラス org.objectweb.cjdbc.console.text.ConsoleLauncher

すべてのメンバ一覧

説明

This class defines a ConsoleLauncher

作者:
Nicolas Modrzyk

Mathieu Peltier

バージョン:
1.0

ConsoleLauncher.java57 行で定義されています。

Static Public メソッド

void main (String args[]) throws Exception
void startGuiConsole (CommandLine commandLine) throws Exception
void startTextConsole (CommandLine commandLine) throws Exception

Static Private メソッド

Options createOptions ()
void printUsage (Options options)


メソッド

Options org.objectweb.cjdbc.console.text.ConsoleLauncher.createOptions  )  [static, private]
 

Creates Options object that contains all available options that can be used launching C-JDBC console.

戻り値:
an Options instance
ConsoleLauncher.java307 行で定義されています。

参照元 org.objectweb.cjdbc.console.text.ConsoleLauncher.main().

00308 { 00309 Options options = new Options(); 00310 OptionGroup group = new OptionGroup(); 00311 00312 // help, verbose, text only console and file options (mutually exclusive 00313 // options) 00314 group.addOption(new Option("h", "help", false, 00315 "Displays usage information.")); 00316 group.addOption(new Option("t", "text", false, "Start text console.")); 00317 group.addOption(new Option("d", "debug", false, 00318 "Show stack trace when error occurs.")); 00319 group.addOption(new Option("v", "version", false, 00320 "Displays version information.")); 00321 group 00322 .addOption(new Option( 00323 "f", 00324 "file", 00325 true, 00326 "Use a given file as the source of commands instead of reading commands interactively.")); 00327 options.addOptionGroup(group); 00328 00329 // controller ip option 00330 String defaultIp = ControllerConstants.DEFAULT_IP; 00331 options 00332 .addOption(new Option( 00333 "i", 00334 "ip", 00335 true, 00336 "IP address of the host name where the JMX Server hosting the controller is running (the default is '" 00337 + defaultIp + "').")); 00338 00339 // controller port option 00340 options.addOption(new Option("p", "port", true, 00341 "JMX/RMI port number of (the default is " 00342 + JmxConstants.DEFAULT_JMX_RMI_PORT + ").")); 00343 options.addOption(new Option("u", "username", true, 00344 "Username for JMX connection.")); 00345 options.addOption(new Option("s", "secret", true, 00346 "Password for JMX connection.")); 00347 00348 return options; 00349 }

void org.objectweb.cjdbc.console.text.ConsoleLauncher.main String  args[]  )  throws Exception [static]
 

Launchs the C-JDBC console. The available options are: <il> -d or --debug: show stack trace when error occurs. -f or --file: use a given file as the source of commands instead of reading commands interactively. -h or --help: displays usage information. -i or --ip: IP address of the host name where the JMX Server hosting the controller is running (the default is '0.0.0.0'). -p or --port: JMX/RMI Port number of (the default is org.objectweb.cjdbc.common.jmx.JmxConstants#DEFAULT_JMX_RMI_PORT). -s or --secret: password for JMX connection. -u or --username: username for JMX connection. -v or --version: displays version information.

引数:
args command line arguments (see above)
例外:
Exception if fails
ConsoleLauncher.java91 行で定義されています。

参照先 org.objectweb.cjdbc.console.text.ConsoleLauncher.createOptions(), org.objectweb.cjdbc.console.text.ConsoleLauncher.printUsage(), org.objectweb.cjdbc.console.text.ConsoleLauncher.startGuiConsole(), と org.objectweb.cjdbc.console.text.ConsoleLauncher.startTextConsole().

00092 { 00093 // Create options object 00094 Options options = createOptions(); 00095 00096 // Parse command line 00097 CommandLineParser parser = new GnuParser(); 00098 CommandLine commandLine = null; 00099 try 00100 { 00101 commandLine = parser.parse(options, args); 00102 } 00103 catch (ParseException e) 00104 { 00105 System.err.println("Syntax error (" + e + ")"); 00106 printUsage(options); 00107 System.exit(1); 00108 } 00109 00110 // Non-recognized options 00111 int n = commandLine.getArgs().length; 00112 for (int i = 0; i < n; i++) 00113 { 00114 System.err.println("Syntax error (unrecognized option: " 00115 + commandLine.getArgs()[i] + ")"); 00116 printUsage(options); 00117 System.exit(1); 00118 } 00119 00120 // Handle --help option 00121 if (commandLine.hasOption('h')) 00122 { 00123 if (commandLine.getOptions().length > 1) 00124 System.err.println("Syntax error"); 00125 00126 printUsage(options); 00127 System.exit(1); 00128 } 00129 00130 // Handle --version option 00131 if (commandLine.hasOption('v')) 00132 { 00133 if (commandLine.getOptions().length > 1) 00134 { 00135 System.err.println("Syntax error"); 00136 printUsage(options); 00137 } 00138 else 00139 System.out.println("C-JDBC controller console version " 00140 + Constants.VERSION); 00141 00142 System.exit(1); 00143 } 00144 00145 // Handle text/gui console start 00146 if (commandLine.hasOption('t')) 00147 { 00148 startTextConsole(commandLine); 00149 } 00150 else 00151 { 00152 try 00153 { 00154 startGuiConsole(commandLine); 00155 } 00156 catch (Throwable t) 00157 { 00158 System.out 00159 .println("Cannot initiate graphic mode. Loading text console instead."); 00160 startTextConsole(commandLine); 00161 } 00162 } 00163 00164 }

void org.objectweb.cjdbc.console.text.ConsoleLauncher.printUsage Options  options  )  [static, private]
 

Displays usage message.

引数:
options available command line options
ConsoleLauncher.java356 行で定義されています。

参照元 org.objectweb.cjdbc.console.text.ConsoleLauncher.main().

00357 { 00358 String header = "Launchs the C-JDBC controller console." 00359 + System.getProperty("line.separator") + "Options:"; 00360 00361 (new HelpFormatter()).printHelp(80, "console(.sh|.bat) [options]", header, 00362 options, ""); 00363 }

void org.objectweb.cjdbc.console.text.ConsoleLauncher.startGuiConsole CommandLine  commandLine  )  throws Exception [static]
 

Starts the gui

引数:
commandLine parameters to start the gui
例外:
Exception if cannot load gui(probably no graphics)
ConsoleLauncher.java172 行で定義されています。

参照元 org.objectweb.cjdbc.console.text.ConsoleLauncher.main().

00173 { 00174 // Set look and feel: Kunstoff not supported in Mac os X 00175 // so revert to default one 00176 String system = System.getProperty("os.name"); 00177 if (system.indexOf("Mac OS") != -1) 00178 { 00179 try 00180 { 00181 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 00182 } 00183 catch (Exception e) 00184 { 00185 } 00186 } 00187 00188 // set default encoding to UTF so we support japanese 00189 Properties pi = System.getProperties(); 00190 pi.put("file.encoding", "UTF-8"); // To add a new 00191 // one 00192 System.setProperties(pi); 00193 new CjdbcGui(); 00194 }

void org.objectweb.cjdbc.console.text.ConsoleLauncher.startTextConsole CommandLine  commandLine  )  throws Exception [static]
 

Starts the text console with the given commandline

引数:
commandLine parameters for the text console
例外:
Exception if fails
ConsoleLauncher.java202 行で定義されています。

参照先 org.objectweb.cjdbc.console.text.Console.handlePrompt(), と org.objectweb.cjdbc.console.text.Console.setDebug().

参照元 org.objectweb.cjdbc.console.text.ConsoleLauncher.main().

00203 { 00204 // Handle --ip option 00205 String ip; 00206 try 00207 { 00208 ip = InetAddress.getLocalHost().getHostName(); 00209 } 00210 catch (UnknownHostException e1) 00211 { 00212 ip = "127.0.0.1"; 00213 } 00214 if (commandLine.hasOption('i')) 00215 { 00216 String tmp = commandLine.getOptionValue('i'); 00217 if (tmp != null) 00218 { 00219 ip = tmp; 00220 } 00221 } 00222 00223 // Handle --port option 00224 int port; 00225 if (commandLine.hasOption('p')) 00226 { 00227 String s = commandLine.getOptionValue('p'); 00228 if (s == null) 00229 { 00230 port = JmxConstants.DEFAULT_JMX_RMI_PORT; 00231 } 00232 else 00233 try 00234 { 00235 port = Integer.parseInt(s); 00236 System.out.println("Using specified " + port + " port number"); 00237 } 00238 catch (NumberFormatException e) 00239 { 00240 System.out.println("Bad port number (" + e + "), using default " 00241 + JmxConstants.DEFAULT_JMX_RMI_PORT + " port number"); 00242 port = JmxConstants.DEFAULT_JMX_RMI_PORT; 00243 } 00244 } 00245 else 00246 { 00247 port = JmxConstants.DEFAULT_JMX_RMI_PORT; 00248 } 00249 00250 RmiJmxClient jmxClient = null; 00251 if (commandLine.hasOption('u') && commandLine.hasOption('s')) 00252 { 00253 String username = commandLine.getOptionValue('u'); 00254 String password = commandLine.getOptionValue('s'); 00255 jmxClient = new RmiJmxClient("" + port, ip, username, password); 00256 } 00257 else 00258 { 00259 try 00260 { 00261 jmxClient = new RmiJmxClient("" + port, ip, null); 00262 } 00263 catch (Exception e) 00264 { 00265 System.out.println("Cannot connect to the jmx server"); 00266 System.exit(1); 00267 } 00268 } 00269 00270 // Launch the console (handle --text and --file options ) 00271 System.out.println("Launching the C-JDBC controller console"); 00272 00273 Console console; 00274 if (commandLine.hasOption('f')) 00275 { 00276 File file = new File(commandLine.getOptionValue('f')); 00277 FileInputStream in = null; 00278 try 00279 { 00280 in = new FileInputStream(file); 00281 } 00282 catch (FileNotFoundException e) 00283 { 00284 System.err.println("Failed to open file '" + file.toString() + "' (" 00285 + e + ")"); 00286 System.exit(1); 00287 } 00288 console = new Console(jmxClient, in, false); 00289 console.setDebug(commandLine.hasOption('d')); 00290 console.handlePrompt(); 00291 System.exit(0); 00292 } 00293 else 00294 { 00295 console = new Console(jmxClient, System.in, true); 00296 console.setDebug(commandLine.hasOption('d')); 00297 console.handlePrompt(); 00298 } 00299 }


このクラスの説明は次のファイルから生成されました:
CJDBCversion1.0.4に対してTue Oct 12 15:16:25 2004に生成されました。 doxygen 1.3.8