added notification entities to the TenantIdLoader
This commit is contained in:
		
							parent
							
								
									b10e162b19
								
							
						
					
					
						commit
						b53f656f72
					
				@ -70,6 +70,11 @@ import org.thingsboard.server.dao.entityview.EntityViewService;
 | 
			
		||||
import org.thingsboard.server.dao.event.EventService;
 | 
			
		||||
import org.thingsboard.server.dao.nosql.CassandraBufferedRateReadExecutor;
 | 
			
		||||
import org.thingsboard.server.dao.nosql.CassandraBufferedRateWriteExecutor;
 | 
			
		||||
import org.thingsboard.server.dao.notification.NotificationRequestService;
 | 
			
		||||
import org.thingsboard.server.dao.notification.NotificationRuleProcessingService;
 | 
			
		||||
import org.thingsboard.server.dao.notification.NotificationRuleService;
 | 
			
		||||
import org.thingsboard.server.dao.notification.NotificationTargetService;
 | 
			
		||||
import org.thingsboard.server.dao.notification.NotificationTemplateService;
 | 
			
		||||
import org.thingsboard.server.dao.ota.OtaPackageService;
 | 
			
		||||
import org.thingsboard.server.dao.queue.QueueService;
 | 
			
		||||
import org.thingsboard.server.dao.relation.RelationService;
 | 
			
		||||
@ -95,7 +100,6 @@ import org.thingsboard.server.service.executors.ExternalCallExecutorService;
 | 
			
		||||
import org.thingsboard.server.service.executors.NotificationExecutorService;
 | 
			
		||||
import org.thingsboard.server.service.executors.SharedEventLoopGroupService;
 | 
			
		||||
import org.thingsboard.server.service.mail.MailExecutorService;
 | 
			
		||||
import org.thingsboard.server.dao.notification.NotificationRuleProcessingService;
 | 
			
		||||
import org.thingsboard.server.service.profile.TbAssetProfileCache;
 | 
			
		||||
import org.thingsboard.server.service.profile.TbDeviceProfileCache;
 | 
			
		||||
import org.thingsboard.server.service.rpc.TbCoreDeviceRpcService;
 | 
			
		||||
@ -339,6 +343,22 @@ public class ActorSystemContext {
 | 
			
		||||
    @Getter
 | 
			
		||||
    private NotificationRuleProcessingService notificationRuleProcessingService;
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    @Getter
 | 
			
		||||
    private NotificationTargetService notificationTargetService;
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    @Getter
 | 
			
		||||
    private NotificationTemplateService notificationTemplateService;
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    @Getter
 | 
			
		||||
    private NotificationRequestService notificationRequestService;
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    @Getter
 | 
			
		||||
    private NotificationRuleService notificationRuleService;
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    @Getter
 | 
			
		||||
    private SlackService slackService;
 | 
			
		||||
 | 
			
		||||
@ -88,6 +88,10 @@ import org.thingsboard.server.dao.edge.EdgeService;
 | 
			
		||||
import org.thingsboard.server.dao.entityview.EntityViewService;
 | 
			
		||||
import org.thingsboard.server.dao.nosql.CassandraStatementTask;
 | 
			
		||||
import org.thingsboard.server.dao.nosql.TbResultSetFuture;
 | 
			
		||||
import org.thingsboard.server.dao.notification.NotificationRequestService;
 | 
			
		||||
import org.thingsboard.server.dao.notification.NotificationRuleService;
 | 
			
		||||
import org.thingsboard.server.dao.notification.NotificationTargetService;
 | 
			
		||||
import org.thingsboard.server.dao.notification.NotificationTemplateService;
 | 
			
		||||
import org.thingsboard.server.dao.ota.OtaPackageService;
 | 
			
		||||
import org.thingsboard.server.dao.queue.QueueService;
 | 
			
		||||
import org.thingsboard.server.dao.relation.RelationService;
 | 
			
		||||
@ -698,6 +702,26 @@ class DefaultTbContext implements TbContext {
 | 
			
		||||
        return mainCtx.getNotificationCenter();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public NotificationTargetService getNotificationTargetService() {
 | 
			
		||||
        return mainCtx.getNotificationTargetService();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public NotificationTemplateService getNotificationTemplateService() {
 | 
			
		||||
        return mainCtx.getNotificationTemplateService();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public NotificationRequestService getNotificationRequestService() {
 | 
			
		||||
        return mainCtx.getNotificationRequestService();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public NotificationRuleService getNotificationRuleService() {
 | 
			
		||||
        return mainCtx.getNotificationRuleService();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public SlackService getSlackService() {
 | 
			
		||||
        return mainCtx.getSlackService();
 | 
			
		||||
 | 
			
		||||
@ -58,6 +58,10 @@ import org.thingsboard.server.dao.edge.EdgeService;
 | 
			
		||||
import org.thingsboard.server.dao.entityview.EntityViewService;
 | 
			
		||||
import org.thingsboard.server.dao.nosql.CassandraStatementTask;
 | 
			
		||||
import org.thingsboard.server.dao.nosql.TbResultSetFuture;
 | 
			
		||||
import org.thingsboard.server.dao.notification.NotificationRequestService;
 | 
			
		||||
import org.thingsboard.server.dao.notification.NotificationRuleService;
 | 
			
		||||
import org.thingsboard.server.dao.notification.NotificationTargetService;
 | 
			
		||||
import org.thingsboard.server.dao.notification.NotificationTemplateService;
 | 
			
		||||
import org.thingsboard.server.dao.ota.OtaPackageService;
 | 
			
		||||
import org.thingsboard.server.dao.queue.QueueService;
 | 
			
		||||
import org.thingsboard.server.dao.relation.RelationService;
 | 
			
		||||
@ -288,6 +292,14 @@ public interface TbContext {
 | 
			
		||||
 | 
			
		||||
    NotificationCenter getNotificationCenter();
 | 
			
		||||
 | 
			
		||||
    NotificationTargetService getNotificationTargetService();
 | 
			
		||||
 | 
			
		||||
    NotificationTemplateService getNotificationTemplateService();
 | 
			
		||||
 | 
			
		||||
    NotificationRequestService getNotificationRequestService();
 | 
			
		||||
 | 
			
		||||
    NotificationRuleService getNotificationRuleService();
 | 
			
		||||
 | 
			
		||||
    SlackService getSlackService();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
 | 
			
		||||
@ -29,6 +29,10 @@ import org.thingsboard.server.common.data.id.DeviceProfileId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.EdgeId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.EntityId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.EntityViewId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.NotificationRequestId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.NotificationRuleId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.NotificationTargetId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.NotificationTemplateId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.OtaPackageId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.QueueId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.RpcId;
 | 
			
		||||
@ -123,6 +127,20 @@ public class TenantIdLoader {
 | 
			
		||||
                    tenantEntity = null;
 | 
			
		||||
                }
 | 
			
		||||
                break;
 | 
			
		||||
            case NOTIFICATION_TARGET:
 | 
			
		||||
                tenantEntity = ctx.getNotificationTargetService().findNotificationTargetById(ctxTenantId, new NotificationTargetId(id));
 | 
			
		||||
                break;
 | 
			
		||||
            case NOTIFICATION_TEMPLATE:
 | 
			
		||||
                tenantEntity = ctx.getNotificationTemplateService().findNotificationTemplateById(ctxTenantId, new NotificationTemplateId(id));
 | 
			
		||||
                break;
 | 
			
		||||
            case NOTIFICATION_REQUEST:
 | 
			
		||||
                tenantEntity = ctx.getNotificationRequestService().findNotificationRequestById(ctxTenantId, new NotificationRequestId(id));
 | 
			
		||||
                break;
 | 
			
		||||
            case NOTIFICATION:
 | 
			
		||||
                return ctxTenantId;
 | 
			
		||||
            case NOTIFICATION_RULE:
 | 
			
		||||
                tenantEntity = ctx.getNotificationRuleService().findNotificationRuleById(ctxTenantId, new NotificationRuleId(id));
 | 
			
		||||
                break;
 | 
			
		||||
            default:
 | 
			
		||||
                throw new RuntimeException("Unexpected entity type: " + entityId.getEntityType());
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -48,8 +48,13 @@ import org.thingsboard.server.common.data.id.AssetProfileId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.DeviceProfileId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.EntityId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.EntityIdFactory;
 | 
			
		||||
import org.thingsboard.server.common.data.id.NotificationId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.TenantId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.TenantProfileId;
 | 
			
		||||
import org.thingsboard.server.common.data.notification.NotificationRequest;
 | 
			
		||||
import org.thingsboard.server.common.data.notification.rule.NotificationRule;
 | 
			
		||||
import org.thingsboard.server.common.data.notification.targets.NotificationTarget;
 | 
			
		||||
import org.thingsboard.server.common.data.notification.template.NotificationTemplate;
 | 
			
		||||
import org.thingsboard.server.common.data.queue.Queue;
 | 
			
		||||
import org.thingsboard.server.common.data.rpc.Rpc;
 | 
			
		||||
import org.thingsboard.server.common.data.rule.RuleChain;
 | 
			
		||||
@ -63,6 +68,11 @@ import org.thingsboard.server.dao.dashboard.DashboardService;
 | 
			
		||||
import org.thingsboard.server.dao.device.DeviceService;
 | 
			
		||||
import org.thingsboard.server.dao.edge.EdgeService;
 | 
			
		||||
import org.thingsboard.server.dao.entityview.EntityViewService;
 | 
			
		||||
import org.thingsboard.server.dao.notification.NotificationRequestService;
 | 
			
		||||
import org.thingsboard.server.dao.notification.NotificationRuleService;
 | 
			
		||||
import org.thingsboard.server.dao.notification.NotificationService;
 | 
			
		||||
import org.thingsboard.server.dao.notification.NotificationTargetService;
 | 
			
		||||
import org.thingsboard.server.dao.notification.NotificationTemplateService;
 | 
			
		||||
import org.thingsboard.server.dao.ota.OtaPackageService;
 | 
			
		||||
import org.thingsboard.server.dao.queue.QueueService;
 | 
			
		||||
import org.thingsboard.server.dao.resource.ResourceService;
 | 
			
		||||
@ -121,9 +131,20 @@ public class TenantIdLoaderTest {
 | 
			
		||||
    private RuleEngineRpcService rpcService;
 | 
			
		||||
    @Mock
 | 
			
		||||
    private RuleEngineApiUsageStateService ruleEngineApiUsageStateService;
 | 
			
		||||
    @Mock
 | 
			
		||||
    private NotificationTargetService notificationTargetService;
 | 
			
		||||
    @Mock
 | 
			
		||||
    private NotificationTemplateService notificationTemplateService;
 | 
			
		||||
    @Mock
 | 
			
		||||
    private NotificationRequestService notificationRequestService;
 | 
			
		||||
    @Mock
 | 
			
		||||
    private NotificationService notificationService;
 | 
			
		||||
    @Mock
 | 
			
		||||
    private NotificationRuleService notificationRuleService;
 | 
			
		||||
 | 
			
		||||
    private TenantId tenantId;
 | 
			
		||||
    private TenantProfileId tenantProfileId;
 | 
			
		||||
    private NotificationId notificationId;
 | 
			
		||||
    private AbstractListeningExecutor dbExecutor;
 | 
			
		||||
 | 
			
		||||
    @Before
 | 
			
		||||
@ -137,6 +158,7 @@ public class TenantIdLoaderTest {
 | 
			
		||||
        dbExecutor.init();
 | 
			
		||||
        this.tenantId = new TenantId(UUID.randomUUID());
 | 
			
		||||
        this.tenantProfileId = new TenantProfileId(UUID.randomUUID());
 | 
			
		||||
        this.notificationId = new NotificationId(UUID.randomUUID());
 | 
			
		||||
 | 
			
		||||
        when(ctx.getTenantId()).thenReturn(tenantId);
 | 
			
		||||
 | 
			
		||||
@ -153,6 +175,7 @@ public class TenantIdLoaderTest {
 | 
			
		||||
    private void initMocks(EntityType entityType, TenantId tenantId) {
 | 
			
		||||
        switch (entityType) {
 | 
			
		||||
            case TENANT:
 | 
			
		||||
            case NOTIFICATION:
 | 
			
		||||
                break;
 | 
			
		||||
            case CUSTOMER:
 | 
			
		||||
                Customer customer = new Customer();
 | 
			
		||||
@ -310,6 +333,30 @@ public class TenantIdLoaderTest {
 | 
			
		||||
 | 
			
		||||
                when(ctx.getTenantProfile()).thenReturn(tenantProfile);
 | 
			
		||||
 | 
			
		||||
                break;
 | 
			
		||||
            case NOTIFICATION_TARGET:
 | 
			
		||||
                NotificationTarget notificationTarget = new NotificationTarget();
 | 
			
		||||
                notificationTarget.setTenantId(tenantId);
 | 
			
		||||
                when(ctx.getNotificationTargetService()).thenReturn(notificationTargetService);
 | 
			
		||||
                doReturn(notificationTarget).when(notificationTargetService).findNotificationTargetById(eq(tenantId), any());
 | 
			
		||||
                break;
 | 
			
		||||
            case NOTIFICATION_TEMPLATE:
 | 
			
		||||
                NotificationTemplate notificationTemplate = new NotificationTemplate();
 | 
			
		||||
                notificationTemplate.setTenantId(tenantId);
 | 
			
		||||
                when(ctx.getNotificationTemplateService()).thenReturn(notificationTemplateService);
 | 
			
		||||
                doReturn(notificationTemplate).when(notificationTemplateService).findNotificationTemplateById(eq(tenantId), any());
 | 
			
		||||
                break;
 | 
			
		||||
            case NOTIFICATION_REQUEST:
 | 
			
		||||
                NotificationRequest notificationRequest = new NotificationRequest();
 | 
			
		||||
                notificationRequest.setTenantId(tenantId);
 | 
			
		||||
                when(ctx.getNotificationRequestService()).thenReturn(notificationRequestService);
 | 
			
		||||
                doReturn(notificationRequest).when(notificationRequestService).findNotificationRequestById(eq(tenantId), any());
 | 
			
		||||
                break;
 | 
			
		||||
            case NOTIFICATION_RULE:
 | 
			
		||||
                NotificationRule notificationRule = new NotificationRule();
 | 
			
		||||
                notificationRule.setTenantId(tenantId);
 | 
			
		||||
                when(ctx.getNotificationRuleService()).thenReturn(notificationRuleService);
 | 
			
		||||
                doReturn(notificationRule).when(notificationRuleService).findNotificationRuleById(eq(tenantId), any());
 | 
			
		||||
                break;
 | 
			
		||||
            default:
 | 
			
		||||
                throw new RuntimeException("Unexpected original EntityType " + entityType);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user