diff --git a/pom.xml b/pom.xml index e82bfda71c87f..51e72dfd3720e 100644 --- a/pom.xml +++ b/pom.xml @@ -54,11 +54,6 @@ event-experimental - - io.airlift - jmx-http-rpc-experimental - - io.airlift log @@ -67,11 +62,23 @@ io.airlift http-server + + + org.eclipse.jetty.orbit + javax.servlet + + io.airlift jaxrs + + + org.eclipse.jetty.orbit + javax.servlet + + @@ -136,4 +143,56 @@ test + + + + org.apache.maven.plugins + maven-shade-plugin + 1.5 + + + package + + shade + + + true + standalone + + + + + ${main-class} + + + + + + io.airlift:launcher + + + + + + + + + org.skife.maven + really-executable-jar-maven-plugin + 1.0.5 + + -Xmx1G + + + + + package + + really-executable-jar + + + + + + diff --git a/src/main/java/com/facebook/presto/Main.java b/src/main/java/com/facebook/presto/Main.java index 81d308e7db87d..e10feb0c44967 100644 --- a/src/main/java/com/facebook/presto/Main.java +++ b/src/main/java/com/facebook/presto/Main.java @@ -66,8 +66,8 @@ public void run() @Command(name = "csv", description = "Convert CSB to columns") public static class ConvertCsv extends BaseCommand { - @Option(name = {"--column-separator"}, description = "Column separator") - public char columnSeparator = ','; + @Option(name = {"-d", "--column-delimiter"}, description = "Column delimiter character") + public String columnSeparator = ","; @Option(name = {"-o", "--output-dir"}, description = "Output dir") public String outputDir = "data"; @@ -115,7 +115,20 @@ public InputStreamReader getInput() } }; } - Csv.processCsv(inputSupplier, columnSeparator, processors.build()); + Csv.processCsv(inputSupplier, toChar(columnSeparator), processors.build()); + } + + private char toChar(String string) + { + Preconditions.checkArgument(!string.isEmpty(), "String is empty"); + if (string.length() == 1) { + return string.charAt(0); + } + if (string.length() == 6 && string.startsWith("\\u")) { + int value = Integer.parseInt(string.substring(2), 16); + return (char) value; + } + throw new IllegalArgumentException(String.format("Can not convert '%s' to a char", string)); } private OutputSupplier newCreateDirectoryOutputStreamSupplier(final File file)