Fix asset relations deletion
This commit is contained in:
		
							parent
							
								
									320cedd621
								
							
						
					
					
						commit
						55d0d591c6
					
				@ -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