This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new fe3a1b6fcd ISIS-3105: JPA: adds missing mapping for OffsetDateTime
fe3a1b6fcd is described below

commit fe3a1b6fcda466ee5d4e9be3f7d14e7244e88492
Author: Andi Huber <[email protected]>
AuthorDate: Tue Aug 2 10:46:26 2022 +0200

    ISIS-3105: JPA: adds missing mapping for OffsetDateTime
---
 .../time/IsoOffsetDateTimeConverter.java              |  6 +++---
 .../IsisModulePersistenceJpaIntegration.java          |  2 ++
 .../time/JavaTimeIsoOffsetDateTimeConverter.java}     | 19 ++++++++++---------
 3 files changed, 15 insertions(+), 12 deletions(-)

diff --git 
a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/time/IsoOffsetDateTimeConverter.java
 
b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/time/IsoOffsetDateTimeConverter.java
index 68410cffce..0a6f4ee3c6 100644
--- 
a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/time/IsoOffsetDateTimeConverter.java
+++ 
b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/time/IsoOffsetDateTimeConverter.java
@@ -31,9 +31,9 @@ public class IsoOffsetDateTimeConverter implements 
TypeConverter<OffsetDateTime,
     private static final long serialVersionUID = 1L;
 
     @Override
-    public String toDatastoreType(final OffsetDateTime offsetTime) {
-        return offsetTime != null
-                ? offsetTime.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME)
+    public String toDatastoreType(final OffsetDateTime offsetDateTime) {
+        return offsetDateTime != null
+                ? offsetDateTime.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME)
                 : null;
     }
 
diff --git 
a/persistence/jpa/integration/src/main/java/org/apache/isis/persistence/jpa/integration/IsisModulePersistenceJpaIntegration.java
 
b/persistence/jpa/integration/src/main/java/org/apache/isis/persistence/jpa/integration/IsisModulePersistenceJpaIntegration.java
index a81316adea..05e9903295 100644
--- 
a/persistence/jpa/integration/src/main/java/org/apache/isis/persistence/jpa/integration/IsisModulePersistenceJpaIntegration.java
+++ 
b/persistence/jpa/integration/src/main/java/org/apache/isis/persistence/jpa/integration/IsisModulePersistenceJpaIntegration.java
@@ -31,6 +31,7 @@ import 
org.apache.isis.persistence.jpa.integration.typeconverters.applib.IsisLoc
 import 
org.apache.isis.persistence.jpa.integration.typeconverters.applib.IsisMarkupConverter;
 import 
org.apache.isis.persistence.jpa.integration.typeconverters.applib.IsisPasswordConverter;
 import 
org.apache.isis.persistence.jpa.integration.typeconverters.java.awt.JavaAwtBufferedImageByteArrayConverter;
+import 
org.apache.isis.persistence.jpa.integration.typeconverters.java.time.JavaTimeIsoOffsetDateTimeConverter;
 import 
org.apache.isis.persistence.jpa.integration.typeconverters.java.time.JavaTimeIsoOffsetTimeConverter;
 import 
org.apache.isis.persistence.jpa.integration.typeconverters.java.time.JavaTimeIsoZonedDateTimeConverter;
 import 
org.apache.isis.persistence.jpa.integration.typeconverters.java.util.JavaUtilUuidConverter;
@@ -68,6 +69,7 @@ import 
org.apache.isis.persistence.jpa.metamodel.IsisModulePersistenceJpaMetamod
         JavaAwtBufferedImageByteArrayConverter.class,
         JavaUtilUuidConverter.class,
         JavaTimeIsoOffsetTimeConverter.class,
+        JavaTimeIsoOffsetDateTimeConverter.class,
         JavaTimeIsoZonedDateTimeConverter.class
 
 })
diff --git 
a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/time/IsoOffsetDateTimeConverter.java
 
b/persistence/jpa/integration/src/main/java/org/apache/isis/persistence/jpa/integration/typeconverters/java/time/JavaTimeIsoOffsetDateTimeConverter.java
similarity index 66%
copy from 
persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/time/IsoOffsetDateTimeConverter.java
copy to 
persistence/jpa/integration/src/main/java/org/apache/isis/persistence/jpa/integration/typeconverters/java/time/JavaTimeIsoOffsetDateTimeConverter.java
index 68410cffce..d0f34d9e31 100644
--- 
a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/typeconverters/time/IsoOffsetDateTimeConverter.java
+++ 
b/persistence/jpa/integration/src/main/java/org/apache/isis/persistence/jpa/integration/typeconverters/java/time/JavaTimeIsoOffsetDateTimeConverter.java
@@ -16,29 +16,30 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.persistence.jdo.datanucleus.typeconverters.time;
+package org.apache.isis.persistence.jpa.integration.typeconverters.java.time;
 
 import java.time.OffsetDateTime;
 import java.time.format.DateTimeFormatter;
 
-import org.datanucleus.store.types.converters.TypeConverter;
+import javax.persistence.AttributeConverter;
+import javax.persistence.Converter;
 
 /**
  * @since 2.0 {@index}
  */
-public class IsoOffsetDateTimeConverter implements 
TypeConverter<OffsetDateTime, String>{
-
-    private static final long serialVersionUID = 1L;
+@Converter(autoApply = true)
+public class JavaTimeIsoOffsetDateTimeConverter
+implements AttributeConverter<OffsetDateTime, String> {
 
     @Override
-    public String toDatastoreType(final OffsetDateTime offsetTime) {
-        return offsetTime != null
-                ? offsetTime.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME)
+    public String convertToDatabaseColumn(final OffsetDateTime offsetDateTime) 
{
+        return offsetDateTime != null
+                ? offsetDateTime.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME)
                 : null;
     }
 
     @Override
-    public OffsetDateTime toMemberType(final String datastoreValue) {
+    public OffsetDateTime convertToEntityAttribute(final String 
datastoreValue) {
         return datastoreValue != null
                 ? OffsetDateTime.parse(datastoreValue, 
DateTimeFormatter.ISO_OFFSET_DATE_TIME)
                 : null;

Reply via email to