Browse Source

refactoring

pull/8051/head
dashevchenko 3 years ago
parent
commit
565234f7a1
  1. 8
      dao/src/main/java/org/thingsboard/server/dao/user/UserSettingsServiceImpl.java

8
dao/src/main/java/org/thingsboard/server/dao/user/UserSettingsServiceImpl.java

@ -18,6 +18,7 @@ package org.thingsboard.server.dao.user;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode; import com.fasterxml.jackson.databind.node.ObjectNode;
import com.jayway.jsonpath.DocumentContext;
import com.jayway.jsonpath.JsonPath; import com.jayway.jsonpath.JsonPath;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -86,13 +87,12 @@ public class UserSettingsServiceImpl extends AbstractCachedService<UserId, UserS
log.trace("Executing deleteUserSettings for user [{}]", userId); log.trace("Executing deleteUserSettings for user [{}]", userId);
validateId(userId, INCORRECT_USER_ID + userId); validateId(userId, INCORRECT_USER_ID + userId);
UserSettings userSettings = userSettingsDao.findById(tenantId, userId); UserSettings userSettings = userSettingsDao.findById(tenantId, userId);
ObjectNode settings = (ObjectNode) userSettings.getSettings(); DocumentContext docSettings = JsonPath.parse(userSettings.getSettings().toString());
try { try {
for (String s : jsonPaths) { for (String s : jsonPaths) {
settings = new ObjectMapper().readValue(JsonPath.parse(settings.toString()).delete("$." + s).jsonString(), ObjectNode.class); docSettings = docSettings.delete("$." + s);
userSettings.setSettings(settings);
} }
userSettings.setSettings(new ObjectMapper().readValue(docSettings.jsonString(), ObjectNode.class));
userSettingsDao.save(tenantId, userSettings); userSettingsDao.save(tenantId, userSettings);
publishEvictEvent(new UserSettingsEvictEvent(userSettings.getUserId())); publishEvictEvent(new UserSettingsEvictEvent(userSettings.getUserId()));
} catch (Exception t) { } catch (Exception t) {

Loading…
Cancel
Save