Merge pull request #16 from BohdanSmetanyuk/feature/3.0-edge
bug with empty dashboards list fixed, refractored
This commit is contained in:
commit
14f00a9d3d
@ -260,7 +260,7 @@ public class DashboardServiceImpl extends AbstractEntityService implements Dashb
|
|||||||
public ListenableFuture<PageData<DashboardInfo>> findDashboardsByTenantIdAndEdgeId(TenantId tenantId, EdgeId edgeId, TimePageLink pageLink) {
|
public ListenableFuture<PageData<DashboardInfo>> findDashboardsByTenantIdAndEdgeId(TenantId tenantId, EdgeId edgeId, TimePageLink pageLink) {
|
||||||
log.trace("Executing findDashboardsByTenantIdAndEdgeId, tenantId [{}], edgeId [{}], pageLink [{}]", tenantId, edgeId, pageLink);
|
log.trace("Executing findDashboardsByTenantIdAndEdgeId, tenantId [{}], edgeId [{}], pageLink [{}]", tenantId, edgeId, pageLink);
|
||||||
Validator.validateId(tenantId, INCORRECT_TENANT_ID + tenantId);
|
Validator.validateId(tenantId, INCORRECT_TENANT_ID + tenantId);
|
||||||
Validator.validateId(edgeId, "Incorrect customerId " + edgeId);
|
Validator.validateId(edgeId, INCORRECT_EDGE_ID + edgeId);
|
||||||
Validator.validatePageLink(pageLink);
|
Validator.validatePageLink(pageLink);
|
||||||
return dashboardInfoDao.findDashboardsByTenantIdAndEdgeId(tenantId.getId(), edgeId.getId(), pageLink);
|
return dashboardInfoDao.findDashboardsByTenantIdAndEdgeId(tenantId.getId(), edgeId.getId(), pageLink);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -91,19 +91,17 @@ public class JpaDashboardInfoDao extends JpaAbstractSearchTextDao<DashboardInfoE
|
|||||||
@Override
|
@Override
|
||||||
public ListenableFuture<PageData<DashboardInfo>> findDashboardsByTenantIdAndEdgeId(UUID tenantId, UUID edgeId, TimePageLink pageLink) {
|
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);
|
log.debug("Try to find dashboards by tenantId [{}], edgeId [{}] and pageLink [{}]", tenantId, edgeId, pageLink);
|
||||||
|
|
||||||
ListenableFuture<PageData<EntityRelation>> relations =
|
ListenableFuture<PageData<EntityRelation>> relations =
|
||||||
relationDao.findRelations(new TenantId(tenantId), new EdgeId(edgeId), EntityRelation.CONTAINS_TYPE, RelationTypeGroup.EDGE, EntityType.DASHBOARD, pageLink);
|
relationDao.findRelations(new TenantId(tenantId), new EdgeId(edgeId), EntityRelation.CONTAINS_TYPE, RelationTypeGroup.EDGE, EntityType.DASHBOARD, pageLink);
|
||||||
|
|
||||||
return Futures.transformAsync(relations, relationsData -> {
|
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());
|
List<ListenableFuture<DashboardInfo>> dashboardFutures = new ArrayList<>(relationsData.getData().size());
|
||||||
for (EntityRelation relation : relationsData.getData()) {
|
for (EntityRelation relation : relationsData.getData()) {
|
||||||
dashboardFutures.add(findByIdAsync(new TenantId(tenantId), relation.getTo().getId()));
|
dashboardFutures.add(findByIdAsync(new TenantId(tenantId), relation.getTo().getId()));
|
||||||
}
|
}
|
||||||
return Futures.transform(Futures.successfulAsList(dashboardFutures),
|
return Futures.transform(Futures.successfulAsList(dashboardFutures),
|
||||||
dashboards -> new PageData<>(dashboards, relationsData.getTotalPages(), relationsData.getTotalElements(),
|
dashboards -> new PageData<>(dashboards, relationsData.getTotalPages(), relationsData.getTotalElements(),
|
||||||
relationsData.hasNext()), MoreExecutors.directExecutor());
|
relationsData.hasNext()), MoreExecutors.directExecutor());
|
||||||
} else {
|
} else {
|
||||||
return Futures.immediateFuture(new PageData<>());
|
return Futures.immediateFuture(new PageData<>());
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user