From e1d06adef050c10d49fe1d0cae5831099bb9a70b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20Ha=C3=9Fel?= Date: Thu, 23 May 2024 09:03:47 +0200 Subject: [PATCH] FIX: Circuit 'created' serialization --- pom.xml | 5 +++++ src/main/java/de/ph87/electro/circuit/Circuit.java | 6 +++--- src/main/java/de/ph87/electro/circuit/CircuitDto.java | 3 +-- .../de/ph87/electro/circuit/io/CircuitIOServiceTest.java | 1 + 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index e731b04..1336ae9 100644 --- a/pom.xml +++ b/pom.xml @@ -35,6 +35,11 @@ jackson-databind 2.17.0 + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + 2.17.0 + org.apache.commons commons-math3 diff --git a/src/main/java/de/ph87/electro/circuit/Circuit.java b/src/main/java/de/ph87/electro/circuit/Circuit.java index ed8956e..5da2bcb 100644 --- a/src/main/java/de/ph87/electro/circuit/Circuit.java +++ b/src/main/java/de/ph87/electro/circuit/Circuit.java @@ -27,7 +27,7 @@ import static de.ph87.electro.circuit.CircuitIOService.write; public class Circuit { @Getter - private final ZonedDateTime created; + private final String created; private final List parts = new ArrayList<>(); @@ -36,7 +36,7 @@ public class Circuit { private boolean dirty = false; public Circuit() { - this.created = ZonedDateTime.now(); + this.created = ZonedDateTime.now().format(DateTimeFormatter.ISO_OFFSET_DATE_TIME); } public Circuit(final CircuitDto dto) { @@ -100,7 +100,7 @@ public class Circuit { return; } try { - final File file = new File("./data/%s.json".formatted(created.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME))); + final File file = new File("./data/%s.json".formatted(created)); if (file.getParentFile().mkdirs()) { log.info("Directory created: {}", file.getParent()); } diff --git a/src/main/java/de/ph87/electro/circuit/CircuitDto.java b/src/main/java/de/ph87/electro/circuit/CircuitDto.java index 5f0abf0..fc4b866 100644 --- a/src/main/java/de/ph87/electro/circuit/CircuitDto.java +++ b/src/main/java/de/ph87/electro/circuit/CircuitDto.java @@ -6,7 +6,6 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.ToString; -import java.time.ZonedDateTime; import java.util.List; @Getter @@ -14,7 +13,7 @@ import java.util.List; @NoArgsConstructor public class CircuitDto { - private ZonedDateTime created; + private String created; private List parts; diff --git a/src/test/java/de/ph87/electro/circuit/io/CircuitIOServiceTest.java b/src/test/java/de/ph87/electro/circuit/io/CircuitIOServiceTest.java index ce310a1..829d40b 100644 --- a/src/test/java/de/ph87/electro/circuit/io/CircuitIOServiceTest.java +++ b/src/test/java/de/ph87/electro/circuit/io/CircuitIOServiceTest.java @@ -38,6 +38,7 @@ class CircuitIOServiceTest { final ByteArrayInputStream input = new ByteArrayInputStream(output.toByteArray()); final Circuit reloaded = read(input); + assertEquals(original.getCreated(), reloaded.getCreated()); assertEquals(original.getPartCount(), reloaded.getPartCount()); original.streamParts().forEach(originalPart -> { System.out.printf("Part: %s\n", originalPart.getUuid());