From 3361aa41dd9060acffef480dccf770450fbeb172 Mon Sep 17 00:00:00 2001 From: Jacob Laursen Date: Sat, 9 Nov 2024 23:09:13 +0100 Subject: [PATCH] Simplify DateTimeType handling for Groupe PSA Signed-off-by: Jacob Laursen --- .../groupepsa/internal/GroupePSAHandlerFactory.java | 8 ++------ .../groupepsa/internal/things/GroupePSAHandler.java | 8 ++------ .../groupepsa/internal/things/GroupePSAHandlerTest.java | 6 +----- 3 files changed, 5 insertions(+), 17 deletions(-) diff --git a/bundles/org.openhab.binding.groupepsa/src/main/java/org/openhab/binding/groupepsa/internal/GroupePSAHandlerFactory.java b/bundles/org.openhab.binding.groupepsa/src/main/java/org/openhab/binding/groupepsa/internal/GroupePSAHandlerFactory.java index 3fad2e76226..8f242c1e5b8 100644 --- a/bundles/org.openhab.binding.groupepsa/src/main/java/org/openhab/binding/groupepsa/internal/GroupePSAHandlerFactory.java +++ b/bundles/org.openhab.binding.groupepsa/src/main/java/org/openhab/binding/groupepsa/internal/GroupePSAHandlerFactory.java @@ -22,7 +22,6 @@ import org.eclipse.jetty.client.HttpClient; import org.openhab.binding.groupepsa.internal.bridge.GroupePSABridgeHandler; import org.openhab.binding.groupepsa.internal.things.GroupePSAHandler; import org.openhab.core.auth.client.oauth2.OAuthFactory; -import org.openhab.core.i18n.TimeZoneProvider; import org.openhab.core.io.net.http.HttpClientFactory; import org.openhab.core.thing.Bridge; import org.openhab.core.thing.Thing; @@ -48,15 +47,12 @@ public class GroupePSAHandlerFactory extends BaseThingHandlerFactory { private final OAuthFactory oAuthFactory; private final HttpClient httpClient; - private final TimeZoneProvider timeZoneProvider; @Activate public GroupePSAHandlerFactory(final @Reference OAuthFactory oAuthFactory, // - final @Reference HttpClientFactory httpClientFactory, // - final @Reference TimeZoneProvider timeZoneProvider) { + final @Reference HttpClientFactory httpClientFactory) { this.oAuthFactory = oAuthFactory; this.httpClient = httpClientFactory.getCommonHttpClient(); - this.timeZoneProvider = timeZoneProvider; } @Override @@ -69,7 +65,7 @@ public class GroupePSAHandlerFactory extends BaseThingHandlerFactory { ThingTypeUID thingTypeUID = thing.getThingTypeUID(); if (THING_TYPE_VEHICLE.equals(thingTypeUID)) { - return new GroupePSAHandler(thing, timeZoneProvider); + return new GroupePSAHandler(thing); } else if (THING_TYPE_BRIDGE.equals(thingTypeUID)) { return new GroupePSABridgeHandler((Bridge) thing, oAuthFactory, httpClient); } diff --git a/bundles/org.openhab.binding.groupepsa/src/main/java/org/openhab/binding/groupepsa/internal/things/GroupePSAHandler.java b/bundles/org.openhab.binding.groupepsa/src/main/java/org/openhab/binding/groupepsa/internal/things/GroupePSAHandler.java index 4018ae5110d..40bbeb11505 100644 --- a/bundles/org.openhab.binding.groupepsa/src/main/java/org/openhab/binding/groupepsa/internal/things/GroupePSAHandler.java +++ b/bundles/org.openhab.binding.groupepsa/src/main/java/org/openhab/binding/groupepsa/internal/things/GroupePSAHandler.java @@ -50,7 +50,6 @@ import org.openhab.binding.groupepsa.internal.rest.api.dto.Safety; import org.openhab.binding.groupepsa.internal.rest.api.dto.Service; import org.openhab.binding.groupepsa.internal.rest.api.dto.VehicleStatus; import org.openhab.binding.groupepsa.internal.rest.exceptions.GroupePSACommunicationException; -import org.openhab.core.i18n.TimeZoneProvider; import org.openhab.core.library.types.DateTimeType; import org.openhab.core.library.types.DecimalType; import org.openhab.core.library.types.OpenClosedType; @@ -93,8 +92,6 @@ public class GroupePSAHandler extends BaseThingHandler { private final Logger logger = LoggerFactory.getLogger(GroupePSAHandler.class); - private final TimeZoneProvider timeZoneProvider; - private @Nullable String id = null; private long lastQueryTimeNs = 0L; @@ -102,9 +99,8 @@ public class GroupePSAHandler extends BaseThingHandler { private long maxQueryFrequencyNanos = TimeUnit.MINUTES.toNanos(1); private long onlineIntervalM; - public GroupePSAHandler(Thing thing, TimeZoneProvider timeZoneProvider) { + public GroupePSAHandler(Thing thing) { super(thing); - this.timeZoneProvider = timeZoneProvider; } @Override @@ -424,7 +420,7 @@ public class GroupePSAHandler extends BaseThingHandler { protected void updateState(String channelID, @Nullable ZonedDateTime date) { if (date != null) { - updateState(channelID, new DateTimeType(date).toZone(timeZoneProvider.getTimeZone())); + updateState(channelID, new DateTimeType(date)); } else { updateState(channelID, UnDefType.UNDEF); } diff --git a/bundles/org.openhab.binding.groupepsa/src/test/java/org/openhab/binding/groupepsa/internal/things/GroupePSAHandlerTest.java b/bundles/org.openhab.binding.groupepsa/src/test/java/org/openhab/binding/groupepsa/internal/things/GroupePSAHandlerTest.java index 9b5e0d78a6e..1f586689a28 100644 --- a/bundles/org.openhab.binding.groupepsa/src/test/java/org/openhab/binding/groupepsa/internal/things/GroupePSAHandlerTest.java +++ b/bundles/org.openhab.binding.groupepsa/src/test/java/org/openhab/binding/groupepsa/internal/things/GroupePSAHandlerTest.java @@ -18,7 +18,6 @@ import static org.mockito.Mockito.*; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; -import java.time.ZoneId; import java.util.stream.Collectors; import org.eclipse.jdt.annotation.NonNullByDefault; @@ -35,7 +34,6 @@ import org.openhab.binding.groupepsa.internal.rest.api.GroupePSAConnectApi; import org.openhab.binding.groupepsa.internal.rest.exceptions.GroupePSACommunicationException; import org.openhab.core.auth.client.oauth2.OAuthFactory; import org.openhab.core.config.core.Configuration; -import org.openhab.core.i18n.TimeZoneProvider; import org.openhab.core.library.types.DateTimeType; import org.openhab.core.library.types.StringType; import org.openhab.core.thing.Bridge; @@ -67,7 +65,6 @@ public class GroupePSAHandlerTest { private @NonNullByDefault({}) @Mock OAuthFactory oAuthFactory; private @NonNullByDefault({}) @Mock HttpClient httpClient; - private @NonNullByDefault({}) @Mock TimeZoneProvider timeZoneProvider; static String getResourceFileAsString(String fileName) throws GroupePSACommunicationException { try (InputStream is = GroupePSAConnectApi.class.getResourceAsStream(fileName)) { @@ -90,7 +87,7 @@ public class GroupePSAHandlerTest { // Create real objects bridgeHandler = spy(new GroupePSABridgeHandler(bridge, oAuthFactory, httpClient)); - thingHandler = spy(new GroupePSAHandler(thing, timeZoneProvider)); + thingHandler = spy(new GroupePSAHandler(thing)); api = spy(new GroupePSAConnectApi(httpClient, bridgeHandler, "clientId", "realm")); // Setup API mock @@ -124,7 +121,6 @@ public class GroupePSAHandlerTest { thingHandler.setCallback(thingCallback); doReturn(bridge).when(thingHandler).getBridge(); doNothing().when(thingHandler).buildDoorChannels(any()); - doReturn(ZoneId.systemDefault()).when(timeZoneProvider).getTimeZone(); } @AfterEach