Merge pull request #9712 from volodymyr-babak/edge/relation-request-fix-recusrive
Edge Requests Service - fetch only first level of relation from cloud…
This commit is contained in:
commit
848191efb5
@ -294,7 +294,7 @@ public class DefaultEdgeRequestsService implements EdgeRequestsService {
|
||||
private ListenableFuture<List<EntityRelation>> findRelationByQuery(TenantId tenantId, Edge edge,
|
||||
EntityId entityId, EntitySearchDirection direction) {
|
||||
EntityRelationsQuery query = new EntityRelationsQuery();
|
||||
query.setParameters(new RelationsSearchParameters(entityId, direction, -1, false));
|
||||
query.setParameters(new RelationsSearchParameters(entityId, direction, 1, false));
|
||||
return relationService.findByQuery(tenantId, query);
|
||||
}
|
||||
|
||||
|
||||
@ -129,14 +129,24 @@ public class RelationEdgeTest extends AbstractEdgeTest {
|
||||
Device device = findDeviceByName("Edge Device 1");
|
||||
Asset asset = findAssetByName("Edge Asset 1");
|
||||
|
||||
EntityRelation relation = new EntityRelation();
|
||||
relation.setType("test");
|
||||
relation.setFrom(device.getId());
|
||||
relation.setTo(asset.getId());
|
||||
relation.setTypeGroup(RelationTypeGroup.COMMON);
|
||||
EntityRelation deviceToAssetRelation = new EntityRelation();
|
||||
deviceToAssetRelation.setType("test");
|
||||
deviceToAssetRelation.setFrom(device.getId());
|
||||
deviceToAssetRelation.setTo(asset.getId());
|
||||
deviceToAssetRelation.setTypeGroup(RelationTypeGroup.COMMON);
|
||||
|
||||
edgeImitator.expectMessageAmount(1);
|
||||
doPost("/api/relation", relation);
|
||||
doPost("/api/relation", deviceToAssetRelation);
|
||||
Assert.assertTrue(edgeImitator.waitForMessages());
|
||||
|
||||
EntityRelation assetToTenantRelation = new EntityRelation();
|
||||
assetToTenantRelation.setType("test");
|
||||
assetToTenantRelation.setFrom(asset.getId());
|
||||
assetToTenantRelation.setTo(tenantId);
|
||||
assetToTenantRelation.setTypeGroup(RelationTypeGroup.COMMON);
|
||||
|
||||
edgeImitator.expectMessageAmount(1);
|
||||
doPost("/api/relation", assetToTenantRelation);
|
||||
Assert.assertTrue(edgeImitator.waitForMessages());
|
||||
|
||||
UplinkMsg.Builder uplinkMsgBuilder = UplinkMsg.newBuilder();
|
||||
@ -159,16 +169,16 @@ public class RelationEdgeTest extends AbstractEdgeTest {
|
||||
Assert.assertTrue(latestMessage instanceof RelationUpdateMsg);
|
||||
RelationUpdateMsg relationUpdateMsg = (RelationUpdateMsg) latestMessage;
|
||||
Assert.assertEquals(UpdateMsgType.ENTITY_CREATED_RPC_MESSAGE, relationUpdateMsg.getMsgType());
|
||||
Assert.assertEquals(relation.getType(), relationUpdateMsg.getType());
|
||||
Assert.assertEquals(deviceToAssetRelation.getType(), relationUpdateMsg.getType());
|
||||
|
||||
UUID fromUUID = new UUID(relationUpdateMsg.getFromIdMSB(), relationUpdateMsg.getFromIdLSB());
|
||||
EntityId fromEntityId = EntityIdFactory.getByTypeAndUuid(relationUpdateMsg.getFromEntityType(), fromUUID);
|
||||
Assert.assertEquals(relation.getFrom(), fromEntityId);
|
||||
Assert.assertEquals(deviceToAssetRelation.getFrom(), fromEntityId);
|
||||
|
||||
UUID toUUID = new UUID(relationUpdateMsg.getToIdMSB(), relationUpdateMsg.getToIdLSB());
|
||||
EntityId toEntityId = EntityIdFactory.getByTypeAndUuid(relationUpdateMsg.getToEntityType(), toUUID);
|
||||
Assert.assertEquals(relation.getTo(), toEntityId);
|
||||
Assert.assertEquals(deviceToAssetRelation.getTo(), toEntityId);
|
||||
|
||||
Assert.assertEquals(relation.getTypeGroup().name(), relationUpdateMsg.getTypeGroup());
|
||||
Assert.assertEquals(deviceToAssetRelation.getTypeGroup().name(), relationUpdateMsg.getTypeGroup());
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user