diff --git a/hoodie-cli/pom.xml b/hoodie-cli/pom.xml index 9b7e97167..6182e928f 100644 --- a/hoodie-cli/pom.xml +++ b/hoodie-cli/pom.xml @@ -153,13 +153,10 @@ spark-sql_2.11 - - dnl.utils - textutils - 0.3.3 - system - ${basedir}/lib/dnl/utils/textutils/0.3.3/textutils-0.3.3.jar + com.jakewharton.fliptables + fliptables + 1.0.2 diff --git a/hoodie-cli/src/main/java/com/uber/hoodie/cli/HoodiePrintHelper.java b/hoodie-cli/src/main/java/com/uber/hoodie/cli/HoodiePrintHelper.java index e7b7c9c65..82c89b88c 100644 --- a/hoodie-cli/src/main/java/com/uber/hoodie/cli/HoodiePrintHelper.java +++ b/hoodie-cli/src/main/java/com/uber/hoodie/cli/HoodiePrintHelper.java @@ -16,10 +16,7 @@ package com.uber.hoodie.cli; -import dnl.utils.text.table.TextTable; -import java.io.ByteArrayOutputStream; -import java.io.PrintStream; -import java.nio.charset.Charset; +import com.jakewharton.fliptables.FlipTable; import java.util.List; import java.util.Map; import java.util.Optional; @@ -32,19 +29,20 @@ public class HoodiePrintHelper { /** * Print header and raw rows + * * @param header Header * @param rows Raw Rows * @return output */ public static String print(String[] header, String[][] rows) { - TextTable textTable = new TextTable(header, rows); - return printTextTable(textTable); + return printTextTable(header, rows); } /** * Serialize Table to printable string + * * @param rowHeader Row Header - * @param fieldNameToConverterMap Field Specific Converters + * @param fieldNameToConverterMap Field Specific Converters * @param sortByField Sorting field * @param isDescending Order * @param limit Limit @@ -71,6 +69,7 @@ public class HoodiePrintHelper { /** * Render rows in Table + * * @param buffer Table * @return output */ @@ -81,31 +80,28 @@ public class HoodiePrintHelper { String[][] rows = buffer.getRenderRows().stream() .map(l -> l.stream().toArray(String[]::new)) .toArray(String[][]::new); - TextTable textTable = new TextTable(header, rows); - return printTextTable(textTable); + return printTextTable(header, rows); } /** * Render only header of the table + * * @param header Table Header * @return output */ private static String print(TableHeader header) { String[] head = new String[header.getFieldNames().size()]; header.getFieldNames().toArray(head); - TextTable textTable = new TextTable(head, new String[][]{}); - return printTextTable(textTable); + return printTextTable(head, new String[][]{}); } /** * Print Text table - * @param textTable Text table to be printed - * @return + * + * @param headers Headers + * @param data Table */ - private static String printTextTable(TextTable textTable) { - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - PrintStream ps = new PrintStream(baos); - textTable.printTable(ps, 4); - return new String(baos.toByteArray(), Charset.forName("utf-8")); + private static String printTextTable(String[] headers, String[][] data) { + return FlipTable.of(headers, data); } }