From 6efc39d7c9fe611fe1aa07c6841c3c3acd6b2baa Mon Sep 17 00:00:00 2001 From: Anis Touri Date: Thu, 6 Jun 2024 14:09:53 +0200 Subject: [PATCH] replace ZonedDateTime with Instant (#67) * replace ZonedDateTime with OffsetDateTime * replace OffsetDateTime with Instant --------- Signed-off-by: TOURI ANIS --- .../voltageinit/server/dto/VoltageInitResult.java | 4 ++-- .../dto/parameters/VoltageInitParametersInfos.java | 4 ++-- .../server/entities/VoltageInitResultEntity.java | 7 +++---- .../entities/parameters/VoltageInitParametersEntity.java | 9 ++++----- .../server/service/VoltageInitResultService.java | 6 +++--- .../changelog/changesets/changelog_20240529T153656Z.xml | 9 +++++++++ src/main/resources/db/changelog/db.changelog-master.yaml | 5 ++++- .../voltageinit/utils/assertions/DTOAssert.java | 4 ++-- 8 files changed, 29 insertions(+), 19 deletions(-) create mode 100644 src/main/resources/db/changelog/changesets/changelog_20240529T153656Z.xml diff --git a/src/main/java/org/gridsuite/voltageinit/server/dto/VoltageInitResult.java b/src/main/java/org/gridsuite/voltageinit/server/dto/VoltageInitResult.java index 32f6c46..f160c9b 100644 --- a/src/main/java/org/gridsuite/voltageinit/server/dto/VoltageInitResult.java +++ b/src/main/java/org/gridsuite/voltageinit/server/dto/VoltageInitResult.java @@ -11,7 +11,7 @@ import lombok.NoArgsConstructor; import lombok.Setter; -import java.time.ZonedDateTime; +import java.time.Instant; import java.util.List; import java.util.Map; import java.util.UUID; @@ -27,7 +27,7 @@ public class VoltageInitResult { private UUID resultUuid; - private ZonedDateTime writeTimeStamp; + private Instant writeTimeStamp; private Map indicators; diff --git a/src/main/java/org/gridsuite/voltageinit/server/dto/parameters/VoltageInitParametersInfos.java b/src/main/java/org/gridsuite/voltageinit/server/dto/parameters/VoltageInitParametersInfos.java index 3af31c9..0e3e5f8 100644 --- a/src/main/java/org/gridsuite/voltageinit/server/dto/parameters/VoltageInitParametersInfos.java +++ b/src/main/java/org/gridsuite/voltageinit/server/dto/parameters/VoltageInitParametersInfos.java @@ -9,7 +9,7 @@ import lombok.*; import lombok.experimental.SuperBuilder; -import java.time.ZonedDateTime; +import java.time.Instant; import java.util.List; import java.util.UUID; @@ -30,7 +30,7 @@ public class VoltageInitParametersInfos { private UUID uuid; @Schema(description = "parameters date") - private ZonedDateTime date; + private Instant date; @Schema(description = "parameters name") private String name; diff --git a/src/main/java/org/gridsuite/voltageinit/server/entities/VoltageInitResultEntity.java b/src/main/java/org/gridsuite/voltageinit/server/entities/VoltageInitResultEntity.java index ef31a59..7d0770e 100644 --- a/src/main/java/org/gridsuite/voltageinit/server/entities/VoltageInitResultEntity.java +++ b/src/main/java/org/gridsuite/voltageinit/server/entities/VoltageInitResultEntity.java @@ -6,12 +6,11 @@ */ package org.gridsuite.voltageinit.server.entities; +import java.time.Instant; import java.util.List; import java.util.Map; import java.util.UUID; -import java.time.ZonedDateTime; - import jakarta.persistence.CollectionTable; import jakarta.persistence.Column; import jakarta.persistence.ElementCollection; @@ -40,8 +39,8 @@ public class VoltageInitResultEntity { @Id private UUID resultUuid; - @Column - private ZonedDateTime writeTimeStamp; + @Column(columnDefinition = "timestamptz") + private Instant writeTimeStamp; @ElementCollection @CollectionTable diff --git a/src/main/java/org/gridsuite/voltageinit/server/entities/parameters/VoltageInitParametersEntity.java b/src/main/java/org/gridsuite/voltageinit/server/entities/parameters/VoltageInitParametersEntity.java index a321d44..39fd217 100644 --- a/src/main/java/org/gridsuite/voltageinit/server/entities/parameters/VoltageInitParametersEntity.java +++ b/src/main/java/org/gridsuite/voltageinit/server/entities/parameters/VoltageInitParametersEntity.java @@ -16,8 +16,7 @@ import org.gridsuite.voltageinit.server.dto.parameters.VoltageLimitInfos; import org.gridsuite.voltageinit.server.util.VoltageLimitParameterType; -import java.time.ZoneOffset; -import java.time.ZonedDateTime; +import java.time.Instant; import java.time.temporal.ChronoUnit; import java.util.ArrayList; import java.util.List; @@ -41,8 +40,8 @@ public class VoltageInitParametersEntity { @Column(name = "id") private UUID id; - @Column(name = "date") - private ZonedDateTime date; + @Column(name = "date", columnDefinition = "timestamptz") + private Instant date; @Column(name = "name") private String name; @@ -82,7 +81,7 @@ public class VoltageInitParametersEntity { private boolean updateBusVoltage; public VoltageInitParametersEntity(@NonNull VoltageInitParametersInfos voltageInitParametersInfos) { - this.date = ZonedDateTime.now(ZoneOffset.UTC).truncatedTo(ChronoUnit.MICROS); + this.date = Instant.now().truncatedTo(ChronoUnit.MICROS); assignAttributes(voltageInitParametersInfos); } diff --git a/src/main/java/org/gridsuite/voltageinit/server/service/VoltageInitResultService.java b/src/main/java/org/gridsuite/voltageinit/server/service/VoltageInitResultService.java index d0584a4..d6080a0 100644 --- a/src/main/java/org/gridsuite/voltageinit/server/service/VoltageInitResultService.java +++ b/src/main/java/org/gridsuite/voltageinit/server/service/VoltageInitResultService.java @@ -21,7 +21,7 @@ import com.powsybl.openreac.parameters.output.OpenReacResult; -import java.time.ZonedDateTime; +import java.time.Instant; import java.util.List; import java.util.Map; import java.util.Objects; @@ -63,7 +63,7 @@ private static VoltageInitResultEntity toVoltageInitResultEntity(UUID resultUuid } } ).filter(Objects::nonNull).toList(); - return new VoltageInitResultEntity(resultUuid, ZonedDateTime.now(), indicators, reactiveSlacks, busVoltages, modificationsGroupUuid, + return new VoltageInitResultEntity(resultUuid, Instant.now(), indicators, reactiveSlacks, busVoltages, modificationsGroupUuid, isReactiveSlacksOverThreshold, reactiveSlacksThreshold); } @@ -128,6 +128,6 @@ public void insert(UUID resultUuid, OpenReacResult result, Map netw @Transactional public void insertErrorResult(UUID resultUuid, Map errorIndicators) { Objects.requireNonNull(resultUuid); - resultRepository.save(new VoltageInitResultEntity(resultUuid, ZonedDateTime.now(), errorIndicators, List.of(), List.of(), null, false, null)); + resultRepository.save(new VoltageInitResultEntity(resultUuid, Instant.now(), errorIndicators, List.of(), List.of(), null, false, null)); } } diff --git a/src/main/resources/db/changelog/changesets/changelog_20240529T153656Z.xml b/src/main/resources/db/changelog/changesets/changelog_20240529T153656Z.xml new file mode 100644 index 0000000..041c612 --- /dev/null +++ b/src/main/resources/db/changelog/changesets/changelog_20240529T153656Z.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/main/resources/db/changelog/db.changelog-master.yaml b/src/main/resources/db/changelog/db.changelog-master.yaml index 60f3608..3a21943 100644 --- a/src/main/resources/db/changelog/db.changelog-master.yaml +++ b/src/main/resources/db/changelog/db.changelog-master.yaml @@ -26,4 +26,7 @@ databaseChangeLog: relativeToChangelogFile: true - include: file: changesets/changelog_20240407T230420Z.xml - relativeToChangelogFile: true \ No newline at end of file + relativeToChangelogFile: true + - include: + file: changesets/changelog_20240529T153656Z.xml + relativeToChangelogFile: true diff --git a/src/test/java/org/gridsuite/voltageinit/utils/assertions/DTOAssert.java b/src/test/java/org/gridsuite/voltageinit/utils/assertions/DTOAssert.java index c1b2be5..9b07cb1 100644 --- a/src/test/java/org/gridsuite/voltageinit/utils/assertions/DTOAssert.java +++ b/src/test/java/org/gridsuite/voltageinit/utils/assertions/DTOAssert.java @@ -9,7 +9,7 @@ import org.assertj.core.api.AbstractAssert; import org.assertj.core.api.recursive.comparison.RecursiveComparisonConfiguration; -import java.time.ZonedDateTime; +import java.time.Instant; import java.util.Date; import java.util.UUID; @@ -31,7 +31,7 @@ public DTOAssert recursivelyEquals(T other) { private RecursiveComparisonConfiguration getRecursiveConfiguration() { return RecursiveComparisonConfiguration.builder() .withIgnoreAllOverriddenEquals(true) // For equals test, need specific tests - .withIgnoredFieldsOfTypes(UUID.class, Date.class, ZonedDateTime.class) // For these types, need specific tests (uuid from db for example) + .withIgnoredFieldsOfTypes(UUID.class, Date.class, Instant.class) // For these types, need specific tests (uuid from db for example) .withIgnoreCollectionOrder(true) // For collection order test, need specific tests .build(); }