diff --git a/src/main/java/org/springframework/data/envers/repository/support/DefaultRevisionMetadata.java b/src/main/java/org/springframework/data/envers/repository/support/DefaultRevisionMetadata.java index 7ef973d..809fe62 100755 --- a/src/main/java/org/springframework/data/envers/repository/support/DefaultRevisionMetadata.java +++ b/src/main/java/org/springframework/data/envers/repository/support/DefaultRevisionMetadata.java @@ -1,5 +1,5 @@ /* - * Copyright 2012 the original author or authors. + * Copyright 2012-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,6 +22,7 @@ import lombok.Value; import java.time.Instant; import java.time.LocalDateTime; +import java.time.ZoneOffset; import java.util.Optional; import org.hibernate.envers.DefaultRevisionEntity; @@ -32,6 +33,7 @@ import org.springframework.data.history.RevisionMetadata; * * @author Oliver Gierke * @author Philip Huegelmeyer + * @author Jens Schauder */ @Value public class DefaultRevisionMetadata implements RevisionMetadata { @@ -51,7 +53,7 @@ public class DefaultRevisionMetadata implements RevisionMetadata { * @see org.springframework.data.history.RevisionMetadata#getRevisionDate() */ public Optional getRevisionDate() { - return Optional.of(LocalDateTime.from(Instant.ofEpochMilli(entity.getTimestamp()))); + return Optional.of(LocalDateTime.ofInstant(Instant.ofEpochMilli(entity.getTimestamp()), ZoneOffset.UTC)); } /* diff --git a/src/test/java/org/springframework/data/envers/repository/support/DefaultRevisionMetadataUnitTests.java b/src/test/java/org/springframework/data/envers/repository/support/DefaultRevisionMetadataUnitTests.java index 5bf8c9a..0f84520 100644 --- a/src/test/java/org/springframework/data/envers/repository/support/DefaultRevisionMetadataUnitTests.java +++ b/src/test/java/org/springframework/data/envers/repository/support/DefaultRevisionMetadataUnitTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2017 the original author or authors. + * Copyright 2012-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,24 +18,31 @@ package org.springframework.data.envers.repository.support; import org.hibernate.envers.DefaultRevisionEntity; import org.junit.Test; +import java.time.Instant; import java.time.LocalDateTime; +import java.time.ZoneId; import java.time.ZoneOffset; import static org.assertj.core.api.Assertions.assertThat; /** + * Unit tests for {@link DefaultRevisionMetadata}. + * * @author Benedikt Ritter + * @author Jens Schauder */ public class DefaultRevisionMetadataUnitTests { - private static final LocalDateTime NOW = LocalDateTime.now(); + private static final Instant NOW = Instant.now();; - @Test + @Test // #112 public void createsLocalDateTimeFromTimestamp() { + DefaultRevisionEntity entity = new DefaultRevisionEntity(); - entity.setTimestamp(NOW.toEpochSecond(ZoneOffset.UTC)); + entity.setTimestamp(NOW.toEpochMilli()); + DefaultRevisionMetadata metadata = new DefaultRevisionMetadata(entity); - assertThat(metadata.getRevisionDate()).hasValue(NOW); + assertThat(metadata.getRevisionDate()).hasValue(LocalDateTime.ofInstant(NOW, ZoneOffset.UTC)); } }