refactored
This commit is contained in:
parent
71d26ba18b
commit
d84fd92f57
@ -629,23 +629,30 @@ public class SqlDatabaseUpgradeService implements DatabaseEntitiesUpgradeService
|
||||
conn.createStatement().execute("DELETE FROM asset a WHERE NOT exists(SELECT id FROM tenant WHERE id = a.tenant_id);");
|
||||
|
||||
log.info("Creating default asset profiles...");
|
||||
PageLink pageLink = new PageLink(1000);
|
||||
PageData<TbPair<UUID, String>> pageData;
|
||||
List<ListenableFuture<?>> futures = new ArrayList<>();
|
||||
|
||||
PageLink pageLink = new PageLink(1000);
|
||||
PageData<TenantId> tenantIds;
|
||||
do {
|
||||
tenantIds = tenantService.findTenantsIds(pageLink);
|
||||
for (TenantId tenantId : tenantIds.getData()) {
|
||||
futures.add(dbUpgradeExecutor.submit(() -> {
|
||||
try {
|
||||
assetProfileService.createDefaultAssetProfile(tenantId);
|
||||
} catch (Exception e) {}
|
||||
}));
|
||||
}
|
||||
pageLink = pageLink.nextPageLink();
|
||||
} while (tenantIds.hasNext());
|
||||
|
||||
pageLink = new PageLink(1000);
|
||||
PageData<TbPair<UUID, String>> pairs;
|
||||
Set<UUID> tenants = new HashSet<>();
|
||||
do {
|
||||
pageData = assetDao.getAllAssetTypes(pageLink);
|
||||
for (TbPair<UUID, String> pair : pageData.getData()) {
|
||||
pairs = assetDao.getAllAssetTypes(pageLink);
|
||||
for (TbPair<UUID, String> pair : pairs.getData()) {
|
||||
TenantId tenantId = new TenantId(pair.getFirst());
|
||||
String assetType = pair.getSecond();
|
||||
if (tenants.add(pair.getFirst())) {
|
||||
futures.add(dbUpgradeExecutor.submit(() -> {
|
||||
try {
|
||||
assetProfileService.createDefaultAssetProfile(tenantId);
|
||||
} catch (Exception e) {}
|
||||
}));
|
||||
}
|
||||
|
||||
if (!"default".equals(assetType)) {
|
||||
futures.add(dbUpgradeExecutor.submit(() -> {
|
||||
try {
|
||||
@ -655,17 +662,7 @@ public class SqlDatabaseUpgradeService implements DatabaseEntitiesUpgradeService
|
||||
}
|
||||
}
|
||||
pageLink = pageLink.nextPageLink();
|
||||
} while (pageData.hasNext());
|
||||
|
||||
List<UUID> tenantsWithoutProfiles = tenantRepository.getIdsNotIn(tenants);
|
||||
|
||||
tenantsWithoutProfiles.forEach(uuid ->
|
||||
futures.add(dbUpgradeExecutor.submit(() -> {
|
||||
try {
|
||||
assetProfileService.createDefaultAssetProfile(TenantId.fromUUID(uuid));
|
||||
} catch (Exception e) {}
|
||||
}))
|
||||
);
|
||||
} while (pairs.hasNext());
|
||||
|
||||
Futures.allAsList(futures).get();
|
||||
|
||||
|
||||
@ -24,7 +24,6 @@ import org.thingsboard.server.dao.model.sql.TenantEntity;
|
||||
import org.thingsboard.server.dao.model.sql.TenantInfoEntity;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
@ -54,8 +53,4 @@ public interface TenantRepository extends JpaRepository<TenantEntity, UUID> {
|
||||
|
||||
@Query("SELECT t.id FROM TenantEntity t where t.tenantProfileId = :tenantProfileId")
|
||||
List<UUID> findTenantIdsByTenantProfileId(@Param("tenantProfileId") UUID tenantProfileId);
|
||||
|
||||
@Query("SELECT t.id FROM TenantEntity t WHERE t.id NOT IN :ids")
|
||||
List<UUID> getIdsNotIn(@Param("ids")Set<UUID> ids);
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user