[easee] fix date formatting issues (#15501)

* fix DateTimeException when formatting date out of range (in this case Instant.MIN)

Signed-off-by: Alexander Friese <af944580@googlemail.com>
This commit is contained in:
Alexander Friese 2023-08-30 20:10:23 +02:00 committed by GitHub
parent 8da6f0ad07
commit 13fd7380ca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 4 additions and 18 deletions

View File

@ -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";

View File

@ -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.
*

View File

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