Author: stack Date: Wed Dec 12 21:43:59 2007 New Revision: 603824 URL: http://svn.apache.org/viewvc?rev=603824&view=rev Log: HADOOP-2047 Add an '--master=X' and '--html' command-line parameters to shell
Modified: lucene/hadoop/trunk/src/contrib/hbase/CHANGES.txt lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/Shell.java lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/ShellSecurityManager.java Modified: lucene/hadoop/trunk/src/contrib/hbase/CHANGES.txt URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/contrib/hbase/CHANGES.txt?rev=603824&r1=603823&r2=603824&view=diff ============================================================================== --- lucene/hadoop/trunk/src/contrib/hbase/CHANGES.txt (original) +++ lucene/hadoop/trunk/src/contrib/hbase/CHANGES.txt Wed Dec 12 21:43:59 2007 @@ -116,6 +116,7 @@ HADOOP-2370 Allow column families with an unlimited number of versions (Edward Yoon via Stack) HADOOP-2407 Keeping MapFile.Reader open is expensive: Part 2 + HADOOP-2047 Add an '--master=X' and '--html' command-line parameters to shell Release 0.15.1 Branch 0.15 Modified: lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/Shell.java URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/Shell.java?rev=603824&r1=603823&r2=603824&view=diff ============================================================================== --- lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/Shell.java (original) +++ lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/Shell.java Wed Dec 12 21:43:59 2007 @@ -27,9 +27,11 @@ import org.apache.hadoop.hbase.shell.Command; import org.apache.hadoop.hbase.shell.HelpCommand; -import org.apache.hadoop.hbase.shell.ShellSecurityManager; import org.apache.hadoop.hbase.shell.ReturnMsg; +import org.apache.hadoop.hbase.shell.ShellSecurityManager; +import org.apache.hadoop.hbase.shell.TableFormatter; import org.apache.hadoop.hbase.shell.TableFormatterFactory; +import org.apache.hadoop.hbase.shell.formatter.HtmlTableFormatter; import org.apache.hadoop.hbase.shell.generated.ParseException; import org.apache.hadoop.hbase.shell.generated.Parser; import org.apache.hadoop.hbase.shell.generated.TokenMgrError; @@ -37,12 +39,15 @@ /** * An hbase shell. * - * @see <a href="http://wiki.apache.org/lucene-hadoop/Hbase/HbaseShell">HbaseShell</a> + * @see <a + * href="http://wiki.apache.org/lucene-hadoop/Hbase/HbaseShell">HbaseShell</a> */ public class Shell { /** audible keyboard bells */ public static final boolean DEFAULT_BELL_ENABLED = true; - + public static String MASTER_ADDRESS = null; + public static String HTML_OPTION = null; + /** Return the boolean value indicating whether end of command or not */ static boolean isEndOfCommand(String line) { return (line.lastIndexOf(';') > -1) ? true : false; @@ -57,50 +62,64 @@ * @param watch true if execution time should be computed and returned * @param start start of time interval * @param end end of time interval - * @return a string of code execution time. */ + * @return a string of code execution time. + */ public static String executeTime(boolean watch, long start, long end) { - return watch? - " (" + String.format("%.2f", Double.valueOf((end - start) * 0.001)) + - " sec)": - ""; + return watch ? " (" + + String.format("%.2f", Double.valueOf((end - start) * 0.001)) + " sec)" + : ""; } - + /** * Main method + * * @param args not used * @throws IOException */ - public static void main(String args[]) throws IOException { + public static void main(String args[]) throws IOException { + argumentParsing(args); HBaseConfiguration conf = new HBaseConfiguration(); ConsoleReader reader = new ConsoleReader(); System.setSecurityManager(new ShellSecurityManager()); reader.setBellEnabled(conf.getBoolean("hbaseshell.jline.bell.enabled", - DEFAULT_BELL_ENABLED)); + DEFAULT_BELL_ENABLED)); Writer out = new OutputStreamWriter(System.out, "UTF-8"); - TableFormatterFactory tff = new TableFormatterFactory(out, conf); - HelpCommand help = new HelpCommand(out, tff.get()); - if(args.length == 0) help.printVersion(); + TableFormatter tableFormater = new TableFormatterFactory(out, conf).get(); + if (MASTER_ADDRESS != null) { + conf.set("hbase.master", MASTER_ADDRESS.substring(9, MASTER_ADDRESS.length())); + } + if (HTML_OPTION != null) { + tableFormater = new HtmlTableFormatter(out); + System.out.println("--html"); + } + + HelpCommand help = new HelpCommand(out, tableFormater); + if (args.length == 0 || !args[0].equals("7")) { + help.printVersion(); + } StringBuilder queryStr = new StringBuilder(); String extendedLine; while ((extendedLine = reader.readLine(getPrompt(queryStr))) != null) { if (isEndOfCommand(extendedLine)) { queryStr.append(" " + extendedLine); long start = System.currentTimeMillis(); - Parser parser = new Parser(queryStr.toString(), out, tff.get()); + Parser parser = new Parser(queryStr.toString(), out, tableFormater); ReturnMsg rs = null; try { Command cmd = parser.terminatedCommand(); if (cmd != null) { - rs = cmd.execute(conf); + rs = cmd.execute(conf); } - } catch (ParseException pe) { + } catch (ParseException pe) { String[] msg = pe.getMessage().split("[\n]"); - System.out.println("Syntax error : Type 'help;' for usage.\nMessage : " + msg[0]); + System.out.println("Syntax error : Type 'help;' for usage.\nMessage : " + + msg[0]); } catch (TokenMgrError te) { String[] msg = te.getMessage().split("[\n]"); - System.out.println("Lexical error : Type 'help;' for usage.\nMessage : " + msg[0]); - } - + System.out.println("Lexical error : Type 'help;' for usage.\nMessage : " + + msg[0]); + } + long end = System.currentTimeMillis(); if (rs != null && rs.getType() > -1) System.out.println(rs.getMsg() @@ -111,5 +130,15 @@ } } System.out.println(); + } + + private static void argumentParsing(String[] args) { + for (int i = 0; i < args.length; i++) { + if (args[i].toLowerCase().startsWith("--master:")) { + MASTER_ADDRESS = args[i]; + } else if (args[i].toLowerCase().startsWith("--html")) { + HTML_OPTION = args[i]; + } + } } } Modified: lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/ShellSecurityManager.java URL: http://svn.apache.org/viewvc/lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/ShellSecurityManager.java?rev=603824&r1=603823&r2=603824&view=diff ============================================================================== --- lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/ShellSecurityManager.java (original) +++ lucene/hadoop/trunk/src/contrib/hbase/src/java/org/apache/hadoop/hbase/shell/ShellSecurityManager.java Wed Dec 12 21:43:59 2007 @@ -47,7 +47,7 @@ // I didn't figure out How can catch the ExitException in shell main. // So, I just Re-launching the shell. Shell shell = new Shell(); - String[] args = new String[] { String.valueOf(status) }; + String[] args = new String[] { String.valueOf(7) }; try { shell.main(args); } catch (IOException e) {