From d3710b411fdec58a2472ef01fb3d692fd7a14b7c Mon Sep 17 00:00:00 2001 From: ViacheslavKlimov Date: Mon, 7 Aug 2023 16:50:10 +0300 Subject: [PATCH] Check user's additionalInfo for nullity --- .../notification/DefaultNotificationSettingsService.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/dao/src/main/java/org/thingsboard/server/dao/notification/DefaultNotificationSettingsService.java b/dao/src/main/java/org/thingsboard/server/dao/notification/DefaultNotificationSettingsService.java index cec5a91db5..805cc31571 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/notification/DefaultNotificationSettingsService.java +++ b/dao/src/main/java/org/thingsboard/server/dao/notification/DefaultNotificationSettingsService.java @@ -54,8 +54,6 @@ import java.util.List; import java.util.Map; import java.util.Optional; -import static java.util.function.Predicate.not; - @Service @RequiredArgsConstructor public class DefaultNotificationSettingsService implements NotificationSettingsService { @@ -107,8 +105,8 @@ public class DefaultNotificationSettingsService implements NotificationSettingsS @Override public UserNotificationSettings getUserNotificationSettings(TenantId tenantId, User user, boolean format) { - UserNotificationSettings settings = Optional.ofNullable(user.getAdditionalInfo().get(USER_SETTINGS_KEY)) - .filter(not(JsonNode::isNull)) + UserNotificationSettings settings = Optional.ofNullable(user.getAdditionalInfo()) + .filter(JsonNode::isObject).map(info -> info.get(USER_SETTINGS_KEY)).filter(JsonNode::isObject) .map(json -> JacksonUtil.treeToValue(json, UserNotificationSettings.class)) .orElse(UserNotificationSettings.DEFAULT); if (format) {