You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2016/04/10 02:31:58 UTC
hive git commit: HIVE-13385 : [Cleanup] Streamline Beeline
instantiation (Reuben Kuhnert via Ashutosh Chauhan)
Repository: hive
Updated Branches:
refs/heads/master 3d7554447 -> caafd88f9
HIVE-13385 : [Cleanup] Streamline Beeline instantiation (Reuben Kuhnert via Ashutosh Chauhan)
Signed-off-by: Ashutosh Chauhan <ha...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/caafd88f
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/caafd88f
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/caafd88f
Branch: refs/heads/master
Commit: caafd88f9b50241ece9fcf5ed173409c3aef0d25
Parents: 3d75544
Author: Reuben Kuhnert <si...@gmail.com>
Authored: Wed Mar 30 06:40:00 2016 -0800
Committer: Ashutosh Chauhan <ha...@apache.org>
Committed: Sat Apr 9 17:29:41 2016 -0700
----------------------------------------------------------------------
.../java/org/apache/hive/beeline/BeeLine.java | 18 ++------------
.../hive/beeline/BeeLineCommandCompleter.java | 26 +++++++++++---------
2 files changed, 16 insertions(+), 28 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/caafd88f/beeline/src/java/org/apache/hive/beeline/BeeLine.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLine.java b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
index a4a9558..98d4e09 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLine.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLine.java
@@ -118,7 +118,6 @@ public class BeeLine implements Closeable {
private boolean exit = false;
private final DatabaseConnections connections = new DatabaseConnections();
public static final String COMMAND_PREFIX = "!";
- private final Completer beeLineCommandCompleter;
private Collection<Driver> drivers = null;
private final BeeLineOpts opts = new BeeLineOpts(this, System.getProperties());
private String lastProgress = null;
@@ -130,7 +129,7 @@ public class BeeLine implements Closeable {
private PrintStream errorStream = new PrintStream(System.err, true);
private ConsoleReader consoleReader;
private List<String> batch = null;
- private final Reflector reflector;
+ private final Reflector reflector = new Reflector(this);
private String dbName = null;
private String currentDatabase = null;
@@ -266,6 +265,7 @@ public class BeeLine implements Closeable {
null)
};
+ private final Completer beeLineCommandCompleter = new BeeLineCommandCompleter(Arrays.asList(commandHandlers));
static final SortedSet<String> KNOWN_DRIVERS = new TreeSet<String>(Arrays.asList(
new String[] {
@@ -503,21 +503,7 @@ public class BeeLine implements Closeable {
}
public BeeLine(boolean isBeeLine) {
- beeLineCommandCompleter = new BeeLineCommandCompleter(BeeLineCommandCompleter.getCompleters
- (this));
- reflector = new Reflector(this);
this.isBeeLine = isBeeLine;
- // attempt to dynamically load signal handler
- /* TODO disable signal handler
- try {
- Class<?> handlerClass =
- Class.forName("org.apache.hive.beeline.SunSignalHandler");
- signalHandler = (BeeLineSignalHandler)
- handlerClass.newInstance();
- } catch (Throwable t) {
- // ignore and leave cancel functionality disabled
- }
- */
}
DatabaseConnection getDatabaseConnection() {
http://git-wip-us.apache.org/repos/asf/hive/blob/caafd88f/beeline/src/java/org/apache/hive/beeline/BeeLineCommandCompleter.java
----------------------------------------------------------------------
diff --git a/beeline/src/java/org/apache/hive/beeline/BeeLineCommandCompleter.java b/beeline/src/java/org/apache/hive/beeline/BeeLineCommandCompleter.java
index 6a872bc..87e7518 100644
--- a/beeline/src/java/org/apache/hive/beeline/BeeLineCommandCompleter.java
+++ b/beeline/src/java/org/apache/hive/beeline/BeeLineCommandCompleter.java
@@ -27,24 +27,26 @@ import jline.console.completer.NullCompleter;
import jline.console.completer.StringsCompleter;
class BeeLineCommandCompleter extends AggregateCompleter {
-
- public BeeLineCommandCompleter(List<Completer> completers) {
- super(completers);
+ public BeeLineCommandCompleter(Iterable<CommandHandler> handlers) {
+ super(getCompleters(handlers));
}
- public static List<Completer> getCompleters(BeeLine beeLine){
+ public static List<Completer> getCompleters(Iterable<CommandHandler> handlers){
List<Completer> completers = new LinkedList<Completer>();
- for (int i = 0; i < beeLine.commandHandlers.length; i++) {
- String[] cmds = beeLine.commandHandlers[i].getNames();
- for (int j = 0; cmds != null && j < cmds.length; j++) {
- List<Completer> compl = new LinkedList<Completer>();
- compl.add(new StringsCompleter(BeeLine.COMMAND_PREFIX + cmds[j]));
- compl.addAll(Arrays.asList(beeLine.commandHandlers[i].getParameterCompleters()));
- compl.add(new NullCompleter()); // last param no complete
- completers.add(new AggregateCompleter(compl.toArray(new Completer[0])));
+ for (CommandHandler handler : handlers) {
+ String[] commandNames = handler.getNames();
+ if (commandNames != null) {
+ for (String commandName : commandNames) {
+ List<Completer> compl = new LinkedList<Completer>();
+ compl.add(new StringsCompleter(BeeLine.COMMAND_PREFIX + commandName));
+ compl.addAll(Arrays.asList(handler.getParameterCompleters()));
+ compl.add(new NullCompleter()); // last param no complete
+ completers.add(new AggregateCompleter(compl.toArray(new Completer[compl.size()])));
+ }
}
}
+
return completers;
}
}
\ No newline at end of file