Always use UTF-8

This commit is contained in:
Roland Praml
2022-01-11 10:11:13 +01:00
committed by FOCONIS\szemenyei
parent 0cf9f0bf58
commit 01847e44de
26 changed files with 189 additions and 117 deletions
@@ -4,24 +4,22 @@ import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonParser;
import io.ebean.ModifyAwareType;
import io.ebean.text.json.EJson;
import io.ebean.util.IOUtils;
import io.ebeaninternal.json.ModifyAwareMap;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.StringReader;
import java.io.Writer;
import java.nio.file.Files;
import java.util.*;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.*;
public class EJsonTests {
private static final Logger log = LoggerFactory.getLogger(EJsonTests.class);
@Test
public void test_map_simple() throws IOException {
@@ -46,15 +44,14 @@ public class EJsonTests {
public void write_withWriter_expect_writerNotClosed() throws IOException {
File temp = Files.createTempFile("some", ".json").toFile();
FileWriter writer = new FileWriter(temp);
Map<String,Object> map = new LinkedHashMap<>();
map.put("foo", "bar");
EJson.write(map, writer);
writer.write("The end.");
writer.flush();
writer.close();
try (Writer writer = IOUtils.newWriter(temp)) {
log.info("write to file {}", temp.getAbsolutePath());
Map<String, Object> map = new LinkedHashMap<>();
map.put("foo", "bar");
EJson.write(map, writer);
writer.write("The end.");
}
assertThat(temp).hasContent("{\"foo\":\"bar\"}The end.");
}
@Test
@@ -11,6 +11,7 @@ import org.tests.model.basic.ResetBasicData;
import org.tests.model.basic.TBytesOnly;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.List;
@@ -94,7 +95,7 @@ public class CachedBeanDataSerializeTest extends BaseTestCase {
TBytesOnly bean = new TBytesOnly();
bean.setId(42);
bean.setContent(stringContent.getBytes("UTF-8"));
bean.setContent(stringContent.getBytes(StandardCharsets.UTF_8));
BeanDescriptor<TBytesOnly> desc = getBeanDescriptor(TBytesOnly.class);
CachedBeanData extract = CachedBeanDataFromBean.extract(desc, (EntityBean) bean);
@@ -5,6 +5,7 @@ import io.ebean.config.EncryptKey;
import org.junit.jupiter.api.Test;
import org.tests.basic.encrypt.BasicEncryptKey;
import java.nio.charset.StandardCharsets;
import java.sql.Timestamp;
import static org.assertj.core.api.Assertions.assertThat;
@@ -19,7 +20,7 @@ public class TestSimpleEncryptor extends BaseTestCase {
EncryptKey key = new BasicEncryptKey("hello");
byte[] data = "test123".getBytes();
byte[] data = "test123".getBytes(StandardCharsets.UTF_8);
byte[] ecData = e.encrypt(data, key);
@@ -8,12 +8,14 @@ import org.tests.model.basic.PFileContent;
import static org.junit.jupiter.api.Assertions.assertNull;
import java.nio.charset.StandardCharsets;
public class TestDeleteImportedPartial extends BaseTestCase {
@Test
public void test() {
PFile persistentFile = new PFile("test.txt", new PFileContent("test".getBytes()));
PFile persistentFile = new PFile("test.txt", new PFileContent("test".getBytes(StandardCharsets.UTF_8)));
DB.save(persistentFile);
Integer id = persistentFile.getId();
@@ -8,13 +8,15 @@ import org.tests.model.basic.PersistentFileContent;
import static org.junit.jupiter.api.Assertions.assertNull;
import java.nio.charset.StandardCharsets;
public class TestDeleteOneToOne extends BaseTestCase {
@Test
public void testCreateDeletePersistentFile() {
PersistentFile persistentFile = new PersistentFile("test.txt", new PersistentFileContent(
"test".getBytes()));
"test".getBytes(StandardCharsets.UTF_8)));
DB.save(persistentFile);
Integer id = persistentFile.getId();
@@ -8,16 +8,18 @@ import org.tests.model.basic.PFileContent;
import static org.junit.jupiter.api.Assertions.assertNull;
import java.nio.charset.StandardCharsets;
public class TestDeleteOneToOneMultiple extends BaseTestCase {
@Test
public void testCreateDeletePersistentFile() {
PFile persistentFile = new PFile("test.txt", new PFileContent("test".getBytes()));
PFile persistentFile = new PFile("test.txt", new PFileContent("test".getBytes(StandardCharsets.UTF_8)));
// PFile persistentFile = new PFile();
// persistentFile.setName("test.txt");
// PFileContent content = new PFileContent();
// content.setContent("test".getBytes());
// content.setContent("test".getBytes(StandardCharsets.UTF_8));
// persistentFile.setFileContent(content);
DB.save(persistentFile);
@@ -8,12 +8,14 @@ import org.tests.model.basic.PersistentFileContent;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import java.nio.charset.StandardCharsets;
public class TestSaveDeleteOneToOne extends BaseTestCase {
@Test
public void testCreateDeletePersistentFile() {
PersistentFile persistentFile = new PersistentFile("test.txt",
new PersistentFileContent("test".getBytes()));
new PersistentFileContent("test".getBytes(StandardCharsets.UTF_8)));
DB.save(persistentFile);
DB.delete(persistentFile);
@@ -22,7 +24,7 @@ public class TestSaveDeleteOneToOne extends BaseTestCase {
@Test
public void testCreateLoadDeletePersistentFile() {
PersistentFile persistentFile = new PersistentFile("test.txt",
new PersistentFileContent("test".getBytes()));
new PersistentFileContent("test".getBytes(StandardCharsets.UTF_8)));
DB.save(persistentFile);
@@ -8,11 +8,13 @@ import org.tests.model.basic.PFileContent;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import java.nio.charset.StandardCharsets;
public class TestSaveDeleteOneToOneMultiple extends BaseTestCase {
// public void testCreateDeletePFile() {
// PFile persistentFile = new PFile("test.txt",
// new PFileContent("test".getBytes()));
// new PFileContent("test".getBytes(StandardCharsets.UTF_8)));
//
// DB.save(persistentFile);
// DB.delete(persistentFile);
@@ -21,7 +23,7 @@ public class TestSaveDeleteOneToOneMultiple extends BaseTestCase {
@Test
public void testCreateLoadDeletePFile() {
PFile persistentFile = new PFile("test.txt",
new PFileContent("test".getBytes()));
new PFileContent("test".getBytes(StandardCharsets.UTF_8)));
DB.save(persistentFile);
@@ -9,12 +9,14 @@ import org.tests.model.basic.PFileContent;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.nio.charset.StandardCharsets;
public class TestConstructorPutfieldReplacement extends BaseTestCase {
@Test
public void test() {
PFile persistentFile = new PFile("test.txt", new PFileContent("test".getBytes()));
PFile persistentFile = new PFile("test.txt", new PFileContent("test".getBytes(StandardCharsets.UTF_8)));
EntityBean eb = (EntityBean) persistentFile;
EntityBeanIntercept ebi = eb._ebean_getIntercept();
@@ -3,27 +3,25 @@ package org.tests.text.csv;
import io.ebean.DB;
import io.ebean.TransactionalTestCase;
import io.ebean.text.csv.CsvReader;
import io.ebean.util.IOUtils;
import org.junit.jupiter.api.Test;
import org.tests.model.basic.Customer;
import org.tests.model.basic.ResetBasicData;
import java.io.File;
import java.io.FileReader;
import java.io.Reader;
import java.net.URL;
import java.util.Locale;
public class TestCsvReader extends TransactionalTestCase {
@Test
public void test() {
public void test() throws Exception {
ResetBasicData.reset();
try {
URL resource = TestCsvReaderWithCallback.class.getResource("/test1.csv");
File f = new File(resource.getFile());
FileReader reader = new FileReader(f);
URL resource = TestCsvReaderWithCallback.class.getResource("/test1.csv");
try (Reader reader = IOUtils.newReader(resource.openStream())){
CsvReader<Customer> csvReader = DB.getDefault().createCsvReader(Customer.class);
@@ -39,9 +37,7 @@ public class TestCsvReader extends TransactionalTestCase {
csvReader.addProperty("billingAddress.country.code");
csvReader.process(reader);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
@@ -4,11 +4,12 @@ import io.ebean.DB;
import io.ebean.TransactionalTestCase;
import io.ebean.text.csv.CsvReader;
import io.ebean.text.csv.DefaultCsvCallback;
import io.ebean.util.IOUtils;
import org.junit.jupiter.api.Test;
import org.tests.model.basic.Customer;
import java.io.File;
import java.io.FileReader;
import java.io.Reader;
import java.net.URL;
import java.util.Locale;
@@ -20,41 +21,40 @@ public class TestCsvReaderWithCallback extends TransactionalTestCase {
public void test() throws Throwable {
URL resource = TestCsvReaderWithCallback.class.getResource("/test1.csv");
File f = new File(resource.getFile());
try (Reader reader = IOUtils.newReader(resource.openStream())) {
FileReader reader = new FileReader(f);
CsvReader<Customer> csvReader = DB.getDefault().createCsvReader(Customer.class);
CsvReader<Customer> csvReader = DB.getDefault().createCsvReader(Customer.class);
csvReader.setPersistBatchSize(2);
csvReader.setLogInfoFrequency(3);
csvReader.setPersistBatchSize(2);
csvReader.setLogInfoFrequency(3);
csvReader.addIgnore();
// csvReader.addProperty("id");
csvReader.addProperty("status");
csvReader.addProperty("name");
csvReader.addDateTime("anniversary", "dd-MMM-yyyy", Locale.ENGLISH);
csvReader.addProperty("billingAddress.line1");
csvReader.addProperty("billingAddress.city");
// processor.addReference("billingAddress.country.code");
csvReader.addProperty("billingAddress.country.code");
csvReader.addIgnore();
// csvReader.addProperty("id");
csvReader.addProperty("status");
csvReader.addProperty("name");
csvReader.addDateTime("anniversary", "dd-MMM-yyyy", Locale.ENGLISH);
csvReader.addProperty("billingAddress.line1");
csvReader.addProperty("billingAddress.city");
// processor.addReference("billingAddress.country.code");
csvReader.addProperty("billingAddress.country.code");
int before = DB.find(Customer.class).findCount();
int before = DB.find(Customer.class).findCount();
csvReader.process(reader, new DefaultCsvCallback<Customer>() {
csvReader.process(reader, new DefaultCsvCallback<Customer>() {
@Override
public void processBean(int row, String[] lineContent, Customer cust) {
@Override
public void processBean(int row, String[] lineContent, Customer cust) {
server.save(cust.getBillingAddress(), transaction);
server.save(cust, transaction);
server.save(cust.getBillingAddress(), transaction);
server.save(cust, transaction);
}
}
});
});
int after = DB.find(Customer.class).findCount();
assertThat(after).isEqualTo(before + 9);
int after = DB.find(Customer.class).findCount();
assertThat(after).isEqualTo(before + 9);
}
}
}
@@ -4,9 +4,12 @@ import io.ebean.BaseTestCase;
import io.ebean.DB;
import io.ebean.text.json.EJson;
import io.ebean.text.json.JsonContext;
import io.ebean.util.IOUtils;
import org.junit.jupiter.api.Test;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.LinkedHashMap;
import java.util.Map;
@@ -20,19 +23,20 @@ public class TestJsonSimple extends BaseTestCase {
public void test() throws IOException {
InputStream is = this.getClass().getResourceAsStream("/example1.json");
String jsonText;
try (final Reader reader = IOUtils.newReader(is)) {
LineNumberReader lineReader = new LineNumberReader(reader);
final Reader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
LineNumberReader lineReader = new LineNumberReader(reader);
String readLine;
String readLine;
StringBuilder sb = new StringBuilder();
while ((readLine = lineReader.readLine()) != null) {
sb.append(readLine);
}
StringBuilder sb = new StringBuilder();
while ((readLine = lineReader.readLine()) != null) {
sb.append(readLine);
jsonText = sb.toString();
}
String jsonText = sb.toString();
Object el = EJson.parse(jsonText);
assertThat(el).isNotNull();