mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
#1677 - No effective change - Add test but not failing etc
This commit is contained in:
@@ -8,6 +8,7 @@ import javax.persistence.Id;
|
||||
import javax.persistence.OneToMany;
|
||||
import javax.persistence.Table;
|
||||
import javax.persistence.Version;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -22,6 +23,8 @@ public class UTMaster extends Model {
|
||||
|
||||
String description;
|
||||
|
||||
LocalDate date;
|
||||
|
||||
@Version
|
||||
Integer version;
|
||||
|
||||
@@ -52,6 +55,14 @@ public class UTMaster extends Model {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public LocalDate getDate() {
|
||||
return date;
|
||||
}
|
||||
|
||||
public void setDate(LocalDate date) {
|
||||
this.date = date;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package org.tests.transaction;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonGenerator;
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import io.ebean.BaseTestCase;
|
||||
import io.ebean.EbeanServer;
|
||||
import io.ebean.EbeanServerFactory;
|
||||
@@ -12,15 +14,19 @@ import io.ebean.config.properties.PropertiesLoader;
|
||||
import io.ebean.datasource.DataSourceConfig;
|
||||
import io.ebean.datasource.DataSourcePool;
|
||||
import io.ebean.datasource.pool.ConnectionPool;
|
||||
import io.ebeaninternal.server.type.ScalarTypeLocalDate;
|
||||
import org.junit.Test;
|
||||
import org.tests.model.basic.UTDetail;
|
||||
import org.tests.model.basic.UTMaster;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
@@ -55,9 +61,12 @@ public class TestExplicitTransactionMode extends BaseTestCase {
|
||||
config.setDdlGenerate(true);
|
||||
config.setDdlRun(true);
|
||||
config.setDdlExtra(false);
|
||||
config.addClass(ScalarTypeLocalDateAsString.class);
|
||||
|
||||
EbeanServer ebeanServer = EbeanServerFactory.create(config);
|
||||
|
||||
testJsonScalarType(ebeanServer);
|
||||
|
||||
Query<UTMaster> query = ebeanServer.find(UTMaster.class);
|
||||
List<UTMaster> details = query.findList();
|
||||
assertEquals(0, details.size());
|
||||
@@ -105,4 +114,27 @@ public class TestExplicitTransactionMode extends BaseTestCase {
|
||||
assertEquals(3, details.size());
|
||||
}
|
||||
}
|
||||
|
||||
private void testJsonScalarType(EbeanServer ebeanServer) {
|
||||
UTMaster bean = new UTMaster("one1");
|
||||
bean.setDate(LocalDate.of(2019, 04, 20));
|
||||
|
||||
String json = ebeanServer.json().toJson(bean);
|
||||
assertThat(json).isEqualTo("{\"name\":\"one1\",\"date\":\"2019-04-20\"}");
|
||||
UTMaster jsonMaster = ebeanServer.json().toBean(UTMaster.class, json);
|
||||
assertThat(jsonMaster.getDate()).isEqualTo(LocalDate.of(2019, 4, 20));
|
||||
}
|
||||
|
||||
public static class ScalarTypeLocalDateAsString extends ScalarTypeLocalDate {
|
||||
|
||||
@Override
|
||||
public LocalDate jsonRead(JsonParser parser) throws IOException {
|
||||
return super.jsonRead(parser);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void jsonWrite(JsonGenerator writer, LocalDate value) throws IOException {
|
||||
writer.writeString(value.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user