Rebuild the full mapping from persistence-jpa-1.5.1 to reproduce the bug
[jpa-converters] / src / test / java / de / juplo / jpa / converters / JPAConverterTest.java
index 130aa7a..edf63c2 100644 (file)
@@ -2,6 +2,10 @@ package de.juplo.jpa.converters;
 
 import de.juplo.jpa.converters.TimeConversions.FixedZoneIdStrategy;
 import de.juplo.jpa.converters.TimeConversions.FixedZoneOffsetStrategy;
+import de.juplo.yourshouter.api.model.Date;
+import de.juplo.yourshouter.api.persistence.jpa.PrimaryKey;
+import java.net.URI;
+import java.time.LocalDate;
 import java.time.OffsetDateTime;
 import java.time.ZoneId;
 import java.time.ZoneOffset;
@@ -28,6 +32,7 @@ public class JPAConverterTest
 
   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");
@@ -104,6 +109,27 @@ public class JPAConverterTest
   }
 
 
+  @Test
+  public void testDataModel()
+  {
+    em = Persistence.createEntityManagerFactory("data-model").createEntityManager();
+    Date date;
+
+    TimeConversions.setZoneIdStrategy(new FixedZoneIdStrategy(defaultZone));
+    date = new Date();
+    date.setSource(URI.create("http://foo.bar"));
+    date.setId("TEST");
+    date.setDate(ld);
+    date.setStart(zdt);
+    date.setEnd(zdt);
+    persist(date);
+    date = retrieve(Date.class, new PrimaryKey(date));
+    assertEquals(ld, date.getDate());
+    // assertEquals(zdt, date.getStart());
+    // assertEquals(zdt, date.getEnd());
+  }
+
+
   private void persist(Object entity)
   {
     EntityTransaction tx = em.getTransaction();