Author: jbellis
Date: Mon Aug 15 20:50:47 2011
New Revision: 1158006
URL: http://svn.apache.org/viewvc?rev=1158006&view=rev
Log:
fix loading cli help outside command execution loop
patch by jbellis
Modified:
cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java
Modified: cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java
URL:
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java?rev=1158006&r1=1158005&r2=1158006&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java Mon Aug 15
20:50:47 2011
@@ -17,7 +17,6 @@
*/
package org.apache.cassandra.cli;
-import java.io.IOError;
import java.io.IOException;
import java.io.InputStream;
import java.net.InetAddress;
@@ -58,7 +57,6 @@ import org.yaml.snakeyaml.Yaml;
// Cli Client Side Library
public class CliClient
{
-
/**
* Available value conversion functions
* Used by convertValueByFunction(Tree functionCall) method
@@ -163,6 +161,13 @@ public class CliClient
private CliUserHelp getHelp()
{
+ if (help == null)
+ help = loadHelp();
+ return help;
+ }
+
+ private CliUserHelp loadHelp()
+ {
final InputStream is =
CliClient.class.getClassLoader().getResourceAsStream("org/apache/cassandra/cli/CliHelp.yaml");
assert is != null;
@@ -182,7 +187,7 @@ public class CliClient
public void printBanner()
{
- sessionState.out.println(help.banner);
+ sessionState.out.println(getHelp().banner);
}
// Execute a CLI Statement
@@ -315,13 +320,10 @@ public class CliClient
private void executeHelp(Tree tree)
{
- if (help == null)
- help = getHelp();
-
if (tree.getChildCount() > 0)
{
String token = tree.getChild(0).getText();
- for (CliCommandHelp ch : help.commands)
+ for (CliCommandHelp ch : getHelp().commands)
{
if (token.equals(ch.name))
{
@@ -332,7 +334,7 @@ public class CliClient
}
else
{
- sessionState.out.println(help.help);
+ sessionState.out.println(getHelp().help);
}
}