diff --git a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/MChecksum.java b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/MChecksum.java index 9c533992e..bd63afe0b 100644 --- a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/MChecksum.java +++ b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/MChecksum.java @@ -1,6 +1,7 @@ package io.ebeaninternal.dbmigration; import java.io.*; +import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.util.zip.CRC32; @@ -13,9 +14,8 @@ class MChecksum { * Returns the checksum of the file. Agnostic of encoding and new line character. */ static int calculate(File file) { - try { + try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file), Charset.forName("UTF-8")))) { final CRC32 crc32 = new CRC32(); - BufferedReader bufferedReader = new BufferedReader(new FileReader(file)); String line; while ((line = bufferedReader.readLine()) != null) { final byte[] lineBytes = line.getBytes(StandardCharsets.UTF_8); diff --git a/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/MChecksumTest.java b/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/MChecksumTest.java index 0f41e7ba0..65756f58f 100644 --- a/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/MChecksumTest.java +++ b/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/MChecksumTest.java @@ -10,9 +10,9 @@ public class MChecksumTest { @Test public void calculate() { - File file = new File("src/test/resources/dbmigration/index/1.0__hello.sql"); + File file = new File("src/test/resources/dbmigration/index-special-chars/1.0__hello.sql"); assertThat(file).exists(); - assertThat(MChecksum.calculate(file)).isEqualTo(907060870); + assertThat(MChecksum.calculate(file)).isEqualTo(1859426839); } } diff --git a/ebean-ddl-generator/src/test/resources/dbmigration/index-special-chars/1.0__hello.sql b/ebean-ddl-generator/src/test/resources/dbmigration/index-special-chars/1.0__hello.sql new file mode 100644 index 000000000..6814e2a28 --- /dev/null +++ b/ebean-ddl-generator/src/test/resources/dbmigration/index-special-chars/1.0__hello.sql @@ -0,0 +1 @@ +helloäüü