Merge pull request #9216 from volodymyr-babak/edge/fix-widget-type-alias

Fix Widget Display Issues in Older Edge Versions Connected to 3.6 Servers
This commit is contained in:
Andrew Shvayka 2023-09-08 16:29:24 +03:00 committed by GitHub
commit d94d1de477
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 18 additions and 7 deletions

View File

@ -35,6 +35,13 @@ public class WidgetTypeMsgConstructor {
.setIdLSB(widgetTypeDetails.getId().getId().getLeastSignificantBits()); .setIdLSB(widgetTypeDetails.getId().getId().getLeastSignificantBits());
if (widgetTypeDetails.getFqn() != null) { if (widgetTypeDetails.getFqn() != null) {
builder.setFqn(widgetTypeDetails.getFqn()); 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) { if (widgetTypeDetails.getName() != null) {
builder.setName(widgetTypeDetails.getName()); builder.setName(widgetTypeDetails.getName());

View File

@ -58,6 +58,7 @@ public class WidgetEdgeTest extends AbstractEdgeTest {
descriptor.put("key", "value"); descriptor.put("key", "value");
widgetType.setDescriptor(descriptor); widgetType.setDescriptor(descriptor);
widgetType.setDeprecated(true); widgetType.setDeprecated(true);
widgetType.setFqn("bundle_alias.type_alias");
WidgetType savedWidgetType = doPost("/api/widgetType", widgetType, WidgetType.class); WidgetType savedWidgetType = doPost("/api/widgetType", widgetType, WidgetType.class);
Assert.assertTrue(edgeImitator.waitForMessages()); Assert.assertTrue(edgeImitator.waitForMessages());
latestMessage = edgeImitator.getLatestMessage(); latestMessage = edgeImitator.getLatestMessage();
@ -69,6 +70,8 @@ public class WidgetEdgeTest extends AbstractEdgeTest {
Assert.assertEquals(savedWidgetType.getFqn(), widgetTypeUpdateMsg.getFqn()); Assert.assertEquals(savedWidgetType.getFqn(), widgetTypeUpdateMsg.getFqn());
Assert.assertEquals(savedWidgetType.getName(), widgetTypeUpdateMsg.getName()); Assert.assertEquals(savedWidgetType.getName(), widgetTypeUpdateMsg.getName());
Assert.assertTrue(widgetTypeUpdateMsg.getDeprecated()); Assert.assertTrue(widgetTypeUpdateMsg.getDeprecated());
Assert.assertEquals("bundle_alias", widgetTypeUpdateMsg.getBundleAlias());
Assert.assertEquals("type_alias", widgetTypeUpdateMsg.getAlias());
Assert.assertEquals(JacksonUtil.toJsonNode(widgetTypeUpdateMsg.getDescriptorJson()), savedWidgetType.getDescriptor()); Assert.assertEquals(JacksonUtil.toJsonNode(widgetTypeUpdateMsg.getDescriptorJson()), savedWidgetType.getDescriptor());
// update widget bundle // update widget bundle

View File

@ -86,7 +86,7 @@ message ConnectResponseMsg {
} }
message SyncRequestMsg { message SyncRequestMsg {
bool syncRequired = 1; // deprecated bool syncRequired = 1 [deprecated = true];
optional bool fullSync = 2; optional bool fullSync = 2;
} }
@ -114,7 +114,7 @@ enum UpdateMsgType {
ENTITY_DELETED_RPC_MESSAGE = 2; ENTITY_DELETED_RPC_MESSAGE = 2;
ALARM_ACK_RPC_MESSAGE = 3; ALARM_ACK_RPC_MESSAGE = 3;
ALARM_CLEAR_RPC_MESSAGE = 4; ALARM_CLEAR_RPC_MESSAGE = 4;
ENTITY_MERGE_RPC_MESSAGE = 5; // deprecated ENTITY_MERGE_RPC_MESSAGE = 5 [deprecated = true];
} }
message EntityDataProto { message EntityDataProto {
@ -205,7 +205,7 @@ message DeviceUpdateMsg {
string type = 9; string type = 9;
optional string label = 10; optional string label = 10;
optional string additionalInfo = 11; optional string additionalInfo = 11;
optional string conflictName = 12; // deprecated optional string conflictName = 12 [deprecated = true];
optional int64 firmwareIdMSB = 13; optional int64 firmwareIdMSB = 13;
optional int64 firmwareIdLSB = 14; optional int64 firmwareIdLSB = 14;
optional bytes deviceDataBytes = 15; optional bytes deviceDataBytes = 15;
@ -366,8 +366,8 @@ message WidgetTypeUpdateMsg {
UpdateMsgType msgType = 1; UpdateMsgType msgType = 1;
int64 idMSB = 2; int64 idMSB = 2;
int64 idLSB = 3; int64 idLSB = 3;
optional string bundleAlias = 4; // deprecated optional string bundleAlias = 4 [deprecated = true];
optional string alias = 5; // deprecated optional string alias = 5 [deprecated = true];
optional string name = 6; optional string name = 6;
optional string descriptorJson = 7; optional string descriptorJson = 7;
bool isSystem = 8; bool isSystem = 8;
@ -448,8 +448,8 @@ message DeviceCredentialsRequestMsg {
int64 deviceIdLSB = 2; int64 deviceIdLSB = 2;
} }
// deprecated
message DeviceProfileDevicesRequestMsg { message DeviceProfileDevicesRequestMsg {
option deprecated = true;
int64 deviceProfileIdMSB = 1; int64 deviceProfileIdMSB = 1;
int64 deviceProfileIdLSB = 2; int64 deviceProfileIdLSB = 2;
} }
@ -563,7 +563,7 @@ message UplinkMsg {
repeated UserCredentialsRequestMsg userCredentialsRequestMsg = 10; repeated UserCredentialsRequestMsg userCredentialsRequestMsg = 10;
repeated DeviceCredentialsRequestMsg deviceCredentialsRequestMsg = 11; repeated DeviceCredentialsRequestMsg deviceCredentialsRequestMsg = 11;
repeated DeviceRpcCallMsg deviceRpcCallMsg = 12; repeated DeviceRpcCallMsg deviceRpcCallMsg = 12;
repeated DeviceProfileDevicesRequestMsg deviceProfileDevicesRequestMsg = 13; // deprecated repeated DeviceProfileDevicesRequestMsg deviceProfileDevicesRequestMsg = 13 [deprecated = true];
repeated WidgetBundleTypesRequestMsg widgetBundleTypesRequestMsg = 14; repeated WidgetBundleTypesRequestMsg widgetBundleTypesRequestMsg = 14;
repeated EntityViewsRequestMsg entityViewsRequestMsg = 15; repeated EntityViewsRequestMsg entityViewsRequestMsg = 15;
repeated AssetUpdateMsg assetUpdateMsg = 16; repeated AssetUpdateMsg assetUpdateMsg = 16;

View File

@ -2013,6 +2013,7 @@
"type-rule-chain-metadata": "Rule Chain Metadata", "type-rule-chain-metadata": "Rule Chain Metadata",
"type-edge": "Edge", "type-edge": "Edge",
"type-user": "User", "type-user": "User",
"type-tenant": "Tenant",
"type-customer": "Customer", "type-customer": "Customer",
"type-relation": "Relation", "type-relation": "Relation",
"type-widgets-bundle": "Widgets Bundle", "type-widgets-bundle": "Widgets Bundle",