diff --git a/bundles/org.openhab.core.io.rest/src/main/java/org/openhab/core/io/rest/internal/resources/RootResource.java b/bundles/org.openhab.core.io.rest/src/main/java/org/openhab/core/io/rest/internal/resources/RootResource.java index a283374205..ae333581be 100644 --- a/bundles/org.openhab.core.io.rest/src/main/java/org/openhab/core/io/rest/internal/resources/RootResource.java +++ b/bundles/org.openhab.core.io.rest/src/main/java/org/openhab/core/io/rest/internal/resources/RootResource.java @@ -26,6 +26,7 @@ import javax.ws.rs.core.UriInfo; import org.eclipse.jdt.annotation.NonNullByDefault; import org.openhab.core.i18n.LocaleProvider; +import org.openhab.core.i18n.TimeZoneProvider; import org.openhab.core.i18n.UnitProvider; import org.openhab.core.io.rest.RESTConstants; import org.openhab.core.io.rest.RESTResource; @@ -83,13 +84,15 @@ public class RootResource implements RESTResource { private final JaxrsServiceRuntime runtime; private final LocaleProvider localeProvider; private final UnitProvider unitProvider; + private final TimeZoneProvider timeZoneProvider; @Activate public RootResource(final @Reference JaxrsServiceRuntime runtime, final @Reference LocaleProvider localeProvider, - final @Reference UnitProvider unitProvider) { + final @Reference UnitProvider unitProvider, final @Reference TimeZoneProvider timeZoneProvider) { this.runtime = runtime; this.localeProvider = localeProvider; this.unitProvider = unitProvider; + this.timeZoneProvider = timeZoneProvider; } @GET @@ -102,7 +105,7 @@ public class RootResource implements RESTResource { final Map collectedLinks = new HashMap<>(); final RuntimeDTO runtimeDTO = runtime.getRuntimeDTO(); - final RootBean bean = new RootBean(localeProvider, unitProvider); + final RootBean bean = new RootBean(localeProvider, unitProvider, timeZoneProvider); for (final ApplicationDTO applicationDTO : runtimeDTO.applicationDTOs) { for (final ResourceDTO resourceDTO : applicationDTO.resourceDTOs) { // We are using the JAX-RS name per convention for the link type. diff --git a/bundles/org.openhab.core.io.rest/src/main/java/org/openhab/core/io/rest/internal/resources/beans/RootBean.java b/bundles/org.openhab.core.io.rest/src/main/java/org/openhab/core/io/rest/internal/resources/beans/RootBean.java index ad837ca38b..c043c53b68 100644 --- a/bundles/org.openhab.core.io.rest/src/main/java/org/openhab/core/io/rest/internal/resources/beans/RootBean.java +++ b/bundles/org.openhab.core.io.rest/src/main/java/org/openhab/core/io/rest/internal/resources/beans/RootBean.java @@ -18,6 +18,7 @@ import java.util.List; import org.eclipse.jdt.annotation.NonNullByDefault; import org.openhab.core.OpenHAB; import org.openhab.core.i18n.LocaleProvider; +import org.openhab.core.i18n.TimeZoneProvider; import org.openhab.core.i18n.UnitProvider; import org.openhab.core.io.rest.RESTConstants; @@ -37,13 +38,16 @@ public class RootBean { public final String measurementSystem; + public final String timezone; + public final RuntimeInfo runtimeInfo = new RuntimeInfo(); public final List links = new ArrayList<>(); - public RootBean(LocaleProvider localeProvider, UnitProvider unitProvider) { + public RootBean(LocaleProvider localeProvider, UnitProvider unitProvider, TimeZoneProvider timeZoneProvider) { this.locale = localeProvider.getLocale().toString(); this.measurementSystem = unitProvider.getMeasurementSystem().getName(); + this.timezone = timeZoneProvider.getTimeZone().toString(); } public static class RuntimeInfo {