You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@knox.apache.org by lm...@apache.org on 2020/04/19 17:46:31 UTC
[knox] branch master updated: KNOX-2345 - KnoxShellTable must
handle NULL cols
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 03cd1f9 KNOX-2345 - KnoxShellTable must handle NULL cols
03cd1f9 is described below
commit 03cd1f931cb3a701ba825c78026279cc9247abb6
Author: lmccay <lm...@apache.org>
AuthorDate: Sun Apr 19 13:46:08 2020 -0400
KNOX-2345 - KnoxShellTable must handle NULL cols
---
.../knox/gateway/shell/table/KnoxShellTableRenderer.java | 7 ++++++-
.../apache/knox/gateway/shell/table/KnoxShellTableTest.java | 12 ++++++++++++
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/gateway-shell/src/main/java/org/apache/knox/gateway/shell/table/KnoxShellTableRenderer.java b/gateway-shell/src/main/java/org/apache/knox/gateway/shell/table/KnoxShellTableRenderer.java
index 38f5bd2..ff5b398 100644
--- a/gateway-shell/src/main/java/org/apache/knox/gateway/shell/table/KnoxShellTableRenderer.java
+++ b/gateway-shell/src/main/java/org/apache/knox/gateway/shell/table/KnoxShellTableRenderer.java
@@ -166,7 +166,12 @@ class KnoxShellTableRenderer {
// cell value length
for (List<Comparable<? extends Object>> row : tableToRender.rows) {
for (int i = 0; i < row.size(); i++) {
- cellValue = ensureEvenLength(row.get(i).toString());
+ Object o = row.get(i);
+ if (o == null) {
+ o = "NULL";
+ row.set(i, (String) o);
+ }
+ cellValue = ensureEvenLength(o.toString());
if (map.get(i) == null || cellValue.length() > map.get(i)) {
map.put(i, cellValue.length());
}
diff --git a/gateway-shell/src/test/java/org/apache/knox/gateway/shell/table/KnoxShellTableTest.java b/gateway-shell/src/test/java/org/apache/knox/gateway/shell/table/KnoxShellTableTest.java
index 6831e34..e44e6a1 100644
--- a/gateway-shell/src/test/java/org/apache/knox/gateway/shell/table/KnoxShellTableTest.java
+++ b/gateway-shell/src/test/java/org/apache/knox/gateway/shell/table/KnoxShellTableTest.java
@@ -115,6 +115,18 @@ public class KnoxShellTableTest {
}
@Test
+ public void testNullCellRendering() {
+ KnoxShellTable table = new KnoxShellTable();
+
+ table.header("Column A").header("Column B").header("Column C");
+
+ table.row().value(null).value("456").value("344444444");
+ table.row().value("789").value("012").value("844444444");
+
+ table.toString();
+ }
+
+ @Test
public void testTableSelect() {
String expectedResult = "+------------+------------+--------------+\n"
+ "| Column A | Column B | Column C |\n" + "+------------+------------+--------------+\n"