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