Merge pull request #16 from BohdanSmetanyuk/feature/3.0-edge

bug with empty dashboards list fixed, refractored
This commit is contained in:
VoBa 2020-07-02 11:22:51 +03:00 committed by GitHub
commit 14f00a9d3d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 11 deletions

View File

@ -260,7 +260,7 @@ public class DashboardServiceImpl extends AbstractEntityService implements Dashb
public ListenableFuture<PageData<DashboardInfo>> findDashboardsByTenantIdAndEdgeId(TenantId tenantId, EdgeId edgeId, TimePageLink pageLink) {
log.trace("Executing findDashboardsByTenantIdAndEdgeId, tenantId [{}], edgeId [{}], pageLink [{}]", tenantId, edgeId, pageLink);
Validator.validateId(tenantId, INCORRECT_TENANT_ID + tenantId);
Validator.validateId(edgeId, "Incorrect customerId " + edgeId);
Validator.validateId(edgeId, INCORRECT_EDGE_ID + edgeId);
Validator.validatePageLink(pageLink);
return dashboardInfoDao.findDashboardsByTenantIdAndEdgeId(tenantId.getId(), edgeId.getId(), pageLink);
}

View File

@ -91,12 +91,10 @@ public class JpaDashboardInfoDao extends JpaAbstractSearchTextDao<DashboardInfoE
@Override
public ListenableFuture<PageData<DashboardInfo>> findDashboardsByTenantIdAndEdgeId(UUID tenantId, UUID edgeId, TimePageLink pageLink) {
log.debug("Try to find dashboards by tenantId [{}], edgeId [{}] and pageLink [{}]", tenantId, edgeId, pageLink);
ListenableFuture<PageData<EntityRelation>> relations =
relationDao.findRelations(new TenantId(tenantId), new EdgeId(edgeId), EntityRelation.CONTAINS_TYPE, RelationTypeGroup.EDGE, EntityType.DASHBOARD, pageLink);
return Futures.transformAsync(relations, relationsData -> {
if (relationsData != null && relationsData.getData() != null && relationsData.getData().isEmpty()) {
if (relationsData != null && relationsData.getData() != null && !relationsData.getData().isEmpty()) {
List<ListenableFuture<DashboardInfo>> dashboardFutures = new ArrayList<>(relationsData.getData().size());
for (EntityRelation relation : relationsData.getData()) {
dashboardFutures.add(findByIdAsync(new TenantId(tenantId), relation.getTo().getId()));