This is an automated email from the ASF dual-hosted git repository.

lmccay pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/knox.git


The following commit(s) were added to refs/heads/master by this push:
     new 1834c67  KNOX-2341 - KnoxShell Custom Commands need Description and 
Usage Details (#313)
1834c67 is described below

commit 1834c67ccdcac118dc2a925072f3f6e6203621a4
Author: lmccay <[email protected]>
AuthorDate: Sun Apr 12 17:57:16 2020 -0400

    KNOX-2341 - KnoxShell Custom Commands need Description and Usage Details 
(#313)
---
 .../shell/commands/AbstractKnoxShellCommand.java   | 26 ++++++++++++++++++++++
 .../shell/commands/AbstractSQLCommandSupport.java  |  5 +++++
 .../knox/gateway/shell/commands/CSVCommand.java    |  4 +++-
 .../gateway/shell/commands/DataSourceCommand.java  |  4 +++-
 .../knox/gateway/shell/commands/SelectCommand.java |  4 +++-
 .../gateway/shell/commands/WebHDFSCommand.java     | 25 ++++++++++-----------
 6 files changed, 52 insertions(+), 16 deletions(-)

diff --git 
a/gateway-shell/src/main/java/org/apache/knox/gateway/shell/commands/AbstractKnoxShellCommand.java
 
b/gateway-shell/src/main/java/org/apache/knox/gateway/shell/commands/AbstractKnoxShellCommand.java
index a24edad..e670035 100644
--- 
a/gateway-shell/src/main/java/org/apache/knox/gateway/shell/commands/AbstractKnoxShellCommand.java
+++ 
b/gateway-shell/src/main/java/org/apache/knox/gateway/shell/commands/AbstractKnoxShellCommand.java
@@ -27,11 +27,37 @@ import org.codehaus.groovy.tools.shell.Groovysh;
 public abstract class AbstractKnoxShellCommand extends CommandSupport {
   static final String KNOXSQLHISTORY = "__knoxsqlhistory";
   protected static final String KNOXDATASOURCES = "__knoxdatasources";
+  private String description;
+  private String usage;
+  private String help;
 
   public AbstractKnoxShellCommand(Groovysh shell, String name, String 
shortcut) {
     super(shell, name, shortcut);
   }
 
+  public AbstractKnoxShellCommand(Groovysh shell, String name, String shortcut,
+      String desc, String usage, String help) {
+    super(shell, name, shortcut);
+    this.description = desc;
+    this.usage = usage;
+    this.help = help;
+  }
+
+  @Override
+  public String getDescription() {
+      return description;
+  }
+
+  @Override
+  public String getUsage() {
+    return usage;
+  }
+
+  @Override
+  public String getHelp() {
+    return help;
+  }
+
   protected String getBindingVariableNameForResultingTable(List<String> args) {
     String variableName = null;
     boolean nextOne = false;
diff --git 
a/gateway-shell/src/main/java/org/apache/knox/gateway/shell/commands/AbstractSQLCommandSupport.java
 
b/gateway-shell/src/main/java/org/apache/knox/gateway/shell/commands/AbstractSQLCommandSupport.java
index d39699f..47bed8a 100644
--- 
a/gateway-shell/src/main/java/org/apache/knox/gateway/shell/commands/AbstractSQLCommandSupport.java
+++ 
b/gateway-shell/src/main/java/org/apache/knox/gateway/shell/commands/AbstractSQLCommandSupport.java
@@ -40,6 +40,11 @@ public abstract class AbstractSQLCommandSupport extends 
AbstractKnoxShellCommand
     super(shell, name, shortcut);
   }
 
+  public AbstractSQLCommandSupport(Groovysh shell, String name, String 
shortcut, String desc, String usage,
+      String help) {
+    super(shell, name, shortcut, desc, usage, help);
+  }
+
   @SuppressWarnings("unchecked")
   protected Connection getConnectionFromSession(KnoxDataSource ds) {
     HashMap<String, Connection> connections =
diff --git 
a/gateway-shell/src/main/java/org/apache/knox/gateway/shell/commands/CSVCommand.java
 
b/gateway-shell/src/main/java/org/apache/knox/gateway/shell/commands/CSVCommand.java
index b8c3619..162d440 100644
--- 
a/gateway-shell/src/main/java/org/apache/knox/gateway/shell/commands/CSVCommand.java
+++ 
b/gateway-shell/src/main/java/org/apache/knox/gateway/shell/commands/CSVCommand.java
@@ -24,11 +24,13 @@ import org.apache.knox.gateway.shell.table.KnoxShellTable;
 import org.codehaus.groovy.tools.shell.Groovysh;
 
 public class CSVCommand extends AbstractKnoxShellCommand {
+  private static final String USAGE = ":csv [withHeaders] 
file-url||$variable-name [assign resulting-variable-name]";
+  private static final String DESC = "Build table from CSV file located at 
provided URL or KnoxShell $variable-name";
   private boolean withHeaders;
   private String url;
 
   public CSVCommand(Groovysh shell) {
-    super(shell, ":CSV", ":csv");
+    super(shell, ":CSV", ":csv", DESC, USAGE, DESC);
   }
 
   @SuppressWarnings("unchecked")
diff --git 
a/gateway-shell/src/main/java/org/apache/knox/gateway/shell/commands/DataSourceCommand.java
 
b/gateway-shell/src/main/java/org/apache/knox/gateway/shell/commands/DataSourceCommand.java
index 4758df6..d063ac4 100644
--- 
a/gateway-shell/src/main/java/org/apache/knox/gateway/shell/commands/DataSourceCommand.java
+++ 
b/gateway-shell/src/main/java/org/apache/knox/gateway/shell/commands/DataSourceCommand.java
@@ -30,9 +30,11 @@ import org.apache.knox.gateway.shell.table.KnoxShellTable;
 import org.codehaus.groovy.tools.shell.Groovysh;
 
 public class DataSourceCommand extends AbstractSQLCommandSupport {
+  private static final String USAGE = ":ds (add|remove|select) [ds-name, 
connection-str, driver classname, authntype(none|basic)]";
+  private static final String DESC = "Datasource management commands. 
Persisted datasources maintain connection details across sessions";
 
   public DataSourceCommand(Groovysh shell) {
-    super(shell, ":datasources", ":ds");
+    super(shell, ":datasources", ":ds", DESC, USAGE, DESC);
   }
 
   @SuppressWarnings({"unchecked", "PMD.CloseResource"})
diff --git 
a/gateway-shell/src/main/java/org/apache/knox/gateway/shell/commands/SelectCommand.java
 
b/gateway-shell/src/main/java/org/apache/knox/gateway/shell/commands/SelectCommand.java
index d1de25e..6128e06 100644
--- 
a/gateway-shell/src/main/java/org/apache/knox/gateway/shell/commands/SelectCommand.java
+++ 
b/gateway-shell/src/main/java/org/apache/knox/gateway/shell/commands/SelectCommand.java
@@ -38,6 +38,8 @@ import org.apache.knox.gateway.shell.table.KnoxShellTable;
 import org.codehaus.groovy.tools.shell.Groovysh;
 
 public class SelectCommand extends AbstractSQLCommandSupport implements 
KeyListener {
+  private static final String USAGE = ":sql [assign resulting-variable-name]";
+  private static final String DESC = "Build table from SQL ResultSet";
 
   private static final String KNOXDATASOURCE = "__knoxdatasource";
   private JTextArea sqlField;
@@ -45,7 +47,7 @@ public class SelectCommand extends AbstractSQLCommandSupport 
implements KeyListe
   private int historyIndex = -1;
 
   public SelectCommand(Groovysh shell) {
-    super(shell, ":SQL", ":sql");
+    super(shell, ":SQL", ":sql", DESC, USAGE, DESC);
   }
 
   @Override
diff --git 
a/gateway-shell/src/main/java/org/apache/knox/gateway/shell/commands/WebHDFSCommand.java
 
b/gateway-shell/src/main/java/org/apache/knox/gateway/shell/commands/WebHDFSCommand.java
index 4dafc27..f9f1731 100644
--- 
a/gateway-shell/src/main/java/org/apache/knox/gateway/shell/commands/WebHDFSCommand.java
+++ 
b/gateway-shell/src/main/java/org/apache/knox/gateway/shell/commands/WebHDFSCommand.java
@@ -41,22 +41,21 @@ import org.apache.knox.gateway.util.JsonUtils;
 import org.codehaus.groovy.tools.shell.Groovysh;
 
 public class WebHDFSCommand extends AbstractKnoxShellCommand {
+  private static final String DESC = "POSIX style commands for Hadoop 
Filesystems";
+  private static final String USAGE = "Usage: \n" +
+      "  :fs mounts \n" +
+      "  :fs mount target-topology-url mountpoint-name \n" +
+      "  :fs unmount mountpoint-name \n" +
+      "  :fs ls {target-path} \n" +
+      "  :fs cat {target-path} \n" +
+      "  :fs get {from-path} {to-path} \n" +
+      "  :fs put {from-path} {tp-path} \n" +
+      "  :fs rm {target-path} \n" +
+      "  :fs mkdir {dir-path} \n";
   private Map<String, KnoxSession> sessions = new HashMap<>();
 
   public WebHDFSCommand(Groovysh shell) {
-    super(shell, ":filesystem", ":fs");
-  }
-
-  @Override
-  public String getUsage() {
-    String usage = "Usage: \n" +
-                   "  :fs ls {target-path} \n" +
-                   "  :fs cat {target-path} \n" +
-                   "  :fs get {from-path} {to-path} \n" +
-                   "  :fs put {from-path} {tp-path} \n" +
-                   "  :fs rm {target-path} \n" +
-                   "  :fs mkdir {dir-path} \n";
-    return usage;
+    super(shell, ":filesystem", ":fs", DESC, USAGE, DESC);
   }
 
   @Override

Reply via email to