|
|
|
@ -361,44 +361,6 @@ public class DefaultEdgeRequestsService implements EdgeRequestsService { |
|
|
|
return Futures.transform(Futures.allAsList(futures), voids -> null, dbCallbackExecutorService); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public ListenableFuture<Void> processAssetProfileAssetsRequestMsg(TenantId tenantId, Edge edge, AssetProfileAssetsRequestMsg assetProfileAssetsRequestMsg) { |
|
|
|
log.trace("[{}] processAssetProfileAssetsRequestMsg [{}][{}]", tenantId, edge.getName(), assetProfileAssetsRequestMsg); |
|
|
|
if (assetProfileAssetsRequestMsg.getAssetProfileIdMSB() == 0 || assetProfileAssetsRequestMsg.getAssetProfileIdLSB() == 0) { |
|
|
|
return Futures.immediateFuture(null); |
|
|
|
} |
|
|
|
AssetProfileId assetProfileId = new AssetProfileId(new UUID(assetProfileAssetsRequestMsg.getAssetProfileIdMSB(), assetProfileAssetsRequestMsg.getAssetProfileIdLSB())); |
|
|
|
AssetProfile assetProfileById = assetProfileService.findAssetProfileById(tenantId, assetProfileId); |
|
|
|
if (assetProfileById == null) { |
|
|
|
return Futures.immediateFuture(null); |
|
|
|
} |
|
|
|
return syncAssets(tenantId, edge, assetProfileById.getName()); |
|
|
|
} |
|
|
|
|
|
|
|
private ListenableFuture<Void> syncAssets(TenantId tenantId, Edge edge, String assetType) { |
|
|
|
log.trace("[{}] syncAssets [{}][{}]", tenantId, edge.getName(), assetType); |
|
|
|
List<ListenableFuture<Void>> futures = new ArrayList<>(); |
|
|
|
try { |
|
|
|
PageLink pageLink = new PageLink(DEFAULT_PAGE_SIZE); |
|
|
|
PageData<Asset> pageData; |
|
|
|
do { |
|
|
|
pageData = assetService.findAssetsByTenantIdAndEdgeIdAndType(tenantId, edge.getId(), assetType, pageLink); |
|
|
|
if (pageData != null && pageData.getData() != null && !pageData.getData().isEmpty()) { |
|
|
|
log.trace("[{}] [{}] asset(s) are going to be pushed to edge.", edge.getId(), pageData.getData().size()); |
|
|
|
for (Asset asset : pageData.getData()) { |
|
|
|
futures.add(saveEdgeEvent(tenantId, edge.getId(), EdgeEventType.ASSET, EdgeEventActionType.ADDED, asset.getId(), null)); |
|
|
|
} |
|
|
|
if (pageData.hasNext()) { |
|
|
|
pageLink = pageLink.nextPageLink(); |
|
|
|
} |
|
|
|
} |
|
|
|
} while (pageData != null && pageData.hasNext()); |
|
|
|
} catch (Exception e) { |
|
|
|
log.error("Exception during loading edge asset(s) on sync!", e); |
|
|
|
} |
|
|
|
return Futures.transform(Futures.allAsList(futures), voids -> null, dbCallbackExecutorService); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public ListenableFuture<Void> processWidgetBundleTypesRequestMsg(TenantId tenantId, Edge edge, |
|
|
|
WidgetBundleTypesRequestMsg widgetBundleTypesRequestMsg) { |
|
|
|
|