|
|
|
@ -56,6 +56,7 @@ import org.thingsboard.server.dao.customer.CustomerService; |
|
|
|
import org.thingsboard.server.dao.dashboard.DashboardService; |
|
|
|
import org.thingsboard.server.dao.device.DeviceCredentialsService; |
|
|
|
import org.thingsboard.server.dao.device.DeviceService; |
|
|
|
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.model.ModelConstants; |
|
|
|
@ -139,6 +140,9 @@ public abstract class BaseController { |
|
|
|
@Autowired |
|
|
|
protected DeviceStateService deviceStateService; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
protected EntityViewService entityViewService; |
|
|
|
|
|
|
|
@ExceptionHandler(ThingsboardException.class) |
|
|
|
public void handleThingsboardException(ThingsboardException ex, HttpServletResponse response) { |
|
|
|
errorResponseHandler.handle(ex, response); |
|
|
|
@ -313,6 +317,9 @@ public abstract class BaseController { |
|
|
|
case USER: |
|
|
|
checkUserId(new UserId(entityId.getId())); |
|
|
|
return; |
|
|
|
case ENTITY_VIEW: |
|
|
|
checkEntityView(entityViewService.findEntityViewById(new EntityViewId(entityId.getId()))); |
|
|
|
return; |
|
|
|
default: |
|
|
|
throw new IllegalArgumentException("Unsupported entity type: " + entityId.getEntityType()); |
|
|
|
} |
|
|
|
@ -340,6 +347,25 @@ public abstract class BaseController { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
protected EntityView checkEntityViewId(EntityViewId entityViewId) throws ThingsboardException { |
|
|
|
try { |
|
|
|
validateId(entityViewId, "Incorrect entityViewId " + entityViewId); |
|
|
|
EntityView entityView = entityViewService.findEntityViewById(entityViewId); |
|
|
|
checkEntityView(entityView); |
|
|
|
return entityView; |
|
|
|
} catch (Exception e) { |
|
|
|
throw handleException(e, false); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
protected void checkEntityView(EntityView entityView) throws ThingsboardException { |
|
|
|
checkNotNull(entityView); |
|
|
|
checkTenantId(entityView.getTenantId()); |
|
|
|
if (entityView.getCustomerId() != null && !entityView.getCustomerId().getId().equals(ModelConstants.NULL_UUID)) { |
|
|
|
checkCustomerId(entityView.getCustomerId()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
Asset checkAssetId(AssetId assetId) throws ThingsboardException { |
|
|
|
try { |
|
|
|
validateId(assetId, "Incorrect assetId " + assetId); |
|
|
|
|