Browse Source

Skip device and asset profiles with no images on upgrade

pull/9753/head
ViacheslavKlimov 3 years ago
parent
commit
e9e70d2d4a
  1. 4
      application/src/main/java/org/thingsboard/server/service/install/update/ImagesUpdater.java
  2. 2
      dao/src/main/java/org/thingsboard/server/dao/asset/AssetProfileDao.java
  3. 2
      dao/src/main/java/org/thingsboard/server/dao/device/DeviceProfileDao.java
  4. 3
      dao/src/main/java/org/thingsboard/server/dao/sql/asset/AssetProfileRepository.java
  5. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/asset/JpaAssetProfileDao.java
  6. 2
      dao/src/main/java/org/thingsboard/server/dao/sql/device/DeviceProfileRepository.java
  7. 4
      dao/src/main/java/org/thingsboard/server/dao/sql/device/JpaDeviceProfileDao.java

4
application/src/main/java/org/thingsboard/server/service/install/update/ImagesUpdater.java

@ -73,13 +73,13 @@ public class ImagesUpdater {
public void updateDeviceProfilesImages() {
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);
}
public void updateAssetProfilesImages() {
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);
}

2
dao/src/main/java/org/thingsboard/server/dao/asset/AssetProfileDao.java

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

2
dao/src/main/java/org/thingsboard/server/dao/device/DeviceProfileDao.java

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

3
dao/src/main/java/org/thingsboard/server/dao/sql/asset/AssetProfileRepository.java

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

4
dao/src/main/java/org/thingsboard/server/dao/sql/asset/JpaAssetProfileDao.java

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

2
dao/src/main/java/org/thingsboard/server/dao/sql/device/DeviceProfileRepository.java

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

4
dao/src/main/java/org/thingsboard/server/dao/sql/device/JpaDeviceProfileDao.java

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

Loading…
Cancel
Save