mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
#919 - io.ebean package initial
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
package org.tests.timezone;
|
||||
|
||||
import io.ebean.Ebean;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.util.List;
|
||||
import java.util.TimeZone;
|
||||
//import java.util.TimeZone;
|
||||
|
||||
|
||||
// Postgres
|
||||
// manually create table
|
||||
// create table tz_bean (id serial, mode varchar(40), ts timestamp, tstz timestamp with time zone);
|
||||
|
||||
// MySql
|
||||
// manually create table (note there is no timestamp with time zone type)
|
||||
// create table tz_bean (id serial, mode varchar(40), ts timestamp, tstz timestamp);
|
||||
|
||||
// Oracle
|
||||
// create table tz_bean (id integer, run_mode varchar(40), ts timestamp, tstz timestamp);
|
||||
|
||||
/**
|
||||
* Must run this test manually with various time zones for insert and fetch.
|
||||
*/
|
||||
public class TzBeanTests {
|
||||
|
||||
private final Timestamp nowTs = new Timestamp(1460000000000L);
|
||||
|
||||
public TzBeanTests() {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Run this 5 times with different modes.
|
||||
*/
|
||||
@Ignore
|
||||
@Test
|
||||
public void insert_one_at_a_time() {
|
||||
|
||||
//String mode = "noCal + local tz";
|
||||
|
||||
// String mode = "noCal + LA";
|
||||
// TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles"));
|
||||
|
||||
// String mode = "noCal + UTC";
|
||||
// TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
|
||||
|
||||
// System.setProperty("ebean.dataTimeZone", "UTC");
|
||||
// TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles"));
|
||||
// String mode = "UTC + LA";
|
||||
|
||||
System.setProperty("ebean.dataTimeZone", "UTC");
|
||||
String mode = "UTC + NZST";
|
||||
|
||||
TzBean bean = new TzBean();
|
||||
bean.setMode(mode);
|
||||
bean.setTs(nowTs);
|
||||
bean.setTstz(nowTs);
|
||||
|
||||
Ebean.save(bean);
|
||||
}
|
||||
|
||||
/**
|
||||
* In separate JVM/execution fetch the beans with various timezones etc.
|
||||
*/
|
||||
@Ignore
|
||||
@Test
|
||||
public void fetch_beans() {
|
||||
|
||||
|
||||
// set the jvm timezone
|
||||
TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
|
||||
// TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles"));
|
||||
|
||||
// set the Calendar time zone to use in JDBC calls
|
||||
System.setProperty("ebean.dataTimeZone", "UTC");
|
||||
|
||||
List<TzBean> list = Ebean.find(TzBean.class)
|
||||
.findList();
|
||||
|
||||
for (TzBean bean : list) {
|
||||
System.out.println(" mode:" + bean.getMode());
|
||||
System.out.println(" ts:" + tsof(bean.getTs()));
|
||||
System.out.println(" tstz:" + tsof(bean.getTstz()));
|
||||
}
|
||||
}
|
||||
|
||||
private String tsof(Timestamp timestamp) {
|
||||
return "" + timestamp.getTime() + ", " + timestamp.toString() + ", " + timestamp.toInstant();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user