FIX: Circuit 'created' serialization

This commit is contained in:
Patrick Haßel 2024-05-23 09:03:47 +02:00
parent de5d1bfc2c
commit e1d06adef0
4 changed files with 10 additions and 5 deletions

View File

@ -35,6 +35,11 @@
<artifactId>jackson-databind</artifactId>
<version>2.17.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>2.17.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math3</artifactId>

View File

@ -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<Part> 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());
}

View File

@ -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<PartDto> parts;

View File

@ -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());