]> git.basschouten.com Git - openhab-addons.git/commitdiff
[tellstick] Fix NPE (#16869) (#16882)
authorJan Gustafsson <jannegpriv@gmail.com>
Sun, 16 Jun 2024 20:13:54 +0000 (22:13 +0200)
committerGitHub <noreply@github.com>
Sun, 16 Jun 2024 20:13:54 +0000 (22:13 +0200)
Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/local/TelldusLocalBridgeHandler.java
bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/local/TelldusLocalDeviceController.java

index 9dda967ca78552db289512007915e140433dc2b9..8cf7f35f40ad749a34b71171cae778b551f99274 100644 (file)
@@ -111,7 +111,7 @@ public class TelldusLocalBridgeHandler extends BaseBridgeHandler implements Tell
             throws TellstickException, InterruptedException {
         TellstickLocalDevicesDTO newList = controller
                 .callRestMethod(TelldusLocalDeviceController.HTTP_LOCAL_API_DEVICES, TellstickLocalDevicesDTO.class);
-        if (newList.getDevices() != null) {
+        if (newList != null && newList.getDevices() != null) {
             logger.debug("Device list {}", newList.getDevices());
             if (previouslist == null) {
                 for (TellstickLocalDeviceDTO device : newList.getDevices()) {
@@ -167,8 +167,8 @@ public class TelldusLocalBridgeHandler extends BaseBridgeHandler implements Tell
             throws TellstickException, InterruptedException {
         TellstickLocalSensorsDTO newList = controller
                 .callRestMethod(TelldusLocalDeviceController.HTTP_LOCAL_API_SENSORS, TellstickLocalSensorsDTO.class);
-        logger.debug("Updated sensors:{}", newList.getSensors());
-        if (newList.getSensors() != null) {
+        if (newList != null && newList.getSensors() != null) {
+            logger.debug("Updated sensors:{}", newList.getSensors());
             if (previouslist == null) {
                 this.sensorList = newList;
                 for (TellstickLocalSensorDTO sensor : sensorList.getSensors()) {
index a9fd1bb7b14ef1d8d2eee0d9a1591c2d9e29b702..307d20c208de3873cb199dccefe540b5d19de13e 100644 (file)
@@ -18,6 +18,7 @@ import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 
+import org.eclipse.jdt.annotation.Nullable;
 import org.eclipse.jetty.client.HttpClient;
 import org.eclipse.jetty.client.api.ContentResponse;
 import org.eclipse.jetty.client.api.Request;
@@ -249,7 +250,8 @@ public class TelldusLocalDeviceController implements DeviceChangeListener, Senso
         setLastSend(newDevices.getTimestamp());
     }
 
-    <T> T callRestMethod(String uri, Class<T> response) throws TelldusLocalException, InterruptedException {
+    <T> @Nullable T callRestMethod(String uri, Class<T> response) throws TelldusLocalException, InterruptedException {
+        @Nullable
         T resultObj = null;
         try {
             for (int i = 0; i < MAX_RETRIES; i++) {