This is an automated email from the ASF dual-hosted git repository. orpiske pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit f7048e5f4e370a418eb7cca3cca4ef9f10c3db83 Author: Otavio Rodolfo Piske <[email protected]> AuthorDate: Fri Dec 15 13:08:09 2023 -0300 CAMEL-20225: simplify getting a ZonedDateTime --- .../org/apache/camel/component/cloudevents/CloudEvent.java | 5 +---- .../component/knative/ce/AbstractCloudEventProcessor.java | 5 +---- core/camel-api/src/main/java/org/apache/camel/Clock.java | 13 +++++++++++++ 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/components/camel-cloudevents/src/main/java/org/apache/camel/component/cloudevents/CloudEvent.java b/components/camel-cloudevents/src/main/java/org/apache/camel/component/cloudevents/CloudEvent.java index 9f3d6451e59..c181cb01733 100644 --- a/components/camel-cloudevents/src/main/java/org/apache/camel/component/cloudevents/CloudEvent.java +++ b/components/camel-cloudevents/src/main/java/org/apache/camel/component/cloudevents/CloudEvent.java @@ -16,8 +16,6 @@ */ package org.apache.camel.component.cloudevents; -import java.time.Instant; -import java.time.ZoneId; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import java.util.Collection; @@ -76,8 +74,7 @@ public interface CloudEvent { * Construct event time from given Camel exchange. */ default String getEventTime(Exchange exchange) { - final ZonedDateTime created - = ZonedDateTime.ofInstant(Instant.ofEpochMilli(exchange.getClock().getCreated()), ZoneId.systemDefault()); + final ZonedDateTime created = exchange.getClock().asZonedCreationDateTime(); return DateTimeFormatter.ISO_INSTANT.format(created); } diff --git a/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/ce/AbstractCloudEventProcessor.java b/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/ce/AbstractCloudEventProcessor.java index 3165c2d8911..2c9fee8985a 100644 --- a/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/ce/AbstractCloudEventProcessor.java +++ b/components/camel-knative/camel-knative-component/src/main/java/org/apache/camel/component/knative/ce/AbstractCloudEventProcessor.java @@ -17,8 +17,6 @@ package org.apache.camel.component.knative.ce; import java.io.InputStream; -import java.time.Instant; -import java.time.ZoneId; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import java.util.Map; @@ -122,8 +120,7 @@ abstract class AbstractCloudEventProcessor implements CloudEventProcessor { setCloudEventHeader(headers, CloudEvent.CAMEL_CLOUD_EVENT_SOURCE, exchange::getFromRouteId); setCloudEventHeader(headers, CloudEvent.CAMEL_CLOUD_EVENT_VERSION, ce::version); setCloudEventHeader(headers, CloudEvent.CAMEL_CLOUD_EVENT_TIME, () -> { - final ZonedDateTime created - = ZonedDateTime.ofInstant(Instant.ofEpochMilli(exchange.getClock().getCreated()), ZoneId.systemDefault()); + final ZonedDateTime created = exchange.getClock().asZonedCreationDateTime(); return DateTimeFormatter.ISO_INSTANT.format(created); }); diff --git a/core/camel-api/src/main/java/org/apache/camel/Clock.java b/core/camel-api/src/main/java/org/apache/camel/Clock.java index f19ecd35a07..78983ca05a0 100644 --- a/core/camel-api/src/main/java/org/apache/camel/Clock.java +++ b/core/camel-api/src/main/java/org/apache/camel/Clock.java @@ -17,6 +17,11 @@ package org.apache.camel; +import java.time.Instant; +import java.time.ZoneId; +import java.time.ZonedDateTime; +import java.util.Date; + /** * A clock used to track the lifetime of an exchange */ @@ -35,4 +40,12 @@ public interface Clock { * @see System#currentTimeMillis() */ long getCreated(); + + /** + * Get the creation date/time as with time-zone information + * @return A ZonedDateTime instance from the computed creation time + */ + default ZonedDateTime asZonedCreationDateTime() { + return ZonedDateTime.ofInstant(Instant.ofEpochMilli(getCreated()), ZoneId.systemDefault()); + } }
