diff --git a/bundles/org.openhab.core.ephemeris/src/main/java/org/eclipse/smarthome/core/ephemeris/internal/EphemerisManagerImpl.java b/bundles/org.openhab.core.ephemeris/src/main/java/org/eclipse/smarthome/core/ephemeris/internal/EphemerisManagerImpl.java index 1f080cf4c..f38068f19 100644 --- a/bundles/org.openhab.core.ephemeris/src/main/java/org/eclipse/smarthome/core/ephemeris/internal/EphemerisManagerImpl.java +++ b/bundles/org.openhab.core.ephemeris/src/main/java/org/eclipse/smarthome/core/ephemeris/internal/EphemerisManagerImpl.java @@ -141,14 +141,12 @@ public class EphemerisManagerImpl implements EphemerisManager, ConfigOptionProvi } private HolidayManager getHolidayManager(Object managerKey) { - if (!holidayManagers.containsKey(managerKey)) { - ManagerParameter parameters = managerKey.getClass() == String.class + return holidayManagers.computeIfAbsent(managerKey, key -> { + final ManagerParameter parameters = managerKey.getClass() == String.class ? ManagerParameters.create((String) managerKey) : ManagerParameters.create((URL) managerKey); - - holidayManagers.put(managerKey, HolidayManager.getInstance(parameters)); - } - return holidayManagers.get(managerKey); + return HolidayManager.getInstance(parameters); + }); } private Optional getHoliday(ZonedDateTime date) {