From: lolodomo Date: Sun, 5 Dec 2021 08:39:51 +0000 (+0100) Subject: [openuv] Fix internationalization of discovery result (#11500) X-Git-Url: https://git.basschouten.com/?a=commitdiff_plain;h=0a997ec5d30318a062e162ba5352d5f40985290d;p=openhab-addons.git [openuv] Fix internationalization of discovery result (#11500) * [openuv] Fix internationalization of discovery result Signed-off-by: Laurent Garnier --- diff --git a/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/OpenUVHandlerFactory.java b/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/OpenUVHandlerFactory.java index fe483a09ea..1d7bb529c3 100644 --- a/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/OpenUVHandlerFactory.java +++ b/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/OpenUVHandlerFactory.java @@ -20,8 +20,10 @@ import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.openhab.binding.openuv.internal.handler.OpenUVBridgeHandler; import org.openhab.binding.openuv.internal.handler.OpenUVReportHandler; +import org.openhab.core.i18n.LocaleProvider; import org.openhab.core.i18n.LocationProvider; import org.openhab.core.i18n.TimeZoneProvider; +import org.openhab.core.i18n.TranslationProvider; import org.openhab.core.thing.Bridge; import org.openhab.core.thing.Thing; import org.openhab.core.thing.ThingTypeUID; @@ -48,12 +50,17 @@ import com.google.gson.JsonDeserializer; public class OpenUVHandlerFactory extends BaseThingHandlerFactory { private final LocationProvider locationProvider; + private final TranslationProvider i18nProvider; + private final LocaleProvider localeProvider; private final Gson gson; @Activate public OpenUVHandlerFactory(@Reference TimeZoneProvider timeZoneProvider, - @Reference LocationProvider locationProvider) { + @Reference LocationProvider locationProvider, @Reference TranslationProvider i18nProvider, + @Reference LocaleProvider localeProvider) { this.locationProvider = locationProvider; + this.i18nProvider = i18nProvider; + this.localeProvider = localeProvider; this.gson = new GsonBuilder() .registerTypeAdapter(ZonedDateTime.class, (JsonDeserializer) (json, type, jsonDeserializationContext) -> ZonedDateTime @@ -72,7 +79,7 @@ public class OpenUVHandlerFactory extends BaseThingHandlerFactory { ThingTypeUID thingTypeUID = thing.getThingTypeUID(); return APIBRIDGE_THING_TYPE.equals(thingTypeUID) - ? new OpenUVBridgeHandler((Bridge) thing, locationProvider, gson) + ? new OpenUVBridgeHandler((Bridge) thing, locationProvider, i18nProvider, localeProvider, gson) : LOCATION_REPORT_THING_TYPE.equals(thingTypeUID) ? new OpenUVReportHandler(thing) : null; } } diff --git a/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/discovery/OpenUVDiscoveryService.java b/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/discovery/OpenUVDiscoveryService.java index b192db4327..374f31fa64 100644 --- a/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/discovery/OpenUVDiscoveryService.java +++ b/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/discovery/OpenUVDiscoveryService.java @@ -50,7 +50,10 @@ public class OpenUVDiscoveryService extends AbstractDiscoveryService implements @Override public void setThingHandler(ThingHandler handler) { if (handler instanceof OpenUVBridgeHandler) { - this.bridgeHandler = (OpenUVBridgeHandler) handler; + OpenUVBridgeHandler localHandler = (OpenUVBridgeHandler) handler; + this.bridgeHandler = localHandler; + this.i18nProvider = localHandler.getI18nProvider(); + this.localeProvider = localHandler.getLocaleProvider(); } } diff --git a/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/handler/OpenUVBridgeHandler.java b/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/handler/OpenUVBridgeHandler.java index f39e85b9c3..6388e0a287 100644 --- a/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/handler/OpenUVBridgeHandler.java +++ b/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/handler/OpenUVBridgeHandler.java @@ -29,7 +29,9 @@ import org.openhab.binding.openuv.internal.config.BridgeConfiguration; import org.openhab.binding.openuv.internal.discovery.OpenUVDiscoveryService; import org.openhab.binding.openuv.internal.json.OpenUVResponse; import org.openhab.binding.openuv.internal.json.OpenUVResult; +import org.openhab.core.i18n.LocaleProvider; import org.openhab.core.i18n.LocationProvider; +import org.openhab.core.i18n.TranslationProvider; import org.openhab.core.io.net.http.HttpUtil; import org.openhab.core.library.types.PointType; import org.openhab.core.thing.Bridge; @@ -61,13 +63,18 @@ public class OpenUVBridgeHandler extends BaseBridgeHandler { private final Properties header = new Properties(); private final Gson gson; private final LocationProvider locationProvider; + private final TranslationProvider i18nProvider; + private final LocaleProvider localeProvider; private @Nullable ScheduledFuture reconnectJob; - public OpenUVBridgeHandler(Bridge bridge, LocationProvider locationProvider, Gson gson) { + public OpenUVBridgeHandler(Bridge bridge, LocationProvider locationProvider, TranslationProvider i18nProvider, + LocaleProvider localeProvider, Gson gson) { super(bridge); this.gson = gson; this.locationProvider = locationProvider; + this.i18nProvider = i18nProvider; + this.localeProvider = localeProvider; } @Override @@ -149,4 +156,12 @@ public class OpenUVBridgeHandler extends BaseBridgeHandler { public @Nullable PointType getLocation() { return locationProvider.getLocation(); } + + public TranslationProvider getI18nProvider() { + return i18nProvider; + } + + public LocaleProvider getLocaleProvider() { + return localeProvider; + } }