KNOX-2189 - KnoxShellTable.select() must handle whitespace (#256)
diff --git a/gateway-shell/src/main/java/org/apache/knox/gateway/shell/table/KnoxShellTable.java b/gateway-shell/src/main/java/org/apache/knox/gateway/shell/table/KnoxShellTable.java
index 15d403c..47439d4 100644
--- a/gateway-shell/src/main/java/org/apache/knox/gateway/shell/table/KnoxShellTable.java
+++ b/gateway-shell/src/main/java/org/apache/knox/gateway/shell/table/KnoxShellTable.java
@@ -356,7 +356,8 @@
public KnoxShellTable select(String cols) {
KnoxShellTable table = new KnoxShellTable();
List<List<Comparable<? extends Object>>> columns = new ArrayList<>();
- String[] colnames = cols.split(",");
+ cols = cols.trim();
+ String[] colnames = cols.split("\\s*,\\s*");
for (String colName : colnames) {
table.header(colName);
columns.add(values(headers.indexOf(colName)));
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 cde34f9..e65278a 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
@@ -121,11 +121,6 @@
+ "| 123 | 456 | 344444444 |\n"
+ "| 789 | 012 | 844444444 |\n" + "+------------+------------+--------------+\n";
- String expectedResult2 = "+------------+--------------+\n"
- + "| Column A | Column C |\n" + "+------------+--------------+\n"
- + "| 123 | 344444444 |\n"
- + "| 789 | 844444444 |\n" + "+------------+--------------+\n";
-
KnoxShellTable table = new KnoxShellTable();
table.header("Column A").header("Column B").header("Column C");
@@ -135,8 +130,8 @@
assertEquals(expectedResult, table.toString());
- table = table.select("Column A,Column C");
- assertEquals(expectedResult2, table.toString());
+ table = table.select(" Column A , Column B , Column C ");
+ assertEquals(expectedResult, table.toString());
}
@Test