Merge pull request #9963 from thingsboard/fix/relations-deletion
Fix asset relations deletion
This commit is contained in:
commit
2824ca6acc
@ -215,7 +215,7 @@ public class BaseAssetService extends AbstractCachedEntityService<AssetCacheKey,
|
|||||||
|
|
||||||
private void deleteAsset(TenantId tenantId, Asset asset) {
|
private void deleteAsset(TenantId tenantId, Asset asset) {
|
||||||
log.trace("Executing deleteAsset [{}]", asset.getId());
|
log.trace("Executing deleteAsset [{}]", asset.getId());
|
||||||
relationService.deleteEntityRelations(tenantId, asset.getAssetProfileId());
|
relationService.deleteEntityRelations(tenantId, asset.getId());
|
||||||
|
|
||||||
assetDao.removeById(tenantId, asset.getUuidId());
|
assetDao.removeById(tenantId, asset.getUuidId());
|
||||||
|
|
||||||
|
|||||||
@ -23,8 +23,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.transaction.PlatformTransactionManager;
|
import org.springframework.transaction.PlatformTransactionManager;
|
||||||
import org.springframework.transaction.TransactionStatus;
|
import org.springframework.transaction.TransactionStatus;
|
||||||
import org.springframework.transaction.support.DefaultTransactionDefinition;
|
import org.springframework.transaction.support.DefaultTransactionDefinition;
|
||||||
import org.springframework.transaction.support.TransactionCallbackWithoutResult;
|
|
||||||
import org.springframework.transaction.support.TransactionTemplate;
|
|
||||||
import org.thingsboard.server.common.data.Customer;
|
import org.thingsboard.server.common.data.Customer;
|
||||||
import org.thingsboard.server.common.data.EntitySubtype;
|
import org.thingsboard.server.common.data.EntitySubtype;
|
||||||
import org.thingsboard.server.common.data.StringUtils;
|
import org.thingsboard.server.common.data.StringUtils;
|
||||||
@ -32,21 +30,22 @@ import org.thingsboard.server.common.data.Tenant;
|
|||||||
import org.thingsboard.server.common.data.asset.Asset;
|
import org.thingsboard.server.common.data.asset.Asset;
|
||||||
import org.thingsboard.server.common.data.asset.AssetInfo;
|
import org.thingsboard.server.common.data.asset.AssetInfo;
|
||||||
import org.thingsboard.server.common.data.asset.AssetProfile;
|
import org.thingsboard.server.common.data.asset.AssetProfile;
|
||||||
import org.thingsboard.server.common.data.id.AssetProfileId;
|
|
||||||
import org.thingsboard.server.common.data.id.CustomerId;
|
import org.thingsboard.server.common.data.id.CustomerId;
|
||||||
import org.thingsboard.server.common.data.id.TenantId;
|
import org.thingsboard.server.common.data.id.TenantId;
|
||||||
import org.thingsboard.server.common.data.page.PageData;
|
import org.thingsboard.server.common.data.page.PageData;
|
||||||
import org.thingsboard.server.common.data.page.PageLink;
|
import org.thingsboard.server.common.data.page.PageLink;
|
||||||
|
import org.thingsboard.server.common.data.relation.EntityRelation;
|
||||||
|
import org.thingsboard.server.common.data.relation.RelationTypeGroup;
|
||||||
import org.thingsboard.server.dao.asset.AssetDao;
|
import org.thingsboard.server.dao.asset.AssetDao;
|
||||||
import org.thingsboard.server.dao.asset.AssetProfileService;
|
import org.thingsboard.server.dao.asset.AssetProfileService;
|
||||||
import org.thingsboard.server.dao.asset.AssetService;
|
import org.thingsboard.server.dao.asset.AssetService;
|
||||||
import org.thingsboard.server.dao.customer.CustomerService;
|
import org.thingsboard.server.dao.customer.CustomerService;
|
||||||
import org.thingsboard.server.dao.exception.DataValidationException;
|
import org.thingsboard.server.dao.exception.DataValidationException;
|
||||||
|
import org.thingsboard.server.dao.relation.RelationService;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import static org.thingsboard.server.dao.model.ModelConstants.NULL_UUID;
|
import static org.thingsboard.server.dao.model.ModelConstants.NULL_UUID;
|
||||||
|
|
||||||
@ -60,6 +59,8 @@ public class AssetServiceTest extends AbstractServiceTest {
|
|||||||
@Autowired
|
@Autowired
|
||||||
CustomerService customerService;
|
CustomerService customerService;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
RelationService relationService;
|
||||||
|
@Autowired
|
||||||
private AssetProfileService assetProfileService;
|
private AssetProfileService assetProfileService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private PlatformTransactionManager platformTransactionManager;
|
private PlatformTransactionManager platformTransactionManager;
|
||||||
@ -252,11 +253,15 @@ public class AssetServiceTest extends AbstractServiceTest {
|
|||||||
asset.setName("My asset");
|
asset.setName("My asset");
|
||||||
asset.setType("default");
|
asset.setType("default");
|
||||||
Asset savedAsset = assetService.saveAsset(asset);
|
Asset savedAsset = assetService.saveAsset(asset);
|
||||||
|
EntityRelation relation = new EntityRelation(tenantId, savedAsset.getId(), EntityRelation.CONTAINS_TYPE);
|
||||||
|
relationService.saveRelation(tenantId, relation);
|
||||||
|
|
||||||
Asset foundAsset = assetService.findAssetById(tenantId, savedAsset.getId());
|
Asset foundAsset = assetService.findAssetById(tenantId, savedAsset.getId());
|
||||||
Assert.assertNotNull(foundAsset);
|
Assert.assertNotNull(foundAsset);
|
||||||
assetService.deleteAsset(tenantId, savedAsset.getId());
|
assetService.deleteAsset(tenantId, savedAsset.getId());
|
||||||
foundAsset = assetService.findAssetById(tenantId, savedAsset.getId());
|
foundAsset = assetService.findAssetById(tenantId, savedAsset.getId());
|
||||||
Assert.assertNull(foundAsset);
|
Assert.assertNull(foundAsset);
|
||||||
|
Assert.assertTrue(relationService.findByTo(tenantId, savedAsset.getId(), RelationTypeGroup.COMMON).isEmpty());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user