Changeset: 5aef0ea654b1 for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/5aef0ea654b1
Modified Files:
src/main/java/org/monetdb/util/FileTransferHandler.java
tests/OnClientTester.java
Branch: onclient
Log Message:
Take null to mean the default charset
diffs (80 lines):
diff --git a/src/main/java/org/monetdb/util/FileTransferHandler.java
b/src/main/java/org/monetdb/util/FileTransferHandler.java
--- a/src/main/java/org/monetdb/util/FileTransferHandler.java
+++ b/src/main/java/org/monetdb/util/FileTransferHandler.java
@@ -39,7 +39,7 @@ public class FileTransferHandler impleme
*/
public FileTransferHandler(final Path dir, final Charset encoding) {
this.root = dir.toAbsolutePath().normalize();
- this.encoding = encoding;
+ this.encoding = encoding != null ? encoding:
Charset.defaultCharset();
}
/**
diff --git a/tests/OnClientTester.java b/tests/OnClientTester.java
--- a/tests/OnClientTester.java
+++ b/tests/OnClientTester.java
@@ -357,24 +357,28 @@ public final class OnClientTester extend
}
public void test_FileTransferHandlerUploadUtf8() throws IOException,
SQLException, Failure {
- testFileTransferHandlerUpload("UTF-8");
+ testFileTransferHandlerUpload(StandardCharsets.UTF_8, "UTF-8");
}
public void test_FileTransferHandlerUploadLatin1() throws IOException,
SQLException, Failure {
- testFileTransferHandlerUpload("latin1");
+ testFileTransferHandlerUpload(Charset.forName("latin1"),
"latin1");
}
- public void testFileTransferHandlerUpload(String encoding) throws
IOException, SQLException, Failure {
+ public void test_FileTransferHandlerUploadNull() throws IOException,
SQLException, Failure {
+ testFileTransferHandlerUpload(null,
Charset.defaultCharset().name());
+ }
+
+ public void testFileTransferHandlerUpload(Charset handlerEncoding,
String fileEncoding) throws IOException, SQLException, Failure {
prepare();
Path d = getTmpDir(currentTestName);
Path f = d.resolve("data.txt");
OutputStream s = Files.newOutputStream(f, CREATE_NEW);
- PrintStream ps = new PrintStream(s, false, encoding);
+ PrintStream ps = new PrintStream(s, false, fileEncoding);
ps.println("1|one");
ps.println("2|twø");
ps.println("3|three");
ps.close();
- conn.setUploadHandler(new FileTransferHandler(d,
Charset.forName(encoding)));
+ conn.setUploadHandler(new FileTransferHandler(d,
handlerEncoding));
update("COPY INTO foo FROM 'data.txt' ON CLIENT");
assertQueryInt("SELECT SUM(i) FROM foo", 6);
assertQueryString("SELECT t FROM foo WHERE i = 2", "twø");
@@ -400,21 +404,25 @@ public final class OnClientTester extend
}
public void test_FileTransferHandlerDownloadUtf8() throws SQLException,
Failure, IOException {
- testFileTransferHandlerDownload(StandardCharsets.UTF_8);
+ testFileTransferHandlerDownload(StandardCharsets.UTF_8,
StandardCharsets.UTF_8);
}
public void test_FileTransferHandlerDownloadLatin1() throws
SQLException, Failure, IOException {
Charset latin1 = Charset.forName("latin1");
- testFileTransferHandlerDownload(latin1);
+ testFileTransferHandlerDownload(latin1, latin1);
}
- public void testFileTransferHandlerDownload(Charset encoding) throws
SQLException, Failure, IOException {
+ public void test_FileTransferHandlerDownloadNull() throws SQLException,
Failure, IOException {
+ testFileTransferHandlerDownload(null, Charset.defaultCharset());
+ }
+
+ public void testFileTransferHandlerDownload(Charset handlerEncoding,
Charset fileEncoding) throws SQLException, Failure, IOException {
prepare();
update("INSERT INTO foo VALUES (42, 'forty-twø')");
Path d = getTmpDir(currentTestName);
- conn.setDownloadHandler(new FileTransferHandler(d, encoding));
+ conn.setDownloadHandler(new FileTransferHandler(d,
handlerEncoding));
update("COPY SELECT * FROM foo INTO 'data.txt' ON CLIENT");
- List<String> lines = Files.readAllLines(d.resolve("data.txt"),
encoding);
+ List<String> lines = Files.readAllLines(d.resolve("data.txt"),
fileEncoding);
assertEq("lines written", lines.size(), 1);
assertEq("line content", lines.get(0), "42|\"forty-twø\"");
// connection is still alive
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list