diff --git a/bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/LcnHandlerFactory.java b/bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/LcnHandlerFactory.java index 5c4e0ffe6..72b02825b 100644 --- a/bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/LcnHandlerFactory.java +++ b/bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/LcnHandlerFactory.java @@ -14,10 +14,7 @@ package org.openhab.binding.lcn.internal; import static org.openhab.binding.lcn.internal.LcnBindingConstants.*; -import java.util.Collections; import java.util.Set; -import java.util.stream.Collectors; -import java.util.stream.Stream; import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; @@ -38,8 +35,8 @@ import org.osgi.service.component.annotations.Component; @NonNullByDefault @Component(configurationPid = "binding.lcn", service = ThingHandlerFactory.class) public class LcnHandlerFactory extends BaseThingHandlerFactory { - private static final Set SUPPORTED_THING_TYPES_UIDS = Collections.unmodifiableSet( - Stream.of(THING_TYPE_PCK_GATEWAY, THING_TYPE_MODULE, THING_TYPE_GROUP).collect(Collectors.toSet())); + private static final Set SUPPORTED_THING_TYPES_UIDS = Set.of(THING_TYPE_PCK_GATEWAY, + THING_TYPE_MODULE, THING_TYPE_GROUP); @Override public boolean supportsThingType(ThingTypeUID thingTypeUID) { diff --git a/bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/LcnModuleDiscoveryService.java b/bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/LcnModuleDiscoveryService.java index 393f040b6..bc3f0d646 100644 --- a/bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/LcnModuleDiscoveryService.java +++ b/bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/LcnModuleDiscoveryService.java @@ -12,7 +12,6 @@ */ package org.openhab.binding.lcn.internal; -import java.util.Collections; import java.util.HashMap; import java.util.LinkedList; import java.util.List; @@ -25,8 +24,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; -import java.util.stream.Collectors; -import java.util.stream.Stream; import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; @@ -69,8 +66,7 @@ public class LcnModuleDiscoveryService extends AbstractDiscoveryService private static final int MODULE_NAME_PART_COUNT = 2; private static final int DISCOVERY_TIMEOUT_SEC = 90; private static final int ACK_TIMEOUT_MS = 1000; - private static final Set SUPPORTED_THING_TYPES_UIDS = Collections - .unmodifiableSet(Stream.of(LcnBindingConstants.THING_TYPE_MODULE).collect(Collectors.toSet())); + private static final Set SUPPORTED_THING_TYPES_UIDS = Set.of(LcnBindingConstants.THING_TYPE_MODULE); private @Nullable PckGatewayHandler bridgeHandler; private final Map> moduleNames = new HashMap<>(); private final Map discoveryResultBuilders = new ConcurrentHashMap<>(); diff --git a/bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/LcnModuleHandler.java b/bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/LcnModuleHandler.java index 8b5a2a7af..e8122132e 100644 --- a/bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/LcnModuleHandler.java +++ b/bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/LcnModuleHandler.java @@ -157,7 +157,6 @@ public class LcnModuleHandler extends BaseThingHandler { * * @throws LcnException when the handler is not initialized */ - @SuppressWarnings("null") protected void requestFirmwareVersionAndSerialNumberIfNotSet() throws LcnException { String serialNumber = getThing().getProperties().get(Thing.PROPERTY_SERIAL_NUMBER); if (serialNumber == null || serialNumber.isEmpty()) { @@ -241,7 +240,6 @@ public class LcnModuleHandler extends BaseThingHandler { * * @param pck the message without line termination */ - @SuppressWarnings("null") public void handleStatusMessage(String pck) { for (AbstractLcnModuleSubHandler handler : subHandlers.values()) { if (handler.tryParse(pck)) { diff --git a/bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/connection/AbstractStateMachine.java b/bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/connection/AbstractStateMachine.java index 1d1c87941..3a60c507e 100644 --- a/bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/connection/AbstractStateMachine.java +++ b/bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/connection/AbstractStateMachine.java @@ -55,7 +55,7 @@ public abstract class AbstractStateMachine, state = newState; - state.startWorking(); + newState.startWorking(); } protected boolean isStateActive(AbstractState otherState) { diff --git a/bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/connection/Connection.java b/bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/connection/Connection.java index b53fd4a43..5d46f4cce 100644 --- a/bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/connection/Connection.java +++ b/bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/connection/Connection.java @@ -21,7 +21,13 @@ import java.nio.channels.Channel; import java.nio.channels.CompletionHandler; import java.time.Instant; import java.time.temporal.ChronoUnit; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Queue; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ScheduledExecutorService; @@ -133,7 +139,10 @@ public class Connection { public void onAck(LcnAddrMod addr, int code) { synchronized (modData) { if (modData.containsKey(addr)) { - modData.get(addr).onAck(code, this, this.settings.getTimeout(), System.nanoTime()); + ModInfo modInfo = modData.get(addr); + if (modInfo != null) { + modInfo.onAck(code, this, this.settings.getTimeout(), System.nanoTime()); + } } } } diff --git a/bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/pchkdiscovery/LcnPchkDiscoveryService.java b/bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/pchkdiscovery/LcnPchkDiscoveryService.java index e13ecc1d2..1780e327a 100644 --- a/bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/pchkdiscovery/LcnPchkDiscoveryService.java +++ b/bundles/org.openhab.binding.lcn/src/main/java/org/openhab/binding/lcn/internal/pchkdiscovery/LcnPchkDiscoveryService.java @@ -25,8 +25,6 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.stream.Collectors; -import java.util.stream.Stream; import org.eclipse.jdt.annotation.NonNullByDefault; import org.openhab.binding.lcn.internal.LcnBindingConstants; @@ -63,8 +61,8 @@ public class LcnPchkDiscoveryService extends AbstractDiscoveryService { private static final String PCHK_DISCOVERY_MULTICAST_ADDRESS = "234.5.6.7"; private static final int PCHK_DISCOVERY_PORT = 4220; private static final int INTERFACE_TIMEOUT_SEC = 2; - private static final Set SUPPORTED_THING_TYPES_UIDS = Collections - .unmodifiableSet(Stream.of(LcnBindingConstants.THING_TYPE_PCK_GATEWAY).collect(Collectors.toSet())); + private static final Set SUPPORTED_THING_TYPES_UIDS = Set + .of(LcnBindingConstants.THING_TYPE_PCK_GATEWAY); private static final String DISCOVER_REQUEST = "openHAB"; public LcnPchkDiscoveryService() throws IllegalArgumentException { diff --git a/bundles/org.openhab.binding.lcn/src/test/java/org/openhab/binding/lcn/internal/subhandler/AbstractTestLcnModuleSubHandler.java b/bundles/org.openhab.binding.lcn/src/test/java/org/openhab/binding/lcn/internal/subhandler/AbstractTestLcnModuleSubHandler.java index ad7f5ccf0..fd8abd27a 100644 --- a/bundles/org.openhab.binding.lcn/src/test/java/org/openhab/binding/lcn/internal/subhandler/AbstractTestLcnModuleSubHandler.java +++ b/bundles/org.openhab.binding.lcn/src/test/java/org/openhab/binding/lcn/internal/subhandler/AbstractTestLcnModuleSubHandler.java @@ -29,7 +29,7 @@ import org.openhab.binding.lcn.internal.connection.ModInfo; * @author Fabian Wolter - Initial contribution */ @ExtendWith(MockitoExtension.class) -@MockitoSettings(strictness = Strictness.WARN) +@MockitoSettings(strictness = Strictness.LENIENT) @NonNullByDefault public class AbstractTestLcnModuleSubHandler {