]> git.basschouten.com Git - openhab-addons.git/commitdiff
Upgrade SAT plugin to 0.16.0 (#16582)
authorHolger Friedrich <mail@holger-friedrich.de>
Sun, 31 Mar 2024 08:43:44 +0000 (10:43 +0200)
committerGitHub <noreply@github.com>
Sun, 31 Mar 2024 08:43:44 +0000 (10:43 +0200)
Modify code which leads to build error with new version of SpotBugs.

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
bundles/org.openhab.binding.bluetooth.govee/src/main/java/org/openhab/binding/bluetooth/gattserial/GattSocket.java
bundles/org.openhab.binding.bluetooth.govee/src/test/java/org/openhab/binding/bluetooth/govee/internal/readme/ThingTypeTableGenerator.java
bundles/org.openhab.binding.freeboxos/src/main/java/org/openhab/binding/freeboxos/internal/api/rest/HomeManager.java
bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/connection/Clip2Bridge.java
bundles/org.openhab.binding.mqtt.generic/src/test/java/org/openhab/binding/mqtt/generic/mapping/MqttTopicClassMapperTests.java
bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/discovery/ObjectPropertyRequest.java
bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/AbstractRioHandlerCallback.java
bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/RemoteControllerLegacy.java
bundles/org.openhab.binding.spotify/src/main/java/org/openhab/binding/spotify/internal/handler/SpotifyDynamicStateDescriptionProvider.java
bundles/org.openhab.binding.verisure/src/main/java/org/openhab/binding/verisure/internal/handler/VerisureThingHandler.java
pom.xml

index d65b8d57f76d515c27641dca3e28d1551b676cbf..d8ed64c150ccbc3fb093587d7f92d618d575f77b 100644 (file)
@@ -24,6 +24,7 @@ import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import java.util.function.Consumer;
 
+import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.NonNullByDefault;
 import org.eclipse.jdt.annotation.Nullable;
 
@@ -38,14 +39,14 @@ public abstract class GattSocket<T extends GattMessage, R extends GattMessage> {
 
     private final Deque<MessageProcessor> messageProcessors = new ConcurrentLinkedDeque<>();
 
-    public void registerMessageHandler(MessageHandler<T, R> messageHandler) {
+    public void registerMessageHandler(MessageHandler<@NonNull T, @NonNull R> messageHandler) {
         // we need to use a dummy future since ConcurrentHashMap doesn't allow null values
         messageProcessors.addFirst(new MessageProcessor(messageHandler, COMPLETED_FUTURE));
     }
 
     protected abstract ScheduledExecutorService getScheduler();
 
-    public void sendMessage(MessageServicer<T, R> messageServicer) {
+    public void sendMessage(MessageServicer<@NonNull T, @NonNull R> messageServicer) {
         T message = messageServicer.createMessage();
 
         CompletableFuture<@Nullable Void> messageFuture = sendMessage(message);
@@ -106,10 +107,10 @@ public abstract class GattSocket<T extends GattMessage, R extends GattMessage> {
     }
 
     private class MessageProcessor {
-        private MessageHandler<T, R> messageHandler;
+        private MessageHandler<@NonNull T, @NonNull R> messageHandler;
         private Future<?> timeoutFuture;
 
-        public MessageProcessor(MessageHandler<T, R> messageHandler, Future<?> timeoutFuture) {
+        public MessageProcessor(MessageHandler<@NonNull T, @NonNull R> messageHandler, Future<?> timeoutFuture) {
             this.messageHandler = messageHandler;
             this.timeoutFuture = timeoutFuture;
         }
index 691fe45e73c1467a3418aa3ee9dc386892d5abcb..5a51fbf7fa6fa52c035378251ce3ae744c895db5 100644 (file)
@@ -79,7 +79,7 @@ public class ThingTypeTableGenerator {
         // write actual rows
         rows.forEach(row -> {
             writer.append(writeRow(maxColumns, row, ' ')).append('\n');
-            if (row == headerRow) {
+            if (headerRow.equals(row)) {
                 writer.append(writeRow(maxColumns, new String[] { "", "", "" }, '-')).append('\n');
             }
         });
index 4c5d226b1a7aa066019cb06eecf019b390bc698a..2170a2fbdc5a3d78a09fde9cbc0fc1a83c88bce3 100644 (file)
@@ -17,6 +17,7 @@ import static org.openhab.binding.freeboxos.internal.FreeboxOsBindingConstants.B
 import java.util.List;
 import java.util.Map;
 
+import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.NonNullByDefault;
 import org.eclipse.jdt.annotation.Nullable;
 import org.openhab.binding.freeboxos.internal.api.FreeboxException;
@@ -167,7 +168,8 @@ public class HomeManager extends RestManager {
     }
 
     public <T> boolean putCommand(int nodeId, int stateSignalId, T value) throws FreeboxException {
-        put(new EndpointValue<>(value), ENDPOINTS_PATH, String.valueOf(nodeId), String.valueOf(stateSignalId));
+        put(new EndpointValue<@NonNull T>(value), ENDPOINTS_PATH, String.valueOf(nodeId),
+                String.valueOf(stateSignalId));
         return true;
     }
 }
index 2baf35ded7f8abfa58f621537873275ef23fb20e..69d7fa67caa21a3e844bd1ec0c2bff1ac2dfcc62 100644 (file)
@@ -396,7 +396,7 @@ public class Clip2Bridge implements Closeable {
         @Override
         public void onGoAway(@Nullable Session session, @Nullable GoAwayFrame frame) {
             Objects.requireNonNull(session);
-            if (http2Session == session) {
+            if (session.equals(http2Session)) {
                 Thread recreateThread = new Thread(() -> recreateSession());
                 Clip2Bridge.this.recreateThread = recreateThread;
                 recreateThread.start();
@@ -412,7 +412,7 @@ public class Clip2Bridge implements Closeable {
         public void onPing(@Nullable Session session, @Nullable PingFrame frame) {
             Objects.requireNonNull(session);
             Objects.requireNonNull(frame);
-            if (http2Session == session) {
+            if (session.equals(http2Session)) {
                 checkAliveOk();
                 if (!frame.isReply()) {
                     session.ping(new PingFrame(true), Callback.NOOP);
index 65c5e3ae2a814e06da9a1446a5883774b4b8f62b..e0fe4edc705317c77426d800c153217787eed1f2 100644 (file)
@@ -221,8 +221,8 @@ public class MqttTopicClassMapperTests {
                 "homie/device123", fieldChangedObserverMock, 10);
         assertThat(future.isDone(), is(true));
 
-        SubscribeFieldToMQTTtopic field = attributes.subscriptions.stream().filter(f -> f.field.getName() == "state")
-                .findFirst().get();
+        SubscribeFieldToMQTTtopic field = attributes.subscriptions.stream()
+                .filter(f -> "state".equals(f.field.getName())).findFirst().get();
         field.processMessage(field.topic, "garbage".getBytes());
         verify(fieldChangedObserverMock, times(0)).attributeChanged(any(), any(), any(), any(), anyBoolean());
         assertThat(attributes.state.toString(), is("unknown"));
index 89c6f1d190cd6eb1b7f2f8f7fd588e34f5bfa013..fe5aec83416b40d718d992eede3bcc6aa8a20a5c 100644 (file)
@@ -16,6 +16,7 @@ import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 
+import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.NonNullByDefault;
 import org.openhab.binding.omnilink.internal.exceptions.BridgeOfflineException;
 import org.openhab.binding.omnilink.internal.handler.OmnilinkBridgeHandler;
@@ -42,14 +43,14 @@ public class ObjectPropertyRequest<T extends ObjectProperties> implements Iterab
     }
 
     private final OmnilinkBridgeHandler bridgeHandler;
-    private final ObjectPropertyRequests<T> request;
+    private final ObjectPropertyRequests<@NonNull T> request;
     private final int objectNumber;
     private final int filter1;
     private final int filter2;
     private final int filter3;
     private final int offset;
 
-    private ObjectPropertyRequest(OmnilinkBridgeHandler bridgeHandler, ObjectPropertyRequests<T> request,
+    private ObjectPropertyRequest(OmnilinkBridgeHandler bridgeHandler, ObjectPropertyRequests<@NonNull T> request,
             int objectNumber, int filter1, int filter2, int filter3, int offset) {
         this.bridgeHandler = bridgeHandler;
         this.request = request;
index b0a9fa7218132275d951c555031a7f05d5116ada..41b95d548e750c7a366510a5a48b55f0c322aeea 100644 (file)
@@ -40,7 +40,7 @@ public abstract class AbstractRioHandlerCallback implements RioHandlerCallback {
     @Override
     public void removeListener(String channelId, RioHandlerCallbackListener listener) {
         for (ListenerState listenerState : listeners) {
-            if (listenerState.channelId.equals(channelId) && listenerState.listener == listener) {
+            if (listenerState.channelId.equals(channelId) && listener.equals(listenerState.listener)) {
                 listeners.remove(listenerState);
             }
         }
index 3d18cc7dbbc9b991bee8811803d61e3fabe7b0b6..1af64dd31c6d31edf98dfed3e82752dbe5252856 100644 (file)
@@ -285,7 +285,7 @@ public class RemoteControllerLegacy extends RemoteController {
 
     @Override
     public boolean isConnected() {
-        return socket != null && !socket.isClosed() && socket != null && socket.isConnected();
+        return socket != null && !socket.isClosed() && socket.isConnected();
     }
 
     private String createRegistrationPayload(String ip) throws IOException {
index d9355d040b9f9a72d8ef6603d8d21c84ed724d3f..370dea7781aa5e0a2decfcdf8ce8749b7df202d0 100644 (file)
@@ -15,6 +15,7 @@ package org.openhab.binding.spotify.internal.handler;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 import org.eclipse.jdt.annotation.NonNullByDefault;
@@ -41,9 +42,9 @@ public class SpotifyDynamicStateDescriptionProvider extends BaseDynamicStateDesc
     public void setDevices(ChannelUID channelUID, List<Device> spotifyDevices) {
         final List<Device> devices = devicesByChannel.get(channelUID);
 
-        if (devices == null || (spotifyDevices.size() != devices.size()
-                || !spotifyDevices.stream().allMatch(sd -> devices.stream().anyMatch(
-                        d -> sd.getId() == d.getId() && d.getName() != null && d.getName().equals(sd.getName()))))) {
+        if (devices == null || (spotifyDevices.size() != devices.size() || !spotifyDevices.stream()
+                .allMatch(sd -> devices.stream().anyMatch(d -> Objects.equals(sd.getId(), d.getId())
+                        && d.getName() != null && d.getName().equals(sd.getName()))))) {
             devicesByChannel.put(channelUID, spotifyDevices);
             setStateOptions(channelUID, spotifyDevices.stream()
                     .map(device -> new StateOption(device.getId(), device.getName())).collect(Collectors.toList()));
index 2fd70a94447c7cb567e306584024f1cb2532b5ab..3163c84ca1fd565b009da820387a9ecc626d7bdb 100644 (file)
@@ -20,6 +20,7 @@ import java.time.ZonedDateTime;
 import java.util.ArrayList;
 import java.util.concurrent.TimeUnit;
 
+import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.NonNullByDefault;
 import org.eclipse.jdt.annotation.Nullable;
 import org.openhab.binding.verisure.internal.DeviceStatusListener;
@@ -51,7 +52,7 @@ import com.google.gson.Gson;
  *
  */
 @NonNullByDefault
-public abstract class VerisureThingHandler<T extends VerisureThingDTO> extends BaseThingHandler
+public abstract class VerisureThingHandler<@NonNull T extends VerisureThingDTO> extends BaseThingHandler
         implements DeviceStatusListener<T> {
 
     protected final Logger logger = LoggerFactory.getLogger(VerisureThingHandler.class);
diff --git a/pom.xml b/pom.xml
index 55c0ef82c961e2946b92e7fa9bba41ae6ab06c94..f9f62e97e87fc66f1cb61a482776128821d784a5 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -80,7 +80,7 @@
     <okio.version>3.9.0</okio.version>
     <gson.version>2.9.1</gson.version>
     <kotlin.version>1.9.23</kotlin.version>
-    <sat.version>0.15.0</sat.version>
+    <sat.version>0.16.0</sat.version>
     <slf4j.version>2.0.7</slf4j.version>
     <spotless.version>2.38.0</spotless.version>
     <!-- Eclipse Java formatter version 4.26+ does not check test files -->