From 7197138b7de287f8219251c470946fc6b89ee428 Mon Sep 17 00:00:00 2001 From: njimenezotto <55832791+njimenezotto@users.noreply.github.com> Date: Thu, 12 Sep 2024 06:30:48 +0200 Subject: [PATCH 1/2] handle epoch seconds with value 0 --- .../entur/abt/mapstruct/common/ProtobufStandardMappings.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/support-core/src/main/java/no/entur/abt/mapstruct/common/ProtobufStandardMappings.java b/support-core/src/main/java/no/entur/abt/mapstruct/common/ProtobufStandardMappings.java index 24cb783..2762dae 100644 --- a/support-core/src/main/java/no/entur/abt/mapstruct/common/ProtobufStandardMappings.java +++ b/support-core/src/main/java/no/entur/abt/mapstruct/common/ProtobufStandardMappings.java @@ -160,6 +160,9 @@ default Timestamp mapToTimestamp(Instant i) { if (i == null) { return null; } + if (i.getEpochSecond() == 0) { + return Timestamp.getDefaultInstance(); + } Timestamp t = Timestamp.newBuilder().setSeconds(i.getEpochSecond()).setNanos(i.getNano()).build(); return Timestamps.sanitize(t); From 4681666a7acbee666b26a3d97d848c8ee1a68ee3 Mon Sep 17 00:00:00 2001 From: njimenezotto <55832791+njimenezotto@users.noreply.github.com> Date: Thu, 12 Sep 2024 06:55:35 +0200 Subject: [PATCH 2/2] handle timestamp to epoch instant --- .../entur/abt/mapstruct/common/ProtobufStandardMappings.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/support-core/src/main/java/no/entur/abt/mapstruct/common/ProtobufStandardMappings.java b/support-core/src/main/java/no/entur/abt/mapstruct/common/ProtobufStandardMappings.java index 2762dae..7a27c05 100644 --- a/support-core/src/main/java/no/entur/abt/mapstruct/common/ProtobufStandardMappings.java +++ b/support-core/src/main/java/no/entur/abt/mapstruct/common/ProtobufStandardMappings.java @@ -146,6 +146,9 @@ default Instant mapToInstant(Timestamp t) { if (t == null) { return null; } + if (Timestamp.getDefaultInstance().equals(from)) { + return Instant.EPOCH; + } Timestamp sanitized = Timestamps.sanitize(t);