From 13fd7380cab2337f967ca1f4f187490ec695770c Mon Sep 17 00:00:00 2001 From: Alexander Friese Date: Wed, 30 Aug 2023 20:10:23 +0200 Subject: [PATCH] [easee] fix date formatting issues (#15501) * fix DateTimeException when formatting date out of range (in this case Instant.MIN) Signed-off-by: Alexander Friese --- .../easee/internal/EaseeBindingConstants.java | 2 +- .../org/openhab/binding/easee/internal/Utils.java | 14 -------------- .../easee/internal/connector/WebInterface.java | 6 +++--- 3 files changed, 4 insertions(+), 18 deletions(-) diff --git a/bundles/org.openhab.binding.easee/src/main/java/org/openhab/binding/easee/internal/EaseeBindingConstants.java b/bundles/org.openhab.binding.easee/src/main/java/org/openhab/binding/easee/internal/EaseeBindingConstants.java index 2c97616dd..239ea2d06 100644 --- a/bundles/org.openhab.binding.easee/src/main/java/org/openhab/binding/easee/internal/EaseeBindingConstants.java +++ b/bundles/org.openhab.binding.easee/src/main/java/org/openhab/binding/easee/internal/EaseeBindingConstants.java @@ -171,7 +171,7 @@ public class EaseeBindingConstants { public static final String THING_CONFIG_BACK_PLATE_ID = "backPlateId"; public static final String THING_CONFIG_MASTER_BACK_PLATE_ID = "masterBackPlateId"; - public static final Instant OUTDATED_DATE = Instant.MIN; + public static final Instant OUTDATED_DATE = Instant.EPOCH; public static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss"; public static final String PARAMETER_NAME_WRITE_COMMAND = "writeCommand"; diff --git a/bundles/org.openhab.binding.easee/src/main/java/org/openhab/binding/easee/internal/Utils.java b/bundles/org.openhab.binding.easee/src/main/java/org/openhab/binding/easee/internal/Utils.java index 01d6a1dc4..4dbe0311e 100644 --- a/bundles/org.openhab.binding.easee/src/main/java/org/openhab/binding/easee/internal/Utils.java +++ b/bundles/org.openhab.binding.easee/src/main/java/org/openhab/binding/easee/internal/Utils.java @@ -14,8 +14,6 @@ package org.openhab.binding.easee.internal; import static org.openhab.binding.easee.internal.EaseeBindingConstants.*; -import java.time.Instant; -import java.time.ZoneId; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; @@ -67,18 +65,6 @@ public final class Utils { return zdt; } - /** - * returns a date in a readable format - * - * @param date - * @return - */ - public static String formatDate(Instant date) { - final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") - .withZone(ZoneId.systemDefault()); - return formatter.format(date); - } - /** * get element as JsonObject. * diff --git a/bundles/org.openhab.binding.easee/src/main/java/org/openhab/binding/easee/internal/connector/WebInterface.java b/bundles/org.openhab.binding.easee/src/main/java/org/openhab/binding/easee/internal/connector/WebInterface.java index c14c8e7ee..657f97a49 100644 --- a/bundles/org.openhab.binding.easee/src/main/java/org/openhab/binding/easee/internal/connector/WebInterface.java +++ b/bundles/org.openhab.binding.easee/src/main/java/org/openhab/binding/easee/internal/connector/WebInterface.java @@ -149,8 +149,8 @@ public class WebInterface implements AtomicReferenceTrait { tokenRefreshDate = Instant.now(); tokenExpiry = tokenRefreshDate.plusSeconds(expiresInSeconds); - logger.debug("access token refreshed: {}, expiry: {}", Utils.formatDate(tokenRefreshDate), - Utils.formatDate(tokenExpiry)); + logger.debug("access token refreshed: {}, expiry: {}", tokenRefreshDate.toString(), + tokenExpiry.toString()); bridgeStatusHandler.updateStatusInfo(ThingStatus.ONLINE, ThingStatusDetail.NONE, STATUS_TOKEN_VALIDATED); @@ -226,7 +226,7 @@ public class WebInterface implements AtomicReferenceTrait { if (now.plus(WEB_REQUEST_TOKEN_EXPIRY_BUFFER_MINUTES, ChronoUnit.MINUTES).isAfter(tokenExpiry) || now.isAfter(tokenRefreshDate.plus(WEB_REQUEST_TOKEN_MAX_AGE_MINUTES, ChronoUnit.MINUTES))) { logger.debug("access token needs to be refreshed, last refresh: {}, expiry: {}", - Utils.formatDate(tokenRefreshDate), Utils.formatDate(tokenExpiry)); + tokenRefreshDate.toString(), tokenExpiry.toString()); EaseeCommand refreshCommand = new RefreshToken(handler, accessToken, refreshToken, this::processAuthenticationResult);