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)