Skip to content

Commit d8e82e8

Browse files
committed
Fix charset issues per modernizer for java 11
1 parent 5c1c67a commit d8e82e8

File tree

3 files changed

+7
-9
lines changed

3 files changed

+7
-9
lines changed

src/main/java/org/apache/ibatis/migration/hook/SqlHookScript.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.io.InputStream;
2222
import java.io.PrintStream;
2323
import java.io.StringReader;
24+
import java.nio.charset.Charset;
2425
import java.nio.file.Files;
2526
import java.util.Map;
2627
import java.util.Properties;
@@ -65,7 +66,7 @@ public void execute(Map<String, Object> bindingMap) {
6566
while ((length = inputStream.read(buffer)) != -1) {
6667
outputStream.write(buffer, 0, length);
6768
}
68-
try (StringReader reader = new StringReader(replacer.replace(outputStream.toString(charset)))) {
69+
try (StringReader reader = new StringReader(replacer.replace(outputStream.toString(Charset.forName(charset))))) {
6970
context.executeSql(reader);
7071
}
7172
} catch (IOException e) {

src/main/java/org/apache/ibatis/migration/io/DefaultVFS.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@
2121
import java.io.IOException;
2222
import java.io.InputStream;
2323
import java.io.InputStreamReader;
24-
import java.io.UnsupportedEncodingException;
2524
import java.net.MalformedURLException;
2625
import java.net.URL;
2726
import java.net.URLEncoder;
27+
import java.nio.charset.StandardCharsets;
2828
import java.nio.file.InvalidPathException;
2929
import java.nio.file.Path;
3030
import java.util.ArrayList;
@@ -271,11 +271,7 @@ protected URL findJarForResource(URL url) throws MalformedURLException {
271271

272272
// File name might be URL-encoded
273273
if (!file.exists()) {
274-
try {
275-
file = Path.of(URLEncoder.encode(jarUrl.toString(), "UTF-8")).toFile();
276-
} catch (UnsupportedEncodingException e) {
277-
throw new RuntimeException("Unsupported encoding? UTF-8? That's impossible.");
278-
}
274+
file = Path.of(URLEncoder.encode(jarUrl.toString(), StandardCharsets.UTF_8)).toFile();
279275
}
280276

281277
if (file.exists()) {

src/test/java/org/apache/ibatis/migration/runtime_migration/RuntimeMigrationTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import java.math.BigDecimal;
2525
import java.net.URI;
2626
import java.net.URISyntaxException;
27+
import java.nio.charset.StandardCharsets;
2728
import java.nio.file.Path;
2829
import java.sql.Connection;
2930
import java.sql.ResultSet;
@@ -171,14 +172,14 @@ public void after(Map<String, Object> bindingMap) {
171172
}
172173
};
173174
new UpOperation(3).operate(connectionProvider, migrationsLoader, dbOption, printStream, hook);
174-
String output = out.toString("utf-8");
175+
String output = out.toString(StandardCharsets.UTF_8);
175176
assertEquals(1, TestUtil.countStr(output, "<BEFORE>"));
176177
assertEquals(3, TestUtil.countStr(output, "<BEFORE_EACH>"));
177178
assertEquals(3, TestUtil.countStr(output, "<AFTER_EACH>"));
178179
assertEquals(1, TestUtil.countStr(output, "<AFTER>"));
179180
out.reset();
180181
new DownOperation(2).operate(connectionProvider, migrationsLoader, dbOption, printStream, hook);
181-
output = out.toString("utf-8");
182+
output = out.toString(StandardCharsets.UTF_8);
182183
assertEquals(1, TestUtil.countStr(output, "<BEFORE>"));
183184
assertEquals(2, TestUtil.countStr(output, "<BEFORE_EACH>"));
184185
assertEquals(2, TestUtil.countStr(output, "<AFTER_EACH>"));

0 commit comments

Comments
 (0)