From 16c6d18439420bf1092dacddb5b8f8e4ae3b905c Mon Sep 17 00:00:00 2001 From: Mustapha Zorgati <15628173+mustaphazorgati@users.noreply.github.com> Date: Wed, 7 Jul 2021 08:18:51 +0200 Subject: [PATCH] TSK-1668: simplehistory-provider now presisting timestamps at UTC --- .../simplehistory/impl/TaskanaHistoryEngineImpl.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/history/taskana-simplehistory-provider/src/main/java/pro/taskana/simplehistory/impl/TaskanaHistoryEngineImpl.java b/history/taskana-simplehistory-provider/src/main/java/pro/taskana/simplehistory/impl/TaskanaHistoryEngineImpl.java index a66fab364..8a27943a9 100644 --- a/history/taskana-simplehistory-provider/src/main/java/pro/taskana/simplehistory/impl/TaskanaHistoryEngineImpl.java +++ b/history/taskana-simplehistory-provider/src/main/java/pro/taskana/simplehistory/impl/TaskanaHistoryEngineImpl.java @@ -1,6 +1,7 @@ package pro.taskana.simplehistory.impl; import java.sql.SQLException; +import java.time.Instant; import java.util.ArrayDeque; import java.util.Arrays; import java.util.Deque; @@ -15,6 +16,7 @@ import org.apache.ibatis.session.SqlSessionManager; import org.apache.ibatis.transaction.TransactionFactory; import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory; import org.apache.ibatis.transaction.managed.ManagedTransactionFactory; +import org.apache.ibatis.type.JdbcType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -22,6 +24,8 @@ import pro.taskana.TaskanaEngineConfiguration; import pro.taskana.common.api.TaskanaEngine; import pro.taskana.common.api.TaskanaRole; import pro.taskana.common.api.exceptions.NotAuthorizedException; +import pro.taskana.common.internal.persistence.InstantTypeHandler; +import pro.taskana.common.internal.persistence.MapTypeHandler; import pro.taskana.simplehistory.TaskanaHistoryEngine; import pro.taskana.simplehistory.impl.classification.ClassificationHistoryEventMapper; import pro.taskana.simplehistory.impl.classification.ClassificationHistoryQueryMapper; @@ -103,6 +107,11 @@ public class TaskanaHistoryEngineImpl implements TaskanaHistoryEngine { DEFAULT, this.transactionFactory, taskanaEngineConfiguration.getDatasource()); Configuration configuration = new Configuration(environment); + // register type handlers + configuration.getTypeHandlerRegistry().register(new MapTypeHandler()); + configuration.getTypeHandlerRegistry().register(Instant.class, new InstantTypeHandler()); + configuration.getTypeHandlerRegistry().register(JdbcType.TIMESTAMP, new InstantTypeHandler()); + // add mappers configuration.addMapper(TaskHistoryEventMapper.class); configuration.addMapper(TaskHistoryQueryMapper.class);