[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:
parent
8da6f0ad07
commit
13fd7380ca
|
@ -171,7 +171,7 @@ public class EaseeBindingConstants {
|
||||||
public static final String THING_CONFIG_BACK_PLATE_ID = "backPlateId";
|
public static final String THING_CONFIG_BACK_PLATE_ID = "backPlateId";
|
||||||
public static final String THING_CONFIG_MASTER_BACK_PLATE_ID = "masterBackPlateId";
|
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 DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
|
||||||
|
|
||||||
public static final String PARAMETER_NAME_WRITE_COMMAND = "writeCommand";
|
public static final String PARAMETER_NAME_WRITE_COMMAND = "writeCommand";
|
||||||
|
|
|
@ -14,8 +14,6 @@ package org.openhab.binding.easee.internal;
|
||||||
|
|
||||||
import static org.openhab.binding.easee.internal.EaseeBindingConstants.*;
|
import static org.openhab.binding.easee.internal.EaseeBindingConstants.*;
|
||||||
|
|
||||||
import java.time.Instant;
|
|
||||||
import java.time.ZoneId;
|
|
||||||
import java.time.ZonedDateTime;
|
import java.time.ZonedDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.time.format.DateTimeParseException;
|
import java.time.format.DateTimeParseException;
|
||||||
|
@ -67,18 +65,6 @@ public final class Utils {
|
||||||
return zdt;
|
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.
|
* get element as JsonObject.
|
||||||
*
|
*
|
||||||
|
|
|
@ -149,8 +149,8 @@ public class WebInterface implements AtomicReferenceTrait {
|
||||||
tokenRefreshDate = Instant.now();
|
tokenRefreshDate = Instant.now();
|
||||||
tokenExpiry = tokenRefreshDate.plusSeconds(expiresInSeconds);
|
tokenExpiry = tokenRefreshDate.plusSeconds(expiresInSeconds);
|
||||||
|
|
||||||
logger.debug("access token refreshed: {}, expiry: {}", Utils.formatDate(tokenRefreshDate),
|
logger.debug("access token refreshed: {}, expiry: {}", tokenRefreshDate.toString(),
|
||||||
Utils.formatDate(tokenExpiry));
|
tokenExpiry.toString());
|
||||||
|
|
||||||
bridgeStatusHandler.updateStatusInfo(ThingStatus.ONLINE, ThingStatusDetail.NONE,
|
bridgeStatusHandler.updateStatusInfo(ThingStatus.ONLINE, ThingStatusDetail.NONE,
|
||||||
STATUS_TOKEN_VALIDATED);
|
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)
|
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))) {
|
|| now.isAfter(tokenRefreshDate.plus(WEB_REQUEST_TOKEN_MAX_AGE_MINUTES, ChronoUnit.MINUTES))) {
|
||||||
logger.debug("access token needs to be refreshed, last refresh: {}, expiry: {}",
|
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,
|
EaseeCommand refreshCommand = new RefreshToken(handler, accessToken, refreshToken,
|
||||||
this::processAuthenticationResult);
|
this::processAuthenticationResult);
|
||||||
|
|
Loading…
Reference in New Issue