import de.juplo.jpa.converters.TimeConversions.FixedZoneIdStrategy;
import de.juplo.jpa.converters.TimeConversions.FixedZoneOffsetStrategy;
+import de.juplo.yourshouter.api.model.Date;
+import java.time.LocalDate;
import java.time.OffsetDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
ZonedDateTime zdt = ZonedDateTime.now();
OffsetDateTime odt = OffsetDateTime.now();
+ LocalDate ld = LocalDate.now();
ZoneId defaultZone = ZoneId.systemDefault();
ZoneId otherZone = defaultZone.getId().equals("America/New_York") ? ZoneId.of("Europe/Berlin") : ZoneId.of("America/New_York");
}
+ @Test
+ public void testDataModel()
+ {
+ em = Persistence.createEntityManagerFactory("data-model").createEntityManager();
+ Date date;
+
+ TimeConversions.setZoneIdStrategy(new FixedZoneIdStrategy(defaultZone));
+ date = new Date();
+ date.setId("TEST");
+ date.setDate(ld);
+ date.setStart(zdt);
+ date.setEnd(zdt);
+ persist(date);
+ date = retrieve(Date.class, date.getId());
+ assertEquals(ld, date.getDate());
+ assertEquals(zdt, date.getStart());
+ assertEquals(zdt, date.getEnd());
+ }
+
+
private void persist(Object entity)
{
EntityTransaction tx = em.getTransaction();