From 42bf3c21551fdb338fa7b793990ba8a4d95eb742 Mon Sep 17 00:00:00 2001 From: Volodymyr Babak Date: Fri, 23 Sep 2022 11:39:28 +0300 Subject: [PATCH] Code clean up to be in sync with PE --- .../fetch/AdminSettingsEdgeEventFetcher.java | 14 +++++------ .../DefaultTbNotificationEntityService.java | 2 ++ .../server/edge/BaseDeviceEdgeTest.java | 4 --- .../server/edge/BaseRelationEdgeTest.java | 2 -- .../server/edge/BaseRuleChainEdgeTest.java | 6 ----- .../server/edge/BaseUserEdgeTest.java | 25 +++++++++++++++++++ 6 files changed, 33 insertions(+), 20 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/fetch/AdminSettingsEdgeEventFetcher.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/fetch/AdminSettingsEdgeEventFetcher.java index 3ebfb6115e..b7c30fde64 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/fetch/AdminSettingsEdgeEventFetcher.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/fetch/AdminSettingsEdgeEventFetcher.java @@ -17,13 +17,13 @@ package org.thingsboard.server.service.edge.rpc.fetch; import com.datastax.oss.driver.api.core.uuid.Uuids; import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; import freemarker.template.Configuration; import freemarker.template.Template; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.text.WordUtils; +import org.thingsboard.common.util.JacksonUtil; import org.thingsboard.server.common.data.AdminSettings; import org.thingsboard.server.common.data.EdgeUtils; import org.thingsboard.server.common.data.StringUtils; @@ -49,8 +49,6 @@ import java.util.regex.Pattern; @Slf4j public class AdminSettingsEdgeEventFetcher implements EdgeEventFetcher { - private static final ObjectMapper mapper = new ObjectMapper(); - private final AdminSettingsService adminSettingsService; private final Configuration freemarkerConfig; @@ -81,19 +79,19 @@ public class AdminSettingsEdgeEventFetcher implements EdgeEventFetcher { AdminSettings systemMailSettings = adminSettingsService.findAdminSettingsByKey(TenantId.SYS_TENANT_ID, "mail"); result.add(EdgeUtils.constructEdgeEvent(tenantId, edge.getId(), EdgeEventType.ADMIN_SETTINGS, - EdgeEventActionType.UPDATED, null, mapper.valueToTree(systemMailSettings))); + EdgeEventActionType.UPDATED, null, JacksonUtil.OBJECT_MAPPER.valueToTree(systemMailSettings))); AdminSettings tenantMailSettings = convertToTenantAdminSettings(tenantId, systemMailSettings.getKey(), (ObjectNode) systemMailSettings.getJsonValue()); result.add(EdgeUtils.constructEdgeEvent(tenantId, edge.getId(), EdgeEventType.ADMIN_SETTINGS, - EdgeEventActionType.UPDATED, null, mapper.valueToTree(tenantMailSettings))); + EdgeEventActionType.UPDATED, null, JacksonUtil.OBJECT_MAPPER.valueToTree(tenantMailSettings))); AdminSettings systemMailTemplates = loadMailTemplates(); result.add(EdgeUtils.constructEdgeEvent(tenantId, edge.getId(), EdgeEventType.ADMIN_SETTINGS, - EdgeEventActionType.UPDATED, null, mapper.valueToTree(systemMailTemplates))); + EdgeEventActionType.UPDATED, null, JacksonUtil.OBJECT_MAPPER.valueToTree(systemMailTemplates))); AdminSettings tenantMailTemplates = convertToTenantAdminSettings(tenantId, systemMailTemplates.getKey(), (ObjectNode) systemMailTemplates.getJsonValue()); result.add(EdgeUtils.constructEdgeEvent(tenantId, edge.getId(), EdgeEventType.ADMIN_SETTINGS, - EdgeEventActionType.UPDATED, null, mapper.valueToTree(tenantMailTemplates))); + EdgeEventActionType.UPDATED, null, JacksonUtil.OBJECT_MAPPER.valueToTree(tenantMailTemplates))); // return PageData object to be in sync with other fetchers return new PageData<>(result, 1, result.size(), false); @@ -116,7 +114,7 @@ public class AdminSettingsEdgeEventFetcher implements EdgeEventFetcher { AdminSettings adminSettings = new AdminSettings(); adminSettings.setId(new AdminSettingsId(Uuids.timeBased())); adminSettings.setKey("mailTemplates"); - adminSettings.setJsonValue(mapper.convertValue(mailTemplates, JsonNode.class)); + adminSettings.setJsonValue(JacksonUtil.OBJECT_MAPPER.convertValue(mailTemplates, JsonNode.class)); return adminSettings; } diff --git a/application/src/main/java/org/thingsboard/server/service/entitiy/DefaultTbNotificationEntityService.java b/application/src/main/java/org/thingsboard/server/service/entitiy/DefaultTbNotificationEntityService.java index f9b8281c46..482dfac846 100644 --- a/application/src/main/java/org/thingsboard/server/service/entitiy/DefaultTbNotificationEntityService.java +++ b/application/src/main/java/org/thingsboard/server/service/entitiy/DefaultTbNotificationEntityService.java @@ -280,6 +280,8 @@ public class DefaultTbNotificationEntityService implements TbNotificationEntityS for (EdgeId edgeId : edgeIds) { sendNotificationMsgToEdge(tenantId, edgeId, entityId, body, null, EdgeEventActionType.DELETED); } + } else { + sendNotificationMsgToEdge(tenantId, null, entityId, body, null, EdgeEventActionType.DELETED); } } diff --git a/application/src/test/java/org/thingsboard/server/edge/BaseDeviceEdgeTest.java b/application/src/test/java/org/thingsboard/server/edge/BaseDeviceEdgeTest.java index 22951b5b71..72fcc640b5 100644 --- a/application/src/test/java/org/thingsboard/server/edge/BaseDeviceEdgeTest.java +++ b/application/src/test/java/org/thingsboard/server/edge/BaseDeviceEdgeTest.java @@ -146,7 +146,6 @@ abstract public class BaseDeviceEdgeTest extends AbstractEdgeTest { } - @Test public void testUpdateDeviceCredentials() throws Exception { // create device and assign to edge; update device @@ -266,7 +265,6 @@ abstract public class BaseDeviceEdgeTest extends AbstractEdgeTest { Assert.assertTrue(edgeImitator.waitForResponses()); } - @Test public void testSendDeviceCredentialsRequestToCloud() throws Exception { Device device = findDeviceByName("Edge Device 1"); @@ -306,7 +304,6 @@ abstract public class BaseDeviceEdgeTest extends AbstractEdgeTest { "key2", "value2"); } - @Test public void testSendDeleteDeviceOnEdgeToCloud() throws Exception { Device device = saveDeviceOnCloudAndVerifyDeliveryToEdge(); @@ -488,7 +485,6 @@ abstract public class BaseDeviceEdgeTest extends AbstractEdgeTest { Assert.assertEquals("Edge Device 2", device.getName()); } - @Test public void testRpcCall() throws Exception { Device device = findDeviceByName("Edge Device 1"); diff --git a/application/src/test/java/org/thingsboard/server/edge/BaseRelationEdgeTest.java b/application/src/test/java/org/thingsboard/server/edge/BaseRelationEdgeTest.java index 39f6c25f85..d26680a01d 100644 --- a/application/src/test/java/org/thingsboard/server/edge/BaseRelationEdgeTest.java +++ b/application/src/test/java/org/thingsboard/server/edge/BaseRelationEdgeTest.java @@ -87,8 +87,6 @@ abstract public class BaseRelationEdgeTest extends AbstractEdgeTest { Assert.assertEquals(relationUpdateMsg.getTypeGroup(), relation.getTypeGroup().name()); } - - @Test public void testSendRelationToCloud() throws Exception { Device device1 = saveDeviceOnCloudAndVerifyDeliveryToEdge(); diff --git a/application/src/test/java/org/thingsboard/server/edge/BaseRuleChainEdgeTest.java b/application/src/test/java/org/thingsboard/server/edge/BaseRuleChainEdgeTest.java index c5c05cf6d0..712beeb019 100644 --- a/application/src/test/java/org/thingsboard/server/edge/BaseRuleChainEdgeTest.java +++ b/application/src/test/java/org/thingsboard/server/edge/BaseRuleChainEdgeTest.java @@ -15,7 +15,6 @@ */ package org.thingsboard.server.edge; -import com.fasterxml.jackson.databind.ObjectMapper; import com.google.protobuf.AbstractMessage; import org.junit.Assert; import org.junit.Test; @@ -81,7 +80,6 @@ abstract public class BaseRuleChainEdgeTest extends AbstractEdgeTest { Assert.assertFalse(edgeImitator.waitForMessages(1)); } - @Test public void testSendRuleChainMetadataRequestToCloud() throws Exception { RuleChainId edgeRootRuleChainId = edge.getRootRuleChainId(); @@ -110,7 +108,6 @@ abstract public class BaseRuleChainEdgeTest extends AbstractEdgeTest { testAutoGeneratedCodeByProtobuf(ruleChainMetadataUpdateMsg); } - private void testRuleChainMetadataRequestMsg(RuleChainId ruleChainId) throws Exception { RuleChainMetadataRequestMsg.Builder ruleChainMetadataRequestMsgBuilder = RuleChainMetadataRequestMsg.newBuilder() .setRuleChainIdMSB(ruleChainId.getId().getMostSignificantBits()) @@ -139,8 +136,6 @@ abstract public class BaseRuleChainEdgeTest extends AbstractEdgeTest { RuleChainMetaData ruleChainMetaData = new RuleChainMetaData(); ruleChainMetaData.setRuleChainId(ruleChain.getId()); - ObjectMapper mapper = new ObjectMapper(); - RuleNode ruleNode1 = new RuleNode(); ruleNode1.setName("name1"); ruleNode1.setType("type1"); @@ -170,5 +165,4 @@ abstract public class BaseRuleChainEdgeTest extends AbstractEdgeTest { doPost("/api/ruleChain/metadata", ruleChainMetaData, RuleChainMetaData.class); } - } diff --git a/application/src/test/java/org/thingsboard/server/edge/BaseUserEdgeTest.java b/application/src/test/java/org/thingsboard/server/edge/BaseUserEdgeTest.java index 0e694e034b..db29687683 100644 --- a/application/src/test/java/org/thingsboard/server/edge/BaseUserEdgeTest.java +++ b/application/src/test/java/org/thingsboard/server/edge/BaseUserEdgeTest.java @@ -203,4 +203,29 @@ abstract public class BaseUserEdgeTest extends AbstractEdgeTest { testAutoGeneratedCodeByProtobuf(userCredentialsUpdateMsg); } + @Test + public void sendUserCredentialsRequest() throws Exception { + UplinkMsg.Builder uplinkMsgBuilder = UplinkMsg.newBuilder(); + UserCredentialsRequestMsg.Builder userCredentialsRequestMsgBuilder = UserCredentialsRequestMsg.newBuilder(); + userCredentialsRequestMsgBuilder.setUserIdMSB(tenantAdmin.getId().getId().getMostSignificantBits()); + userCredentialsRequestMsgBuilder.setUserIdLSB(tenantAdmin.getId().getId().getLeastSignificantBits()); + testAutoGeneratedCodeByProtobuf(userCredentialsRequestMsgBuilder); + uplinkMsgBuilder.addUserCredentialsRequestMsg(userCredentialsRequestMsgBuilder.build()); + + testAutoGeneratedCodeByProtobuf(uplinkMsgBuilder); + + edgeImitator.expectResponsesAmount(1); + edgeImitator.expectMessageAmount(1); + edgeImitator.sendUplinkMsg(uplinkMsgBuilder.build()); + Assert.assertTrue(edgeImitator.waitForResponses()); + Assert.assertTrue(edgeImitator.waitForMessages()); + + AbstractMessage latestMessage = edgeImitator.getLatestMessage(); + Assert.assertTrue(latestMessage instanceof UserCredentialsUpdateMsg); + UserCredentialsUpdateMsg userCredentialsUpdateMsg = (UserCredentialsUpdateMsg) latestMessage; + Assert.assertEquals(userCredentialsUpdateMsg.getUserIdMSB(), tenantAdmin.getId().getId().getMostSignificantBits()); + Assert.assertEquals(userCredentialsUpdateMsg.getUserIdLSB(), tenantAdmin.getId().getId().getLeastSignificantBits()); + + testAutoGeneratedCodeByProtobuf(userCredentialsUpdateMsg); + } }