Skip device and asset profiles with no images on upgrade

This commit is contained in:
ViacheslavKlimov 2023-12-04 14:13:57 +02:00
parent 605e9987fb
commit e9e70d2d4a
7 changed files with 12 additions and 9 deletions

View File

@ -73,13 +73,13 @@ public class ImagesUpdater {
public void updateDeviceProfilesImages() { public void updateDeviceProfilesImages() {
log.info("Updating device profiles images..."); log.info("Updating device profiles images...");
var deviceProfiles = new PageDataIterable<>(deviceProfileDao::findAll, 256); var deviceProfiles = new PageDataIterable<>(deviceProfileDao::findAllWithImages, 256);
updateImages(deviceProfiles, "device profile", imageService::replaceBase64WithImageUrl, deviceProfileDao); updateImages(deviceProfiles, "device profile", imageService::replaceBase64WithImageUrl, deviceProfileDao);
} }
public void updateAssetProfilesImages() { public void updateAssetProfilesImages() {
log.info("Updating asset profiles images..."); log.info("Updating asset profiles images...");
var assetProfiles = new PageDataIterable<>(assetProfileDao::findAll, 256); var assetProfiles = new PageDataIterable<>(assetProfileDao::findAllWithImages, 256);
updateImages(assetProfiles, "asset profile", imageService::replaceBase64WithImageUrl, assetProfileDao); updateImages(assetProfiles, "asset profile", imageService::replaceBase64WithImageUrl, assetProfileDao);
} }

View File

@ -45,6 +45,6 @@ public interface AssetProfileDao extends Dao<AssetProfile>, ExportableEntityDao<
AssetProfile findByName(TenantId tenantId, String profileName); AssetProfile findByName(TenantId tenantId, String profileName);
PageData<AssetProfile> findAll(PageLink pageLink); PageData<AssetProfile> findAllWithImages(PageLink pageLink);
} }

View File

@ -47,6 +47,6 @@ public interface DeviceProfileDao extends Dao<DeviceProfile>, ExportableEntityDa
DeviceProfile findByName(TenantId tenantId, String profileName); DeviceProfile findByName(TenantId tenantId, String profileName);
PageData<DeviceProfile> findAll(PageLink pageLink); PageData<DeviceProfile> findAllWithImages(PageLink pageLink);
} }

View File

@ -23,7 +23,6 @@ import org.springframework.data.repository.query.Param;
import org.thingsboard.server.common.data.asset.AssetProfileInfo; import org.thingsboard.server.common.data.asset.AssetProfileInfo;
import org.thingsboard.server.dao.ExportableEntityRepository; import org.thingsboard.server.dao.ExportableEntityRepository;
import org.thingsboard.server.dao.model.sql.AssetProfileEntity; import org.thingsboard.server.dao.model.sql.AssetProfileEntity;
import org.thingsboard.server.dao.model.sql.WidgetsBundleEntity;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
@ -70,4 +69,6 @@ public interface AssetProfileRepository extends JpaRepository<AssetProfileEntity
"FROM AssetProfileEntity a WHERE a.image = :imageLink") "FROM AssetProfileEntity a WHERE a.image = :imageLink")
List<AssetProfileInfo> findByImageLink(@Param("imageLink") String imageLink, Pageable page); List<AssetProfileInfo> findByImageLink(@Param("imageLink") String imageLink, Pageable page);
Page<AssetProfileEntity> findAllByImageNotNull(Pageable pageable);
} }

View File

@ -99,8 +99,8 @@ public class JpaAssetProfileDao extends JpaAbstractDao<AssetProfileEntity, Asset
} }
@Override @Override
public PageData<AssetProfile> findAll(PageLink pageLink) { public PageData<AssetProfile> findAllWithImages(PageLink pageLink) {
return DaoUtil.toPageData(assetProfileRepository.findAll(DaoUtil.toPageable(pageLink))); return DaoUtil.toPageData(assetProfileRepository.findAllByImageNotNull(DaoUtil.toPageable(pageLink)));
} }
@Override @Override

View File

@ -81,4 +81,6 @@ public interface DeviceProfileRepository extends JpaRepository<DeviceProfileEnti
@Query("SELECT externalId FROM DeviceProfileEntity WHERE id = :id") @Query("SELECT externalId FROM DeviceProfileEntity WHERE id = :id")
UUID getExternalIdById(@Param("id") UUID id); UUID getExternalIdById(@Param("id") UUID id);
Page<DeviceProfileEntity> findAllByImageNotNull(Pageable pageable);
} }

View File

@ -117,8 +117,8 @@ public class JpaDeviceProfileDao extends JpaAbstractDao<DeviceProfileEntity, Dev
} }
@Override @Override
public PageData<DeviceProfile> findAll(PageLink pageLink) { public PageData<DeviceProfile> findAllWithImages(PageLink pageLink) {
return DaoUtil.toPageData(deviceProfileRepository.findAll(DaoUtil.toPageable(pageLink))); return DaoUtil.toPageData(deviceProfileRepository.findAllByImageNotNull(DaoUtil.toPageable(pageLink)));
} }
@Override @Override