]> nmode's Git Repositories - signal-cli/commitdiff
Filter null from db result
authorAsamK <asamk@gmx.de>
Wed, 5 Apr 2023 09:22:43 +0000 (11:22 +0200)
committerAsamK <asamk@gmx.de>
Wed, 5 Apr 2023 09:22:43 +0000 (11:22 +0200)
lib/src/main/java/org/asamk/signal/manager/storage/identities/IdentityKeyStore.java
lib/src/main/java/org/asamk/signal/manager/storage/sessions/SessionStore.java

index 9ae8dda873faeb0b25d9d96f9810ad3a20c7d4c3..b1d89628318c1f5d828f55c639e1e067322844eb 100644 (file)
@@ -15,6 +15,7 @@ import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.Collection;
 import java.util.List;
+import java.util.Objects;
 
 import io.reactivex.rxjava3.core.Observable;
 import io.reactivex.rxjava3.subjects.PublishSubject;
@@ -153,7 +154,9 @@ public class IdentityKeyStore {
                     """
             ).formatted(TABLE_IDENTITY);
             try (final var statement = connection.prepareStatement(sql)) {
-                return Utils.executeQueryForStream(statement, this::getIdentityInfoFromResultSet).toList();
+                return Utils.executeQueryForStream(statement, this::getIdentityInfoFromResultSet)
+                        .filter(Objects::nonNull)
+                        .toList();
             }
         } catch (SQLException e) {
             throw new RuntimeException("Failed read from identity store", e);
index 564df1d0b27883864c67b4f9432cd9217ffc77e2..0f26758315b19a65877a14924dce35f3a8e8e4aa 100644 (file)
@@ -247,7 +247,9 @@ public class SessionStore implements SignalServiceSessionStore {
             try (final var statement = connection.prepareStatement(sql)) {
                 statement.setInt(1, accountIdType);
                 records = Utils.executeQueryForStream(statement,
-                        res -> new Pair<>(getKeyFromResultSet(res), getSessionRecordFromResultSet(res))).toList();
+                                res -> new Pair<>(getKeyFromResultSet(res), getSessionRecordFromResultSet(res)))
+                        .filter(Objects::nonNull)
+                        .toList();
             }
             for (final var record : records) {
                 record.second().archiveCurrentState();
@@ -274,7 +276,9 @@ public class SessionStore implements SignalServiceSessionStore {
                 statement.setInt(1, accountIdType);
                 statement.setBytes(2, serviceId.toByteArray());
                 records = Utils.executeQueryForStream(statement,
-                        res -> new Pair<>(getKeyFromResultSet(res), getSessionRecordFromResultSet(res))).toList();
+                                res -> new Pair<>(getKeyFromResultSet(res), getSessionRecordFromResultSet(res)))
+                        .filter(Objects::nonNull)
+                        .toList();
             }
             for (final var record : records) {
                 record.second().archiveCurrentState();