Author: ctubbsii Date: Sat May 4 22:44:19 2013 New Revision: 1479211 URL: http://svn.apache.org/r1479211 Log: ACCUMULO-1348 merged patch to trunk
Added: accumulo/trunk/core/src/test/resources/shelltest.txt - copied unchanged from r1479204, accumulo/branches/1.5/core/src/test/resources/shelltest.txt Modified: accumulo/trunk/ (props changed) accumulo/trunk/assemble/ (props changed) accumulo/trunk/core/ (props changed) accumulo/trunk/core/pom.xml accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockShell.java accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java accumulo/trunk/core/src/test/java/org/apache/accumulo/core/util/shell/ShellTest.java accumulo/trunk/examples/ (props changed) accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java (props changed) accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java (props changed) accumulo/trunk/pom.xml (props changed) accumulo/trunk/server/ (props changed) accumulo/trunk/src/ (props changed) Propchange: accumulo/trunk/ ------------------------------------------------------------------------------ Merged /accumulo/branches/1.5:r1479204 Propchange: accumulo/trunk/assemble/ ------------------------------------------------------------------------------ Merged /accumulo/branches/1.5/assemble:r1479204 Propchange: accumulo/trunk/core/ ------------------------------------------------------------------------------ Merged /accumulo/branches/1.5/core:r1479204 Modified: accumulo/trunk/core/pom.xml URL: http://svn.apache.org/viewvc/accumulo/trunk/core/pom.xml?rev=1479211&r1=1479210&r2=1479211&view=diff ============================================================================== --- accumulo/trunk/core/pom.xml (original) +++ accumulo/trunk/core/pom.xml Sat May 4 22:44:19 2013 @@ -109,6 +109,19 @@ </dependency> </dependencies> <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.rat</groupId> + <artifactId>apache-rat-plugin</artifactId> + <configuration> + <excludes> + <exclude>src/test/resources/shelltest.txt</exclude> + </excludes> + </configuration> + </plugin> + </plugins> + </pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockShell.java URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockShell.java?rev=1479211&r1=1479210&r2=1479211&view=diff ============================================================================== --- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockShell.java (original) +++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockShell.java Sat May 4 22:44:19 2013 @@ -78,8 +78,13 @@ public class MockShell extends Shell { if (execFile != null) { java.util.Scanner scanner = new java.util.Scanner(new File(execFile)); - while (scanner.hasNextLine()) - execCommand(scanner.nextLine(), true, isVerbose()); + try { + while (scanner.hasNextLine() && !hasExited()) { + execCommand(scanner.nextLine(), true, isVerbose()); + } + } finally { + scanner.close(); + } } else if (execCommand != null) { for (String command : execCommand.split("\n")) { execCommand(command, true, isVerbose()); Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java?rev=1479211&r1=1479210&r2=1479211&view=diff ============================================================================== --- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java (original) +++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java Sat May 4 22:44:19 2013 @@ -250,7 +250,7 @@ public class Shell extends ShellOptions if (sysUser == null) sysUser = "root"; String user = cl.getOptionValue(usernameOption.getOpt(), sysUser); - + String passw = cl.getOptionValue(passwOption.getOpt(), null); tabCompletion = !cl.hasOption(tabCompleteOption.getLongOpt()); String[] loginOptions = cl.getOptionValues(loginOption.getOpt()); @@ -265,13 +265,13 @@ public class Shell extends ShellOptions if (loginOptions == null && cl.hasOption(tokenOption.getOpt())) throw new IllegalArgumentException("Must supply '-" + loginOption.getOpt() + "' option with '-" + tokenOption.getOpt() + "' option"); - + if (passw != null && cl.hasOption(tokenOption.getOpt())) throw new IllegalArgumentException("Can not supply '-" + passwOption.getOpt() + "' option with '-" + tokenOption.getOpt() + "' option"); - + if (user == null) throw new MissingArgumentException(usernameOption); - + if (loginOptions != null && cl.hasOption(tokenOption.getOpt())) { Properties props = new Properties(); for (String loginOption : loginOptions) @@ -283,7 +283,7 @@ public class Shell extends ShellOptions this.token = Class.forName(cl.getOptionValue(tokenOption.getOpt())).asSubclass(AuthenticationToken.class).newInstance(); this.token.init(props); } - + if (!cl.hasOption(fakeOption.getLongOpt())) { DistributedTrace.enable(instance, new ZooReader(instance.getZooKeepers(), instance.getZooKeepersSessionTimeOut()), "shell", InetAddress.getLocalHost() .getHostName()); @@ -447,8 +447,9 @@ public class Shell extends ShellOptions if (execFile != null) { java.util.Scanner scanner = new java.util.Scanner(new File(execFile)); try { - while (scanner.hasNextLine()) + while (scanner.hasNextLine() && !hasExited()) { execCommand(scanner.nextLine(), true, isVerbose()); + } } finally { scanner.close(); } Modified: accumulo/trunk/core/src/test/java/org/apache/accumulo/core/util/shell/ShellTest.java URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/test/java/org/apache/accumulo/core/util/shell/ShellTest.java?rev=1479211&r1=1479210&r2=1479211&view=diff ============================================================================== --- accumulo/trunk/core/src/test/java/org/apache/accumulo/core/util/shell/ShellTest.java (original) +++ accumulo/trunk/core/src/test/java/org/apache/accumulo/core/util/shell/ShellTest.java Sat May 4 22:44:19 2013 @@ -167,7 +167,7 @@ public class ShellTest { public void userTest() throws Exception { Shell.log.debug("Starting user test --------------------------"); // Test cannot be done via junit because createuser only prompts for password - // exec("createuser root", false, "user exists"); + // exec("createuser root", false, "user exists"); } @Test @@ -214,4 +214,12 @@ public class ShellTest { exec("# foo", true, "Unknown command", false); exec("- foo", true, "Unknown command", true); } + + @Test + public void execFileTest() throws IOException { + Shell.log.debug("Starting exec file test --------------------------"); + shell.config("--fake", "-u", "test", "-p", "secret", "-f", "src/test/resources/shelltest.txt"); + assertEquals(0, shell.start()); + assertGoodExit("Unknown command", false); + } } Propchange: accumulo/trunk/examples/ ------------------------------------------------------------------------------ Merged /accumulo/branches/1.5/examples:r1479204 Propchange: accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java ------------------------------------------------------------------------------ Merged /accumulo/branches/1.5/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java:r1479204 Propchange: accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java ------------------------------------------------------------------------------ Merged /accumulo/branches/1.5/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java:r1479204 Propchange: accumulo/trunk/pom.xml ------------------------------------------------------------------------------ Merged /accumulo/branches/1.5/pom.xml:r1479204 Propchange: accumulo/trunk/server/ ------------------------------------------------------------------------------ Merged /accumulo/branches/1.5/server:r1479204 Propchange: accumulo/trunk/src/ ------------------------------------------------------------------------------ Merged /accumulo/branches/1.5/src:r1479204