]> git.basschouten.com Git - openhab-addons.git/commitdiff
[verisure] Fix NPE (#16867) (#16868)
authorJan Gustafsson <jannegpriv@gmail.com>
Sat, 15 Jun 2024 06:27:10 +0000 (08:27 +0200)
committerGitHub <noreply@github.com>
Sat, 15 Jun 2024 06:27:10 +0000 (08:27 +0200)
Signed-off-by: Jan Gustafsson <jannegpriv@gmail.com>
bundles/org.openhab.binding.verisure/src/main/java/org/openhab/binding/verisure/internal/dto/VerisureAlarmsDTO.java

index 16abd3756d5abdc14e84fd4b8e033d7d999fd14b..88b897ff387bb09d36d3322f89f87fa2be50b6ee 100644 (file)
@@ -67,7 +67,7 @@ public class VerisureAlarmsDTO extends VerisureBaseThingDTO {
         private @Nullable String changedVia;
         private boolean allowedForFirstLine;
         private boolean allowed;
-        private List<Object> errorCodes = new ArrayList<>();
+        private @Nullable List<Object> errorCodes = new ArrayList<>();
         private @Nullable String typename;
 
         public @Nullable String getType() {
@@ -102,7 +102,7 @@ public class VerisureAlarmsDTO extends VerisureBaseThingDTO {
             return allowed;
         }
 
-        public List<Object> getErrorCodes() {
+        public @Nullable List<Object> getErrorCodes() {
             return errorCodes;
         }
 
@@ -120,7 +120,7 @@ public class VerisureAlarmsDTO extends VerisureBaseThingDTO {
             result = prime * result + ((localChangedVia == null) ? 0 : localChangedVia.hashCode());
             String localDate = date;
             result = prime * result + ((localDate == null) ? 0 : localDate.hashCode());
-            result = prime * result + errorCodes.hashCode();
+            result = prime * result + ((errorCodes == null) ? 0 : errorCodes.hashCode());
             String localName = name;
             result = prime * result + ((localName == null) ? 0 : localName.hashCode());
             String localStatusType = statusType;
@@ -166,7 +166,11 @@ public class VerisureAlarmsDTO extends VerisureBaseThingDTO {
             } else if (!localdate.equals(other.date)) {
                 return false;
             }
-            if (!errorCodes.equals(other.errorCodes)) {
+            if (this.errorCodes == null) {
+                if (other.errorCodes != null) {
+                    return false;
+                }
+            } else if (this.errorCodes != null && !this.errorCodes.equals(other.errorCodes)) {
                 return false;
             }
             String localName = name;