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 3e8310222b..6d1cc8298f 100644 --- a/common/edge-api/src/main/proto/edge.proto +++ b/common/edge-api/src/main/proto/edge.proto @@ -85,7 +85,7 @@ message ConnectResponseMsg { } message SyncRequestMsg { - bool syncRequired = 1; // deprecated + bool syncRequired = 1 [deprecated = true]; optional bool fullSync = 2; } @@ -113,7 +113,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 { @@ -204,7 +204,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; @@ -365,8 +365,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; @@ -447,8 +447,8 @@ message DeviceCredentialsRequestMsg { int64 deviceIdLSB = 2; } -// deprecated message DeviceProfileDevicesRequestMsg { + option deprecated = true; int64 deviceProfileIdMSB = 1; int64 deviceProfileIdLSB = 2; } @@ -562,7 +562,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;