diff --git a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/HomekitTelevisionSpeakerImpl.java b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/HomekitTelevisionSpeakerImpl.java index db4ccc742..885d319a3 100644 --- a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/HomekitTelevisionSpeakerImpl.java +++ b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/HomekitTelevisionSpeakerImpl.java @@ -61,7 +61,7 @@ public class HomekitTelevisionSpeakerImpl extends AbstractHomekitAccessoryImpl { var volumeCharacteristic = getCharacteristic(VolumeCharacteristic.class); var volumeSelectorCharacteristic = getCharacteristic(VolumeSelectorCharacteristic.class); - if (!volumeControlTypeCharacteristic.isPresent()) { + if (volumeControlTypeCharacteristic.isEmpty()) { VolumeControlTypeEnum type; if (volumeCharacteristic.isPresent()) { type = VolumeControlTypeEnum.ABSOLUTE; diff --git a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/NetworkUtils.java b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/NetworkUtils.java index f2c42fcd2..bc99d6b6e 100644 --- a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/NetworkUtils.java +++ b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/NetworkUtils.java @@ -17,8 +17,8 @@ import java.net.NetworkInterface; import java.net.SocketException; import java.nio.charset.StandardCharsets; import java.util.ArrayList; -import java.util.Collections; import java.util.List; +import java.util.Set; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.ResponseBuilder; @@ -95,7 +95,7 @@ public class NetworkUtils { public static Response singleError(Gson gson, UriInfo uri, int type, @Nullable String message) { HueResponse e = new HueResponse( new HueErrorMessage(type, uri.getPath().replace("/api", ""), message != null ? message : "")); - String str = gson.toJson(Collections.singleton(e), new TypeToken>() { + String str = gson.toJson(Set.of(e), new TypeToken>() { }.getType()); int httpCode = 500; switch (type) { diff --git a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/ConfigurationAccess.java b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/ConfigurationAccess.java index bace57fed..392b9bda9 100644 --- a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/ConfigurationAccess.java +++ b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/ConfigurationAccess.java @@ -12,8 +12,8 @@ */ package org.openhab.io.hueemulation.internal.rest; -import java.util.Collections; import java.util.List; +import java.util.Set; import javax.ws.rs.GET; import javax.ws.rs.PUT; @@ -132,7 +132,7 @@ public class ConfigurationAccess { public Response catchAll(@Context UriInfo uri) { HueResponse e = new HueResponse( new HueErrorMessage(HueResponse.INVALID_JSON, uri.getPath().replace("/api", ""), "Invalid request: ")); - String str = cs.gson.toJson(Collections.singleton(e), new TypeToken>() { + String str = cs.gson.toJson(Set.of(e), new TypeToken>() { }.getType()); return Response.status(404).entity(str).build(); } diff --git a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/Scenes.java b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/Scenes.java index 7f72a6b3f..2081e4a19 100644 --- a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/Scenes.java +++ b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/Scenes.java @@ -14,7 +14,6 @@ package org.openhab.io.hueemulation.internal.rest; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Objects; @@ -358,8 +357,7 @@ public class Scenes implements RegistryChangeListener { if (groupItem == null) { return NetworkUtils.singleError(cs.gson, uri, HueResponse.ARGUMENTS_INVALID, "Group does not exist!"); } - List actions = Collections - .singletonList(actionFromState(cs.mapItemUIDtoHueID(groupItem), groupItem.getState())); + List actions = List.of(actionFromState(cs.mapItemUIDtoHueID(groupItem), groupItem.getState())); builder.withActions(actions); } diff --git a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/UserManagement.java b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/UserManagement.java index 750116f78..29e973c50 100644 --- a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/UserManagement.java +++ b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/UserManagement.java @@ -14,8 +14,8 @@ package org.openhab.io.hueemulation.internal.rest; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import java.util.Collections; import java.util.List; +import java.util.Set; import java.util.UUID; import javax.ws.rs.DELETE; @@ -172,7 +172,7 @@ public class UserManagement extends DefaultAbstractManagedProvider>() { + String result = cs.gson.toJson(Set.of(new HueResponse(h)), new TypeToken>() { }.getType()); return Response.ok(result).build(); diff --git a/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/CommonSetup.java b/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/CommonSetup.java index 5a62abdf8..4b8599035 100644 --- a/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/CommonSetup.java +++ b/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/CommonSetup.java @@ -19,9 +19,10 @@ import java.io.IOException; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.net.URI; -import java.util.Collections; import java.util.Dictionary; import java.util.Hashtable; +import java.util.Map; +import java.util.Set; import java.util.concurrent.ExecutionException; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeoutException; @@ -126,10 +127,10 @@ public class CommonSetup { } else { cs = new ConfigStoreWithoutMetadata(networkAddressService, configAdmin, scheduler); } - cs.activate(Collections.singletonMap("uuid", "a668dc9b-7172-49c3-832f-acb07dda2a20")); - cs.switchFilter = Collections.singleton("Switchable"); - cs.whiteFilter = Collections.singleton("Switchable"); - cs.colorFilter = Collections.singleton("ColorLighting"); + cs.activate(Map.of("uuid", "a668dc9b-7172-49c3-832f-acb07dda2a20")); + cs.switchFilter = Set.of("Switchable"); + cs.whiteFilter = Set.of("Switchable"); + cs.colorFilter = Set.of("ColorLighting"); userManagement = Mockito.spy(new UserManagement(storageService, cs)); diff --git a/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/ItemUIDtoHueIDMappingTests.java b/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/ItemUIDtoHueIDMappingTests.java index baf73902a..74de2c911 100644 --- a/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/ItemUIDtoHueIDMappingTests.java +++ b/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/ItemUIDtoHueIDMappingTests.java @@ -17,7 +17,7 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.mockito.Mockito.mock; import java.io.IOException; -import java.util.Collections; +import java.util.Map; import java.util.concurrent.ScheduledExecutorService; import org.eclipse.jdt.annotation.NonNullByDefault; @@ -73,7 +73,7 @@ public class ItemUIDtoHueIDMappingTests { // Pretend there is a metadata entry for the imaginary item "demo1" with hueid 10 commonSetup.metadataRegistry.add(new Metadata(new MetadataKey(ConfigStore.METAKEY, "demo1"), "10", null)); - cs.activate(Collections.singletonMap("uuid", "demouuid")); + cs.activate(Map.of("uuid", "demouuid")); assertThat(cs.getHighestAssignedHueID(), CoreMatchers.is(10)); } diff --git a/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/ScheduleTests.java b/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/ScheduleTests.java index 4f06c214d..5cfb89df8 100644 --- a/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/ScheduleTests.java +++ b/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/ScheduleTests.java @@ -20,7 +20,7 @@ import static org.mockito.Mockito.*; import java.io.IOException; import java.lang.reflect.Type; -import java.util.Collections; +import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Random; @@ -341,7 +341,7 @@ public class ScheduleTests { configuration.put("time", "12:12:00"); trigger = TriggerBuilder.create().withId("absolutetrigger").withTypeUID("timer.AbsoluteDateTimeTrigger") .withConfiguration(configuration).build(); - timeString = RuleUtils.timeStringFromTrigger(Collections.singletonList(trigger)); + timeString = RuleUtils.timeStringFromTrigger(List.of(trigger)); assertThat(timeString, is("2020-02-01T12:12:00")); @@ -352,7 +352,7 @@ public class ScheduleTests { configuration.put("randomizeTime", "14:12:34"); trigger = TriggerBuilder.create().withId("absolutetrigger").withTypeUID("timer.AbsoluteDateTimeTrigger") .withConfiguration(configuration).build(); - timeString = RuleUtils.timeStringFromTrigger(Collections.singletonList(trigger)); + timeString = RuleUtils.timeStringFromTrigger(List.of(trigger)); assertThat(timeString, is("2020-02-01T12:12:00A14:12:34")); @@ -362,7 +362,7 @@ public class ScheduleTests { configuration.put("cronExpression", "15 12 * * 6,7"); trigger = TriggerBuilder.create().withId("crontrigger").withTypeUID("timer.GenericCronTrigger") .withConfiguration(configuration).build(); - timeString = RuleUtils.timeStringFromTrigger(Collections.singletonList(trigger)); + timeString = RuleUtils.timeStringFromTrigger(List.of(trigger)); assertThat(timeString, is("W3/T12:15:00")); @@ -371,7 +371,7 @@ public class ScheduleTests { configuration.put("cronExpression", "15 14 * * 1,2,3,4,5,6,7"); trigger = TriggerBuilder.create().withId("crontrigger").withTypeUID("timer.GenericCronTrigger") .withConfiguration(configuration).build(); - timeString = RuleUtils.timeStringFromTrigger(Collections.singletonList(trigger)); + timeString = RuleUtils.timeStringFromTrigger(List.of(trigger)); assertThat(timeString, is("W127/T14:15:00")); @@ -380,7 +380,7 @@ public class ScheduleTests { configuration.put("time", "12:12:00"); trigger = TriggerBuilder.create().withId("timertrigger").withTypeUID("timer.TimerTrigger") .withConfiguration(configuration).build(); - timeString = RuleUtils.timeStringFromTrigger(Collections.singletonList(trigger)); + timeString = RuleUtils.timeStringFromTrigger(List.of(trigger)); assertThat(timeString, is("PT12:12:00")); @@ -390,7 +390,7 @@ public class ScheduleTests { configuration.put("randomizeTime", "14:12:34"); trigger = TriggerBuilder.create().withId("timertrigger").withTypeUID("timer.TimerTrigger") .withConfiguration(configuration).build(); - timeString = RuleUtils.timeStringFromTrigger(Collections.singletonList(trigger)); + timeString = RuleUtils.timeStringFromTrigger(List.of(trigger)); assertThat(timeString, is("PT12:12:00A14:12:34")); @@ -400,7 +400,7 @@ public class ScheduleTests { configuration.put("repeat", -1); trigger = TriggerBuilder.create().withId("timertrigger").withTypeUID("timer.TimerTrigger") .withConfiguration(configuration).build(); - timeString = RuleUtils.timeStringFromTrigger(Collections.singletonList(trigger)); + timeString = RuleUtils.timeStringFromTrigger(List.of(trigger)); assertThat(timeString, is("R/PT12:12:00")); @@ -411,7 +411,7 @@ public class ScheduleTests { configuration.put("repeat", 12); trigger = TriggerBuilder.create().withId("timertrigger").withTypeUID("timer.TimerTrigger") .withConfiguration(configuration).build(); - timeString = RuleUtils.timeStringFromTrigger(Collections.singletonList(trigger)); + timeString = RuleUtils.timeStringFromTrigger(List.of(trigger)); assertThat(timeString, is("R12/PT12:12:00A14:12:34")); } diff --git a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/NeeoService.java b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/NeeoService.java index 92cefbdc4..d50e03e1c 100644 --- a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/NeeoService.java +++ b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/NeeoService.java @@ -407,7 +407,7 @@ public class NeeoService implements EventSubscriber, NetworkAddressChangeListene */ @Override public Set getSubscribedEventTypes() { - return Collections.singleton(ItemStateChangedEvent.TYPE); + return Set.of(ItemStateChangedEvent.TYPE); } @Override diff --git a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/NeeoItemValueConverter.java b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/NeeoItemValueConverter.java index 45267d9fa..d5d6c9408 100644 --- a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/NeeoItemValueConverter.java +++ b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/NeeoItemValueConverter.java @@ -80,8 +80,7 @@ public class NeeoItemValueConverter { final String format = channel.getValue(); // HSBType must be done before the others since it inherits from DecimalType - if (state instanceof HSBType) { - final HSBType hsb = (HSBType) state; + if (state instanceof HSBType hsb) { switch (channel.getSubType()) { case HUE: return new NeeoItemValue(hsb.getHue().toBigDecimal()); @@ -106,8 +105,8 @@ public class NeeoItemValueConverter { convertedState = UnDefType.UNDEF; break; case SLIDER: - if (state instanceof PercentType) { - convertedState = new DecimalType(((PercentType) state).toBigDecimal()); + if (state instanceof PercentType type) { + convertedState = new DecimalType(type.toBigDecimal()); } else { convertedState = state.as(DecimalType.class); } @@ -136,9 +135,9 @@ public class NeeoItemValueConverter { } else if (convertedState instanceof UpDownType) { return new NeeoItemValue(convertedState == UpDownType.UP); - } else if (convertedState instanceof DecimalType) { + } else if (convertedState instanceof DecimalType type) { if (format == null || format.isEmpty() || channel.getType() == NeeoCapabilityType.SLIDER) { - return new NeeoItemValue(((DecimalType) convertedState).toBigDecimal()); + return new NeeoItemValue(type.toBigDecimal()); } } else if (convertedState instanceof UnDefType) { return new NeeoItemValue("-"); diff --git a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/serialization/NeeoBrainDeviceSerializer.java b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/serialization/NeeoBrainDeviceSerializer.java index 7896b3782..35aef7ba0 100644 --- a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/serialization/NeeoBrainDeviceSerializer.java +++ b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/serialization/NeeoBrainDeviceSerializer.java @@ -203,8 +203,7 @@ public class NeeoBrainDeviceSerializer implements JsonSerializer { compPath + "/textlabel/actor", new JsonPrimitive(sensorItemName)); capObj.addProperty("isLabelVisible", - channel instanceof NeeoDeviceChannelText ? ((NeeoDeviceChannelText) channel).isLabelVisible() - : true); + channel instanceof NeeoDeviceChannelText ndct ? ndct.isLabelVisible() : true); capabilities.add(capObj); diff --git a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/serialization/NeeoDeviceChannelSerializer.java b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/serialization/NeeoDeviceChannelSerializer.java index c7c043860..50b5a0633 100644 --- a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/serialization/NeeoDeviceChannelSerializer.java +++ b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/serialization/NeeoDeviceChannelSerializer.java @@ -153,10 +153,10 @@ public class NeeoDeviceChannelSerializer } - if (chnl instanceof NeeoDeviceChannelText) { - jo.addProperty("labelVisible", ((NeeoDeviceChannelText) chnl).isLabelVisible()); - } else if (chnl instanceof NeeoDeviceChannelDirectory) { - jo.add("listItems", jsonContext.serialize(((NeeoDeviceChannelDirectory) chnl).getListItems())); + if (chnl instanceof NeeoDeviceChannelText text) { + jo.addProperty("labelVisible", text.isLabelVisible()); + } else if (chnl instanceof NeeoDeviceChannelDirectory directory) { + jo.add("listItems", jsonContext.serialize(directory.getListItems())); } return jo; diff --git a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/servletservices/NeeoBrainService.java b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/servletservices/NeeoBrainService.java index fc2fb908b..4c01e9ac8 100644 --- a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/servletservices/NeeoBrainService.java +++ b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/servletservices/NeeoBrainService.java @@ -404,10 +404,9 @@ public class NeeoBrainService extends DefaultServletService { } } else { - if (channel instanceof NeeoDeviceChannelDirectory) { + if (channel instanceof NeeoDeviceChannelDirectory directoryChannel) { final NeeoDirectoryRequest discoveryRequest = gson.fromJson(req.getReader(), NeeoDirectoryRequest.class); - final NeeoDeviceChannelDirectory directoryChannel = (NeeoDeviceChannelDirectory) channel; NeeoUtil.write(resp, gson.toJson(new NeeoDirectoryResult(discoveryRequest, directoryChannel))); } else { logger.debug("Channel definition for '{}' not found to directory set value ({})", diff --git a/bundles/org.openhab.io.openhabcloud/src/main/java/org/openhab/io/openhabcloud/internal/CloudClient.java b/bundles/org.openhab.io.openhabcloud/src/main/java/org/openhab/io/openhabcloud/internal/CloudClient.java index 6e2fbc63d..9afe895fe 100644 --- a/bundles/org.openhab.io.openhabcloud/src/main/java/org/openhab/io/openhabcloud/internal/CloudClient.java +++ b/bundles/org.openhab.io.openhabcloud/src/main/java/org/openhab/io/openhabcloud/internal/CloudClient.java @@ -237,8 +237,7 @@ public class CloudClient { })// .on(Manager.EVENT_CONNECT_ERROR, args -> { if (args.length > 0) { - if (args[0] instanceof Exception) { - Exception e = (Exception) args[0]; + if (args[0] instanceof Exception e) { logger.debug( "Error connecting to the openHAB Cloud instance: {} {}. Should reconnect automatically.", e.getClass().getSimpleName(), e.getMessage()); @@ -256,8 +255,8 @@ public class CloudClient { .on(Manager.EVENT_PACKET, args -> { int packetTypeIndex = -1; String type = ""; - if (args.length == 1 && args[0] instanceof Packet) { - packetTypeIndex = ((Packet) args[0]).type; + if (args.length == 1 && args[0] instanceof Packet packet) { + packetTypeIndex = packet.type; if (packetTypeIndex < Parser.types.length) { type = Parser.types[packetTypeIndex]; @@ -282,8 +281,7 @@ public class CloudClient { .on(Socket.EVENT_RECONNECT, args -> logger.debug("Socket.IO re-connected successfully (attempt {})", args[0]))// .on(Socket.EVENT_RECONNECT_ERROR, args -> { - if (args[0] instanceof Exception) { - Exception e = (Exception) args[0]; + if (args[0] instanceof Exception e) { logger.debug("Socket.IO re-connect attempt error: {} {}", e.getClass().getSimpleName(), e.getMessage()); } else { @@ -308,8 +306,7 @@ public class CloudClient { .on(Socket.EVENT_ERROR, args -> { if (CloudClient.this.socket.connected()) { if (args.length > 0) { - if (args[0] instanceof Exception) { - Exception e = (Exception) args[0]; + if (args[0] instanceof Exception e) { logger.warn("Error during communication: {} {}", e.getClass().getSimpleName(), e.getMessage()); } else { @@ -335,8 +332,7 @@ public class CloudClient { long delay = reconnectBackoff.duration(); // Try reconnecting on connection errors if (args.length > 0) { - if (args[0] instanceof Exception) { - Exception e = (Exception) args[0]; + if (args[0] instanceof Exception e) { logger.warn( "Error connecting to the openHAB Cloud instance: {} {}. Reconnecting after {} ms.", e.getClass().getSimpleName(), e.getMessage(), delay); diff --git a/bundles/org.openhab.io.openhabcloud/src/main/java/org/openhab/io/openhabcloud/internal/CloudService.java b/bundles/org.openhab.io.openhabcloud/src/main/java/org/openhab/io/openhabcloud/internal/CloudService.java index 5114ff8bb..31804eadd 100644 --- a/bundles/org.openhab.io.openhabcloud/src/main/java/org/openhab/io/openhabcloud/internal/CloudService.java +++ b/bundles/org.openhab.io.openhabcloud/src/main/java/org/openhab/io/openhabcloud/internal/CloudService.java @@ -211,8 +211,7 @@ public class CloudService implements ActionService, CloudClientListener, EventSu exposedItems = new HashSet<>(); Object expCfg = config.get(CFG_EXPOSE); - if (expCfg instanceof String) { - String value = (String) expCfg; + if (expCfg instanceof String value) { while (value.startsWith("[")) { value = value.substring(1); } @@ -222,8 +221,8 @@ public class CloudService implements ActionService, CloudClientListener, EventSu for (String itemName : Arrays.asList((value).split(","))) { exposedItems.add(itemName.trim()); } - } else if (expCfg instanceof Iterable) { - for (Object entry : ((Iterable) expCfg)) { + } else if (expCfg instanceof Iterable iterable) { + for (Object entry : iterable) { exposedItems.add(entry.toString()); } } diff --git a/bundles/org.openhab.io.openhabcloud/src/main/java/org/openhab/io/openhabcloud/internal/actions/NotificationModuleHandlerFactory.java b/bundles/org.openhab.io.openhabcloud/src/main/java/org/openhab/io/openhabcloud/internal/actions/NotificationModuleHandlerFactory.java index 9bff96a83..76f329064 100644 --- a/bundles/org.openhab.io.openhabcloud/src/main/java/org/openhab/io/openhabcloud/internal/actions/NotificationModuleHandlerFactory.java +++ b/bundles/org.openhab.io.openhabcloud/src/main/java/org/openhab/io/openhabcloud/internal/actions/NotificationModuleHandlerFactory.java @@ -62,17 +62,17 @@ public class NotificationModuleHandlerFactory extends BaseModuleHandlerFactory { @Override protected @Nullable ModuleHandler internalCreate(Module module, String ruleUID) { - if (module instanceof Action) { + if (module instanceof Action action) { switch (module.getTypeUID()) { case SendNotificationActionHandler.TYPE_ID: case SendNotificationActionHandler.EXTENDED_TYPE_ID: - return new SendNotificationActionHandler((Action) module, cloudService); + return new SendNotificationActionHandler(action, cloudService); case SendBroadcastNotificationActionHandler.TYPE_ID: case SendBroadcastNotificationActionHandler.EXTENDED_TYPE_ID: - return new SendBroadcastNotificationActionHandler((Action) module, cloudService); + return new SendBroadcastNotificationActionHandler(action, cloudService); case SendLogNotificationActionHandler.TYPE_ID: case SendLogNotificationActionHandler.EXTENDED_TYPE_ID: - return new SendLogNotificationActionHandler((Action) module, cloudService); + return new SendLogNotificationActionHandler(action, cloudService); default: break; }