diff --git a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/WidgetTypeMsgConstructor.java b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/WidgetTypeMsgConstructor.java index e3c8d54683..af574b4b75 100644 --- a/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/WidgetTypeMsgConstructor.java +++ b/application/src/main/java/org/thingsboard/server/service/edge/rpc/constructor/WidgetTypeMsgConstructor.java @@ -35,6 +35,13 @@ public class WidgetTypeMsgConstructor { .setIdLSB(widgetTypeDetails.getId().getId().getLeastSignificantBits()); if (widgetTypeDetails.getFqn() != null) { builder.setFqn(widgetTypeDetails.getFqn()); + if (widgetTypeDetails.getFqn().contains(".")) { + String[] aliases = widgetTypeDetails.getFqn().split("\\.", 2); + if (aliases.length == 2) { + builder.setBundleAlias(aliases[0]); + builder.setAlias(aliases[1]); + } + } } if (widgetTypeDetails.getName() != null) { builder.setName(widgetTypeDetails.getName()); diff --git a/application/src/test/java/org/thingsboard/server/edge/WidgetEdgeTest.java b/application/src/test/java/org/thingsboard/server/edge/WidgetEdgeTest.java index 63b6114072..e958741cd2 100644 --- a/application/src/test/java/org/thingsboard/server/edge/WidgetEdgeTest.java +++ b/application/src/test/java/org/thingsboard/server/edge/WidgetEdgeTest.java @@ -58,6 +58,7 @@ public class WidgetEdgeTest extends AbstractEdgeTest { descriptor.put("key", "value"); widgetType.setDescriptor(descriptor); widgetType.setDeprecated(true); + widgetType.setFqn("bundle_alias.type_alias"); WidgetType savedWidgetType = doPost("/api/widgetType", widgetType, WidgetType.class); Assert.assertTrue(edgeImitator.waitForMessages()); latestMessage = edgeImitator.getLatestMessage(); @@ -69,6 +70,8 @@ public class WidgetEdgeTest extends AbstractEdgeTest { Assert.assertEquals(savedWidgetType.getFqn(), widgetTypeUpdateMsg.getFqn()); Assert.assertEquals(savedWidgetType.getName(), widgetTypeUpdateMsg.getName()); Assert.assertTrue(widgetTypeUpdateMsg.getDeprecated()); + Assert.assertEquals("bundle_alias", widgetTypeUpdateMsg.getBundleAlias()); + Assert.assertEquals("type_alias", widgetTypeUpdateMsg.getAlias()); Assert.assertEquals(JacksonUtil.toJsonNode(widgetTypeUpdateMsg.getDescriptorJson()), savedWidgetType.getDescriptor()); // update widget bundle diff --git a/common/edge-api/src/main/proto/edge.proto b/common/edge-api/src/main/proto/edge.proto index d9da289001..50d5ad3c7f 100644 --- a/common/edge-api/src/main/proto/edge.proto +++ b/common/edge-api/src/main/proto/edge.proto @@ -86,7 +86,7 @@ message ConnectResponseMsg { } message SyncRequestMsg { - bool syncRequired = 1; // deprecated + bool syncRequired = 1 [deprecated = true]; optional bool fullSync = 2; } @@ -114,7 +114,7 @@ enum UpdateMsgType { ENTITY_DELETED_RPC_MESSAGE = 2; ALARM_ACK_RPC_MESSAGE = 3; ALARM_CLEAR_RPC_MESSAGE = 4; - ENTITY_MERGE_RPC_MESSAGE = 5; // deprecated + ENTITY_MERGE_RPC_MESSAGE = 5 [deprecated = true]; } message EntityDataProto { @@ -205,7 +205,7 @@ message DeviceUpdateMsg { string type = 9; optional string label = 10; optional string additionalInfo = 11; - optional string conflictName = 12; // deprecated + optional string conflictName = 12 [deprecated = true]; optional int64 firmwareIdMSB = 13; optional int64 firmwareIdLSB = 14; optional bytes deviceDataBytes = 15; @@ -366,8 +366,8 @@ message WidgetTypeUpdateMsg { UpdateMsgType msgType = 1; int64 idMSB = 2; int64 idLSB = 3; - optional string bundleAlias = 4; // deprecated - optional string alias = 5; // deprecated + optional string bundleAlias = 4 [deprecated = true]; + optional string alias = 5 [deprecated = true]; optional string name = 6; optional string descriptorJson = 7; bool isSystem = 8; @@ -448,8 +448,8 @@ message DeviceCredentialsRequestMsg { int64 deviceIdLSB = 2; } -// deprecated message DeviceProfileDevicesRequestMsg { + option deprecated = true; int64 deviceProfileIdMSB = 1; int64 deviceProfileIdLSB = 2; } @@ -563,7 +563,7 @@ message UplinkMsg { repeated UserCredentialsRequestMsg userCredentialsRequestMsg = 10; repeated DeviceCredentialsRequestMsg deviceCredentialsRequestMsg = 11; repeated DeviceRpcCallMsg deviceRpcCallMsg = 12; - repeated DeviceProfileDevicesRequestMsg deviceProfileDevicesRequestMsg = 13; // deprecated + repeated DeviceProfileDevicesRequestMsg deviceProfileDevicesRequestMsg = 13 [deprecated = true]; repeated WidgetBundleTypesRequestMsg widgetBundleTypesRequestMsg = 14; repeated EntityViewsRequestMsg entityViewsRequestMsg = 15; repeated AssetUpdateMsg assetUpdateMsg = 16; diff --git a/ui-ngx/src/assets/locale/locale.constant-en_US.json b/ui-ngx/src/assets/locale/locale.constant-en_US.json index 51decc2f64..f2b2924de4 100644 --- a/ui-ngx/src/assets/locale/locale.constant-en_US.json +++ b/ui-ngx/src/assets/locale/locale.constant-en_US.json @@ -2013,6 +2013,7 @@ "type-rule-chain-metadata": "Rule Chain Metadata", "type-edge": "Edge", "type-user": "User", + "type-tenant": "Tenant", "type-customer": "Customer", "type-relation": "Relation", "type-widgets-bundle": "Widgets Bundle",