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 428804e51 KNOX-2798 - Add a trim method to KnoxShellTable to trim all values in a Column (#628) 428804e51 is described below commit 428804e518d3b0078b32dd34df39d43a98602b7e Author: lmccay <lmc...@apache.org> AuthorDate: Fri Sep 2 17:25:22 2022 -0400 KNOX-2798 - Add a trim method to KnoxShellTable to trim all values in a Column (#628) --- .../knox/gateway/shell/table/KnoxShellTable.java | 26 ++++++++++++++++++++++ .../gateway/shell/table/KnoxShellTableTest.java | 18 +++++++++++++++ 2 files changed, 44 insertions(+) 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 06acd164d..179fbd132 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 @@ -289,6 +289,32 @@ public class KnoxShellTable { return this; } + /** + * Trims the String value of whitespace for each of the values in a column + * given the column name. + * @param colIndex + * @return table + */ + public KnoxShellTable trim(String colName) { + int colIndex = headers.indexOf(colName); + return trim(colIndex); + } + + /** + * Trims the String value of whitespace for each of the values in a column + * given the column index. + * @param colIndex + * @return table + */ + public KnoxShellTable trim(int colIndex) { + List<Comparable<? extends Object>> col = values(colIndex); + for (int i = 0; i < col.size(); i++) { + String v = (String) col.get(i); + rows.get(i).set(colIndex, v.trim()); + } + return this; + } + public List<String> getHeaders() { return headers == null || headers.isEmpty() ? null : headers; } 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 b46bc9f1f..0d32f86f5 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 @@ -295,6 +295,24 @@ public class KnoxShellTableTest { assertEquals(table2.getRows().get(1).get(1), "012"); } + @Test + public void testTrim() throws IOException { + KnoxShellTable table = new KnoxShellTable(); + + table.header("Column A").header("Column B").header("Column C"); + + table.row().value(" 789").value("012").value("844444444"); + table.row().value(" 123").value("456").value("344444444"); + + KnoxShellTable table2 = table.trim("Column A"); + assertEquals(table2.getRows().get(0).get(0), "789"); + assertEquals(table2.getRows().get(1).get(0), "123"); + + KnoxShellTable table3 = table.trim(0); + assertEquals(table3.getRows().get(0).get(0), "789"); + assertEquals(table3.getRows().get(1).get(0), "123"); + } + @Test public void testSortStringValuesNumerically() throws IOException { KnoxShellTable table = new KnoxShellTable();