Browse Source

refactor tenantExists method

pull/5959/head
deso-deso 5 years ago
parent
commit
54c48e1166
  1. 2
      common/dao-api/src/main/java/org/thingsboard/server/dao/tenant/TenantService.java
  2. 3
      dao/src/main/java/org/thingsboard/server/dao/alarm/BaseAlarmService.java
  3. 4
      dao/src/main/java/org/thingsboard/server/dao/asset/BaseAssetService.java
  4. 4
      dao/src/main/java/org/thingsboard/server/dao/customer/CustomerServiceImpl.java
  5. 3
      dao/src/main/java/org/thingsboard/server/dao/dashboard/DashboardServiceImpl.java
  6. 3
      dao/src/main/java/org/thingsboard/server/dao/device/DeviceProfileServiceImpl.java
  7. 4
      dao/src/main/java/org/thingsboard/server/dao/device/DeviceServiceImpl.java
  8. 3
      dao/src/main/java/org/thingsboard/server/dao/edge/EdgeServiceImpl.java
  9. 4
      dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewServiceImpl.java
  10. 3
      dao/src/main/java/org/thingsboard/server/dao/ota/BaseOtaPackageService.java
  11. 3
      dao/src/main/java/org/thingsboard/server/dao/resource/BaseResourceService.java
  12. 3
      dao/src/main/java/org/thingsboard/server/dao/rule/BaseRuleChainService.java
  13. 7
      dao/src/main/java/org/thingsboard/server/dao/tenant/TenantServiceImpl.java
  14. 2
      dao/src/main/java/org/thingsboard/server/dao/usagerecord/ApiUsageStateServiceImpl.java
  15. 3
      dao/src/main/java/org/thingsboard/server/dao/user/UserServiceImpl.java
  16. 3
      dao/src/main/java/org/thingsboard/server/dao/widget/WidgetTypeServiceImpl.java
  17. 3
      dao/src/main/java/org/thingsboard/server/dao/widget/WidgetsBundleServiceImpl.java
  18. 8
      dao/src/test/java/org/thingsboard/server/dao/service/BaseTenantServiceTest.java

2
common/dao-api/src/main/java/org/thingsboard/server/dao/tenant/TenantService.java

@ -32,7 +32,7 @@ public interface TenantService {
Tenant saveTenant(Tenant tenant);
boolean exists(TenantId tenantId);
boolean tenantExists(TenantId tenantId);
void deleteTenant(TenantId tenantId);

3
dao/src/main/java/org/thingsboard/server/dao/alarm/BaseAlarmService.java

@ -27,7 +27,6 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import org.thingsboard.common.util.ThingsBoardThreadFactory;
import org.thingsboard.server.common.data.Tenant;
import org.thingsboard.server.common.data.alarm.Alarm;
import org.thingsboard.server.common.data.alarm.AlarmInfo;
import org.thingsboard.server.common.data.alarm.AlarmQuery;
@ -430,7 +429,7 @@ public class BaseAlarmService extends AbstractEntityService implements AlarmServ
if (alarm.getTenantId() == null) {
throw new DataValidationException("Alarm should be assigned to tenant!");
} else {
if (!tenantService.exists(alarm.getTenantId())) {
if (!tenantService.tenantExists(alarm.getTenantId())) {
throw new DataValidationException("Alarm is referencing to non-existent tenant!");
}
}

4
dao/src/main/java/org/thingsboard/server/dao/asset/BaseAssetService.java

@ -33,7 +33,6 @@ import org.thingsboard.server.common.data.Customer;
import org.thingsboard.server.common.data.EntitySubtype;
import org.thingsboard.server.common.data.EntityType;
import org.thingsboard.server.common.data.EntityView;
import org.thingsboard.server.common.data.Tenant;
import org.thingsboard.server.common.data.asset.Asset;
import org.thingsboard.server.common.data.asset.AssetInfo;
import org.thingsboard.server.common.data.asset.AssetSearchQuery;
@ -62,7 +61,6 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.concurrent.ExecutionException;
import java.util.stream.Collectors;
import static org.thingsboard.server.common.data.CacheConstants.ASSET_CACHE;
@ -411,7 +409,7 @@ public class BaseAssetService extends AbstractEntityService implements AssetServ
if (asset.getTenantId() == null) {
throw new DataValidationException("Asset should be assigned to tenant!");
} else {
if (!tenantService.exists(asset.getTenantId())) {
if (!tenantService.tenantExists(asset.getTenantId())) {
throw new DataValidationException("Asset is referencing to non-existent tenant!");
}
}

4
dao/src/main/java/org/thingsboard/server/dao/customer/CustomerServiceImpl.java

@ -25,7 +25,6 @@ import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.thingsboard.server.common.data.Customer;
import org.thingsboard.server.common.data.EntityType;
import org.thingsboard.server.common.data.Tenant;
import org.thingsboard.server.common.data.id.CustomerId;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.page.PageData;
@ -35,7 +34,6 @@ import org.thingsboard.server.dao.asset.AssetService;
import org.thingsboard.server.dao.dashboard.DashboardService;
import org.thingsboard.server.dao.device.DeviceService;
import org.thingsboard.server.dao.entity.AbstractEntityService;
import org.thingsboard.server.dao.entityview.EntityViewService;
import org.thingsboard.server.dao.exception.DataValidationException;
import org.thingsboard.server.dao.exception.IncorrectParameterException;
import org.thingsboard.server.dao.service.DataValidator;
@ -210,7 +208,7 @@ public class CustomerServiceImpl extends AbstractEntityService implements Custom
if (customer.getTenantId() == null) {
throw new DataValidationException("Customer should be assigned to tenant!");
} else {
if (!tenantService.exists(customer.getTenantId())) {
if (!tenantService.tenantExists(customer.getTenantId())) {
throw new DataValidationException("Customer is referencing to non-existent tenant!");
}
}

3
dao/src/main/java/org/thingsboard/server/dao/dashboard/DashboardServiceImpl.java

@ -26,7 +26,6 @@ import org.thingsboard.server.common.data.Customer;
import org.thingsboard.server.common.data.Dashboard;
import org.thingsboard.server.common.data.DashboardInfo;
import org.thingsboard.server.common.data.EntityType;
import org.thingsboard.server.common.data.Tenant;
import org.thingsboard.server.common.data.edge.Edge;
import org.thingsboard.server.common.data.id.CustomerId;
import org.thingsboard.server.common.data.id.DashboardId;
@ -308,7 +307,7 @@ public class DashboardServiceImpl extends AbstractEntityService implements Dashb
if (dashboard.getTenantId() == null) {
throw new DataValidationException("Dashboard should be assigned to tenant!");
} else {
if (!tenantService.exists(dashboard.getTenantId())) {
if (!tenantService.tenantExists(dashboard.getTenantId())) {
throw new DataValidationException("Dashboard is referencing to non-existent tenant!");
}
}

3
dao/src/main/java/org/thingsboard/server/dao/device/DeviceProfileServiceImpl.java

@ -45,7 +45,6 @@ import org.thingsboard.server.common.data.DeviceProfileProvisionType;
import org.thingsboard.server.common.data.DeviceProfileType;
import org.thingsboard.server.common.data.DeviceTransportType;
import org.thingsboard.server.common.data.OtaPackage;
import org.thingsboard.server.common.data.Tenant;
import org.thingsboard.server.common.data.device.credentials.lwm2m.LwM2MSecurityMode;
import org.thingsboard.server.common.data.device.profile.CoapDeviceProfileTransportConfiguration;
import org.thingsboard.server.common.data.device.profile.CoapDeviceTypeConfiguration;
@ -375,7 +374,7 @@ public class DeviceProfileServiceImpl extends AbstractEntityService implements D
if (deviceProfile.getTenantId() == null) {
throw new DataValidationException("Device profile should be assigned to tenant!");
} else {
if (!tenantService.exists(deviceProfile.getTenantId())) {
if (!tenantService.tenantExists(deviceProfile.getTenantId())) {
throw new DataValidationException("Device profile is referencing to non-existent tenant!");
}
}

4
dao/src/main/java/org/thingsboard/server/dao/device/DeviceServiceImpl.java

@ -43,7 +43,6 @@ import org.thingsboard.server.common.data.EntitySubtype;
import org.thingsboard.server.common.data.EntityType;
import org.thingsboard.server.common.data.EntityView;
import org.thingsboard.server.common.data.OtaPackage;
import org.thingsboard.server.common.data.Tenant;
import org.thingsboard.server.common.data.device.DeviceSearchQuery;
import org.thingsboard.server.common.data.device.credentials.BasicMqttCredentials;
import org.thingsboard.server.common.data.device.data.CoapDeviceTransportConfiguration;
@ -91,7 +90,6 @@ import java.util.Comparator;
import java.util.List;
import java.util.Optional;
import java.util.UUID;
import java.util.concurrent.ExecutionException;
import java.util.stream.Collectors;
import static org.thingsboard.server.common.data.CacheConstants.DEVICE_CACHE;
@ -731,7 +729,7 @@ public class DeviceServiceImpl extends AbstractEntityService implements DeviceSe
if (device.getTenantId() == null) {
throw new DataValidationException("Device should be assigned to tenant!");
} else {
if (!tenantService.exists(device.getTenantId())) {
if (!tenantService.tenantExists(device.getTenantId())) {
throw new DataValidationException("Device is referencing to non-existent tenant!");
}
}

3
dao/src/main/java/org/thingsboard/server/dao/edge/EdgeServiceImpl.java

@ -34,7 +34,6 @@ import org.springframework.util.StringUtils;
import org.thingsboard.server.common.data.Customer;
import org.thingsboard.server.common.data.EntitySubtype;
import org.thingsboard.server.common.data.EntityType;
import org.thingsboard.server.common.data.Tenant;
import org.thingsboard.server.common.data.User;
import org.thingsboard.server.common.data.edge.Edge;
import org.thingsboard.server.common.data.edge.EdgeInfo;
@ -413,7 +412,7 @@ public class EdgeServiceImpl extends AbstractEntityService implements EdgeServic
if (edge.getTenantId() == null) {
throw new DataValidationException("Edge should be assigned to tenant!");
} else {
if (!tenantService.exists(edge.getTenantId())) {
if (!tenantService.tenantExists(edge.getTenantId())) {
throw new DataValidationException("Edge is referencing to non-existent tenant!");
}
}

4
dao/src/main/java/org/thingsboard/server/dao/entityview/EntityViewServiceImpl.java

@ -34,7 +34,6 @@ import org.thingsboard.server.common.data.EntitySubtype;
import org.thingsboard.server.common.data.EntityType;
import org.thingsboard.server.common.data.EntityView;
import org.thingsboard.server.common.data.EntityViewInfo;
import org.thingsboard.server.common.data.Tenant;
import org.thingsboard.server.common.data.edge.Edge;
import org.thingsboard.server.common.data.entityview.EntityViewSearchQuery;
import org.thingsboard.server.common.data.id.CustomerId;
@ -61,7 +60,6 @@ import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
import java.util.concurrent.ExecutionException;
import java.util.stream.Collectors;
import static org.thingsboard.server.common.data.CacheConstants.ENTITY_VIEW_CACHE;
@ -446,7 +444,7 @@ public class EntityViewServiceImpl extends AbstractEntityService implements Enti
if (entityView.getTenantId() == null) {
throw new DataValidationException("Entity view should be assigned to tenant!");
} else {
if (!tenantService.exists(entityView.getTenantId())) {
if (!tenantService.tenantExists(entityView.getTenantId())) {
throw new DataValidationException("Entity view is referencing to non-existent tenant!");
}
}

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

@ -32,7 +32,6 @@ import org.thingsboard.server.common.data.DeviceProfile;
import org.thingsboard.server.common.data.OtaPackage;
import org.thingsboard.server.common.data.OtaPackageInfo;
import org.thingsboard.server.common.data.StringUtils;
import org.thingsboard.server.common.data.Tenant;
import org.thingsboard.server.common.data.id.DeviceProfileId;
import org.thingsboard.server.common.data.id.OtaPackageId;
import org.thingsboard.server.common.data.id.TenantId;
@ -357,7 +356,7 @@ public class BaseOtaPackageService implements OtaPackageService {
if (otaPackageInfo.getTenantId() == null) {
throw new DataValidationException("OtaPackage should be assigned to tenant!");
} else {
if (!tenantService.exists(otaPackageInfo.getTenantId())) {
if (!tenantService.tenantExists(otaPackageInfo.getTenantId())) {
throw new DataValidationException("OtaPackage is referencing to non-existent tenant!");
}
}

3
dao/src/main/java/org/thingsboard/server/dao/resource/BaseResourceService.java

@ -24,7 +24,6 @@ import org.springframework.stereotype.Service;
import org.thingsboard.server.common.data.ResourceType;
import org.thingsboard.server.common.data.TbResource;
import org.thingsboard.server.common.data.TbResourceInfo;
import org.thingsboard.server.common.data.Tenant;
import org.thingsboard.server.common.data.id.TbResourceId;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.page.PageData;
@ -183,7 +182,7 @@ public class BaseResourceService implements ResourceService {
resource.setTenantId(new TenantId(ModelConstants.NULL_UUID));
}
if (!resource.getTenantId().getId().equals(ModelConstants.NULL_UUID)) {
if (!tenantService.exists(resource.getTenantId())) {
if (!tenantService.tenantExists(resource.getTenantId())) {
throw new DataValidationException("Resource is referencing to non-existent tenant!");
}
}

3
dao/src/main/java/org/thingsboard/server/dao/rule/BaseRuleChainService.java

@ -30,7 +30,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.thingsboard.server.common.data.BaseData;
import org.thingsboard.server.common.data.EntityType;
import org.thingsboard.server.common.data.Tenant;
import org.thingsboard.server.common.data.edge.Edge;
import org.thingsboard.server.common.data.id.EdgeId;
import org.thingsboard.server.common.data.id.EntityId;
@ -726,7 +725,7 @@ public class BaseRuleChainService extends AbstractEntityService implements RuleC
if (ruleChain.getTenantId() == null || ruleChain.getTenantId().isNullUid()) {
throw new DataValidationException("Rule chain should be assigned to tenant!");
}
if (!tenantService.exists(ruleChain.getTenantId())) {
if (!tenantService.tenantExists(ruleChain.getTenantId())) {
throw new DataValidationException("Rule chain is referencing to non-existent tenant!");
}
if (ruleChain.isRoot() && RuleChainType.CORE.equals(ruleChain.getType())) {

7
dao/src/main/java/org/thingsboard/server/dao/tenant/TenantServiceImpl.java

@ -131,10 +131,7 @@ public class TenantServiceImpl extends AbstractEntityService implements TenantSe
@Override
@Transactional
@Caching(evict = {
@CacheEvict(cacheNames = TENANTS_CACHE, key = "{#tenant.id, 'TENANT'}", condition = "#tenant.id!=null"),
@CacheEvict(cacheNames = TENANTS_CACHE, key = "{#tenant.id, 'EXISTS'}", condition = "#tenant.id!=null")
})
@CacheEvict(cacheNames = TENANTS_CACHE, key = "{#tenant.id, 'TENANT'}", condition = "#tenant.id!=null")
public Tenant saveTenant(Tenant tenant) {
log.trace("Executing saveTenant [{}]", tenant);
tenant.setRegion(DEFAULT_TENANT_REGION);
@ -206,7 +203,7 @@ public class TenantServiceImpl extends AbstractEntityService implements TenantSe
}
@Cacheable(cacheNames = TENANTS_CACHE, key = "{#tenantId, 'EXISTS'}")
public boolean exists(TenantId tenantId) {
public boolean tenantExists(TenantId tenantId) {
return tenantDao.existsById(tenantId, tenantId.getId());
}

2
dao/src/main/java/org/thingsboard/server/dao/usagerecord/ApiUsageStateServiceImpl.java

@ -164,7 +164,7 @@ public class ApiUsageStateServiceImpl extends AbstractEntityService implements A
if (apiUsageState.getTenantId() == null) {
throw new DataValidationException("ApiUsageState should be assigned to tenant!");
} else {
if (!tenantService.exists(apiUsageState.getTenantId()) && !requestTenantId.equals(TenantId.SYS_TENANT_ID)) {
if (!tenantService.tenantExists(apiUsageState.getTenantId()) && !requestTenantId.equals(TenantId.SYS_TENANT_ID)) {
throw new DataValidationException("ApiUsageState is referencing to non-existent tenant!");
}
}

3
dao/src/main/java/org/thingsboard/server/dao/user/UserServiceImpl.java

@ -31,7 +31,6 @@ import org.springframework.stereotype.Service;
import org.thingsboard.common.util.JacksonUtil;
import org.thingsboard.server.common.data.Customer;
import org.thingsboard.server.common.data.EntityType;
import org.thingsboard.server.common.data.Tenant;
import org.thingsboard.server.common.data.User;
import org.thingsboard.server.common.data.id.CustomerId;
import org.thingsboard.server.common.data.id.TenantId;
@ -448,7 +447,7 @@ public class UserServiceImpl extends AbstractEntityService implements UserServic
+ " already present in database!");
}
if (!tenantId.getId().equals(ModelConstants.NULL_UUID)) {
if (!tenantService.exists(user.getTenantId())) {
if (!tenantService.tenantExists(user.getTenantId())) {
throw new DataValidationException("User is referencing to non-existent tenant!");
}
}

3
dao/src/main/java/org/thingsboard/server/dao/widget/WidgetTypeServiceImpl.java

@ -19,7 +19,6 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.thingsboard.server.common.data.Tenant;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.id.WidgetTypeId;
import org.thingsboard.server.common.data.widget.WidgetType;
@ -138,7 +137,7 @@ public class WidgetTypeServiceImpl implements WidgetTypeService {
widgetTypeDetails.setTenantId(new TenantId(ModelConstants.NULL_UUID));
}
if (!widgetTypeDetails.getTenantId().getId().equals(ModelConstants.NULL_UUID)) {
if (!tenantService.exists(widgetTypeDetails.getTenantId())) {
if (!tenantService.tenantExists(widgetTypeDetails.getTenantId())) {
throw new DataValidationException("Widget type is referencing to non-existent tenant!");
}
}

3
dao/src/main/java/org/thingsboard/server/dao/widget/WidgetsBundleServiceImpl.java

@ -19,7 +19,6 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.thingsboard.server.common.data.Tenant;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.id.WidgetsBundleId;
import org.thingsboard.server.common.data.page.PageData;
@ -162,7 +161,7 @@ public class WidgetsBundleServiceImpl implements WidgetsBundleService {
widgetsBundle.setTenantId(new TenantId(ModelConstants.NULL_UUID));
}
if (!widgetsBundle.getTenantId().getId().equals(ModelConstants.NULL_UUID)) {
if (!tenantService.exists(widgetsBundle.getTenantId())) {
if (!tenantService.tenantExists(widgetsBundle.getTenantId())) {
throw new DataValidationException("Widgets bundle is referencing to non-existent tenant!");
}
}

8
dao/src/test/java/org/thingsboard/server/dao/service/BaseTenantServiceTest.java

@ -363,7 +363,7 @@ public abstract class BaseTenantServiceTest extends AbstractServiceTest {
tenantCache.clear();
verify(tenantDao, Mockito.times(0)).existsById(any(), any());
tenantService.exists(savedTenant.getId());
tenantService.tenantExists(savedTenant.getId());
verify(tenantDao, Mockito.times(1)).existsById(eq(savedTenant.getId()), eq(savedTenant.getId().getId()));
Cache.ValueWrapper cachedExists =
@ -371,7 +371,7 @@ public abstract class BaseTenantServiceTest extends AbstractServiceTest {
Assert.assertNotNull("Getting an existing Tenant doesn't add it to the cache!", cachedExists);
for (int i = 0; i < 100; i++) {
tenantService.exists(savedTenant.getId());
tenantService.tenantExists(savedTenant.getId());
}
verify(tenantDao, Mockito.times(1)).existsById(eq(savedTenant.getId()), eq(savedTenant.getId().getId()));
@ -403,7 +403,7 @@ public abstract class BaseTenantServiceTest extends AbstractServiceTest {
Mockito.reset(tenantDao);
verify(tenantDao, Mockito.times(0)).existsById(any(), any());
tenantService.exists(savedTenant.getId());
tenantService.tenantExists(savedTenant.getId());
verify(tenantDao, Mockito.times(1)).existsById(eq(savedTenant.getId()), eq(savedTenant.getId().getId()));
tenantService.deleteTenant(savedTenant.getId());
@ -415,7 +415,7 @@ public abstract class BaseTenantServiceTest extends AbstractServiceTest {
tenant.setTitle("My tenant");
Tenant savedTenant = tenantService.saveTenant(tenant);
tenantService.exists(savedTenant.getId());
tenantService.tenantExists(savedTenant.getId());
Cache.ValueWrapper cachedTenant =
Objects.requireNonNull(tenantCache, "Cache manager is null!").get(List.of(savedTenant.getId(), "TENANT"));

Loading…
Cancel
Save