Browse Source

Refactoring

pull/14775/head
Andrii Landiak 8 months ago
parent
commit
2cd0a746a3
  1. 4
      dao/src/main/java/org/thingsboard/server/dao/ota/BaseOtaPackageService.java
  2. 3
      dao/src/main/java/org/thingsboard/server/dao/sql/ota/OtaPackageRepository.java
  3. 13
      dao/src/test/java/org/thingsboard/server/dao/service/OtaPackageServiceTest.java

4
dao/src/main/java/org/thingsboard/server/dao/ota/BaseOtaPackageService.java

@ -234,10 +234,10 @@ public class BaseOtaPackageService extends AbstractCachedEntityService<OtaPackag
try {
Integer result = otaPackageDao.unlinkLargeObject(oid);
if (result != 1) {
log.warn("[{}][{}] Failed to delete large object (OID: {}). Result code: {}", tenantId, otaPackageId, oid, result);
log.error("[{}][{}] Failed to delete large object (OID: {}). Result code: {}", tenantId, otaPackageId, oid, result);
}
} catch (Exception e) {
log.warn("[{}][{}] Failed to delete large object (OID: {})", tenantId, otaPackageId, oid, e);
log.error("[{}][{}] Failed to delete large object (OID: {})", tenantId, otaPackageId, oid, e);
}
}

3
dao/src/main/java/org/thingsboard/server/dao/sql/ota/OtaPackageRepository.java

@ -15,12 +15,12 @@
*/
package org.thingsboard.server.dao.sql.ota;
import jakarta.transaction.Transactional;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.transaction.annotation.Transactional;
import org.thingsboard.server.dao.ExportableEntityRepository;
import org.thingsboard.server.dao.model.sql.OtaPackageEntity;
@ -41,6 +41,7 @@ public interface OtaPackageRepository extends JpaRepository<OtaPackageEntity, UU
@Query("SELECT r.id FROM OtaPackageEntity r WHERE r.tenantId = :tenantId")
Page<UUID> findIdsByTenantId(@Param("tenantId") UUID tenantId, Pageable pageable);
// The 'data' column is of type OID (PostgreSQL large object reference), so it returns the OID as Long
@Query(value = "SELECT data FROM ota_package WHERE id = :id AND data IS NOT NULL", nativeQuery = true)
Long getDataOidById(@Param("id") UUID id);

13
dao/src/test/java/org/thingsboard/server/dao/service/OtaPackageServiceTest.java

@ -44,7 +44,6 @@ import org.thingsboard.server.dao.tenant.TenantProfileService;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
@ -121,10 +120,8 @@ public class OtaPackageServiceTest extends AbstractServiceTest {
Assert.assertEquals(1, otaPackageService.sumDataSizeByTenantId(tenantId));
int maxSumDataSize = 8;
List<OtaPackage> packages = new ArrayList<>(maxSumDataSize);
for (int i = 2; i <= maxSumDataSize; i++) {
packages.add(createAndSaveFirmware(tenantId, "0." + i));
createAndSaveFirmware(tenantId, "0." + i);
Assert.assertEquals(i, otaPackageService.sumDataSizeByTenantId(tenantId));
}
@ -603,8 +600,8 @@ public class OtaPackageServiceTest extends AbstractServiceTest {
}
} while (pageData.hasNext());
Collections.sort(firmwares, idComparator);
Collections.sort(loadedFirmwares, idComparator);
firmwares.sort(idComparator);
loadedFirmwares.sort(idComparator);
assertThat(firmwares).isEqualTo(loadedFirmwares);
@ -658,8 +655,8 @@ public class OtaPackageServiceTest extends AbstractServiceTest {
}
} while (pageData.hasNext());
Collections.sort(firmwares, idComparator);
Collections.sort(loadedFirmwares, idComparator);
firmwares.sort(idComparator);
loadedFirmwares.sort(idComparator);
assertThat(firmwares).isEqualTo(loadedFirmwares);

Loading…
Cancel
Save