Notification rule trigger via ClusterService
This commit is contained in:
parent
d221cf1354
commit
bbaf2a5054
@ -24,7 +24,7 @@ import org.thingsboard.server.common.data.id.RuleChainId;
|
||||
import org.thingsboard.server.common.data.id.TenantId;
|
||||
import org.thingsboard.server.common.data.plugin.ComponentLifecycleEvent;
|
||||
import org.thingsboard.server.common.msg.TbActorStopReason;
|
||||
import org.thingsboard.server.dao.notification.trigger.RuleEngineComponentLifecycleEventTrigger;
|
||||
import org.thingsboard.server.common.msg.notification.trigger.RuleEngineComponentLifecycleEventTrigger;
|
||||
|
||||
public abstract class RuleEngineComponentActor<T extends EntityId, P extends ComponentMsgProcessor<T>> extends ComponentActor<T, P> {
|
||||
|
||||
|
||||
@ -53,7 +53,7 @@ import org.thingsboard.server.common.msg.queue.TbCallback;
|
||||
import org.thingsboard.server.common.msg.queue.TopicPartitionInfo;
|
||||
import org.thingsboard.server.common.msg.tools.SchedulerUtils;
|
||||
import org.thingsboard.server.dao.notification.NotificationRuleProcessingService;
|
||||
import org.thingsboard.server.dao.notification.trigger.ApiUsageLimitTrigger;
|
||||
import org.thingsboard.server.common.msg.notification.trigger.ApiUsageLimitTrigger;
|
||||
import org.thingsboard.server.dao.tenant.TbTenantProfileCache;
|
||||
import org.thingsboard.server.dao.tenant.TenantService;
|
||||
import org.thingsboard.server.dao.timeseries.TimeseriesService;
|
||||
|
||||
@ -35,7 +35,7 @@ import org.thingsboard.server.common.data.exception.ThingsboardException;
|
||||
import org.thingsboard.server.common.data.id.EdgeId;
|
||||
import org.thingsboard.server.common.data.id.TenantId;
|
||||
import org.thingsboard.server.common.data.id.UserId;
|
||||
import org.thingsboard.server.dao.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.service.entitiy.AbstractTbEntityService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -40,8 +40,8 @@ import org.thingsboard.server.common.msg.plugin.ComponentLifecycleMsg;
|
||||
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.trigger.NotificationRuleTrigger;
|
||||
import org.thingsboard.server.dao.notification.trigger.RuleEngineMsgTrigger;
|
||||
import org.thingsboard.server.common.msg.notification.trigger.NotificationRuleTrigger;
|
||||
import org.thingsboard.server.common.msg.notification.trigger.RuleEngineMsgTrigger;
|
||||
import org.thingsboard.server.service.executors.NotificationExecutorService;
|
||||
import org.thingsboard.server.service.notification.rule.trigger.NotificationRuleTriggerProcessor;
|
||||
import org.thingsboard.server.service.notification.rule.trigger.RuleEngineMsgNotificationRuleTriggerProcessor;
|
||||
|
||||
@ -27,7 +27,7 @@ import org.thingsboard.server.common.data.notification.info.RuleOriginatedNotifi
|
||||
import org.thingsboard.server.common.data.notification.rule.trigger.AlarmAssignmentNotificationRuleTriggerConfig;
|
||||
import org.thingsboard.server.common.data.notification.rule.trigger.AlarmAssignmentNotificationRuleTriggerConfig.Action;
|
||||
import org.thingsboard.server.common.data.notification.rule.trigger.NotificationRuleTriggerType;
|
||||
import org.thingsboard.server.dao.notification.trigger.RuleEngineMsgTrigger;
|
||||
import org.thingsboard.server.common.msg.notification.trigger.RuleEngineMsgTrigger;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
|
||||
@ -28,7 +28,7 @@ import org.thingsboard.server.common.data.notification.info.RuleOriginatedNotifi
|
||||
import org.thingsboard.server.common.data.notification.rule.trigger.AlarmCommentNotificationRuleTriggerConfig;
|
||||
import org.thingsboard.server.common.data.notification.rule.trigger.NotificationRuleTriggerType;
|
||||
import org.thingsboard.server.common.msg.TbMsg;
|
||||
import org.thingsboard.server.dao.notification.trigger.RuleEngineMsgTrigger;
|
||||
import org.thingsboard.server.common.msg.notification.trigger.RuleEngineMsgTrigger;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
|
||||
@ -25,8 +25,8 @@ import org.thingsboard.server.common.data.notification.rule.trigger.AlarmNotific
|
||||
import org.thingsboard.server.common.data.notification.rule.trigger.AlarmNotificationRuleTriggerConfig.AlarmAction;
|
||||
import org.thingsboard.server.common.data.notification.rule.trigger.AlarmNotificationRuleTriggerConfig.ClearRule;
|
||||
import org.thingsboard.server.common.data.notification.rule.trigger.NotificationRuleTriggerType;
|
||||
import org.thingsboard.server.dao.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.dao.notification.trigger.AlarmTrigger;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.common.msg.notification.trigger.AlarmTrigger;
|
||||
|
||||
import static org.apache.commons.collections.CollectionUtils.isEmpty;
|
||||
import static org.apache.commons.collections.CollectionUtils.isNotEmpty;
|
||||
|
||||
@ -21,7 +21,7 @@ import org.thingsboard.server.common.data.notification.info.ApiUsageLimitNotific
|
||||
import org.thingsboard.server.common.data.notification.info.RuleOriginatedNotificationInfo;
|
||||
import org.thingsboard.server.common.data.notification.rule.trigger.ApiUsageLimitNotificationRuleTriggerConfig;
|
||||
import org.thingsboard.server.common.data.notification.rule.trigger.NotificationRuleTriggerType;
|
||||
import org.thingsboard.server.dao.notification.trigger.ApiUsageLimitTrigger;
|
||||
import org.thingsboard.server.common.msg.notification.trigger.ApiUsageLimitTrigger;
|
||||
import org.thingsboard.server.dao.tenant.TenantService;
|
||||
|
||||
import static org.apache.commons.collections.CollectionUtils.isEmpty;
|
||||
|
||||
@ -28,7 +28,7 @@ import org.thingsboard.server.common.data.notification.rule.trigger.DeviceActivi
|
||||
import org.thingsboard.server.common.data.notification.rule.trigger.DeviceActivityNotificationRuleTriggerConfig.DeviceEvent;
|
||||
import org.thingsboard.server.common.data.notification.rule.trigger.NotificationRuleTriggerType;
|
||||
import org.thingsboard.server.common.msg.TbMsg;
|
||||
import org.thingsboard.server.dao.notification.trigger.RuleEngineMsgTrigger;
|
||||
import org.thingsboard.server.common.msg.notification.trigger.RuleEngineMsgTrigger;
|
||||
import org.thingsboard.server.service.profile.TbDeviceProfileCache;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
@ -21,7 +21,7 @@ import org.thingsboard.server.common.data.notification.info.EntitiesLimitNotific
|
||||
import org.thingsboard.server.common.data.notification.info.RuleOriginatedNotificationInfo;
|
||||
import org.thingsboard.server.common.data.notification.rule.trigger.EntitiesLimitNotificationRuleTriggerConfig;
|
||||
import org.thingsboard.server.common.data.notification.rule.trigger.NotificationRuleTriggerType;
|
||||
import org.thingsboard.server.dao.notification.trigger.EntitiesLimitTrigger;
|
||||
import org.thingsboard.server.common.msg.notification.trigger.EntitiesLimitTrigger;
|
||||
import org.thingsboard.server.dao.tenant.TenantService;
|
||||
|
||||
import static org.apache.commons.collections.CollectionUtils.isNotEmpty;
|
||||
|
||||
@ -24,7 +24,7 @@ import org.thingsboard.server.common.data.notification.info.RuleOriginatedNotifi
|
||||
import org.thingsboard.server.common.data.notification.rule.trigger.EntityActionNotificationRuleTriggerConfig;
|
||||
import org.thingsboard.server.common.data.notification.rule.trigger.NotificationRuleTriggerType;
|
||||
import org.thingsboard.server.common.msg.TbMsg;
|
||||
import org.thingsboard.server.dao.notification.trigger.RuleEngineMsgTrigger;
|
||||
import org.thingsboard.server.common.msg.notification.trigger.RuleEngineMsgTrigger;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
|
||||
@ -21,7 +21,7 @@ import org.thingsboard.server.common.data.id.TenantId;
|
||||
import org.thingsboard.server.common.data.notification.info.NewPlatformVersionNotificationInfo;
|
||||
import org.thingsboard.server.common.data.notification.info.RuleOriginatedNotificationInfo;
|
||||
import org.thingsboard.server.common.data.notification.rule.trigger.NewPlatformVersionNotificationRuleTriggerConfig;
|
||||
import org.thingsboard.server.dao.notification.trigger.NewPlatformVersionTrigger;
|
||||
import org.thingsboard.server.common.msg.notification.trigger.NewPlatformVersionTrigger;
|
||||
import org.thingsboard.server.common.data.notification.rule.trigger.NotificationRuleTriggerType;
|
||||
import org.thingsboard.server.common.msg.queue.ServiceType;
|
||||
import org.thingsboard.server.queue.discovery.PartitionService;
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
package org.thingsboard.server.service.notification.rule.trigger;
|
||||
|
||||
import org.thingsboard.server.common.data.notification.info.RuleOriginatedNotificationInfo;
|
||||
import org.thingsboard.server.dao.notification.trigger.NotificationRuleTrigger;
|
||||
import org.thingsboard.server.common.msg.notification.trigger.NotificationRuleTrigger;
|
||||
import org.thingsboard.server.common.data.notification.rule.trigger.NotificationRuleTriggerConfig;
|
||||
import org.thingsboard.server.common.data.notification.rule.trigger.NotificationRuleTriggerType;
|
||||
|
||||
|
||||
@ -27,7 +27,7 @@ import org.thingsboard.server.common.data.notification.rule.trigger.Notification
|
||||
import org.thingsboard.server.common.data.notification.rule.trigger.RuleEngineComponentLifecycleEventNotificationRuleTriggerConfig;
|
||||
import org.thingsboard.server.common.data.plugin.ComponentLifecycleEvent;
|
||||
import org.thingsboard.server.common.msg.queue.ServiceType;
|
||||
import org.thingsboard.server.dao.notification.trigger.RuleEngineComponentLifecycleEventTrigger;
|
||||
import org.thingsboard.server.common.msg.notification.trigger.RuleEngineComponentLifecycleEventTrigger;
|
||||
import org.thingsboard.server.queue.discovery.PartitionService;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
package org.thingsboard.server.service.notification.rule.trigger;
|
||||
|
||||
import org.thingsboard.server.common.data.notification.rule.trigger.NotificationRuleTriggerConfig;
|
||||
import org.thingsboard.server.dao.notification.trigger.RuleEngineMsgTrigger;
|
||||
import org.thingsboard.server.common.msg.notification.trigger.RuleEngineMsgTrigger;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
|
||||
@ -53,6 +53,7 @@ import org.thingsboard.server.common.msg.ToDeviceActorNotificationMsg;
|
||||
import org.thingsboard.server.common.msg.edge.EdgeEventUpdateMsg;
|
||||
import org.thingsboard.server.common.msg.edge.FromEdgeSyncResponse;
|
||||
import org.thingsboard.server.common.msg.edge.ToEdgeSyncRequest;
|
||||
import org.thingsboard.server.common.msg.notification.trigger.NotificationRuleTrigger;
|
||||
import org.thingsboard.server.common.msg.plugin.ComponentLifecycleMsg;
|
||||
import org.thingsboard.server.common.msg.queue.ServiceType;
|
||||
import org.thingsboard.server.common.msg.queue.TopicPartitionInfo;
|
||||
@ -531,6 +532,17 @@ public class DefaultTbClusterService implements TbClusterService {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pushToNotificationRuleProcessingService(NotificationRuleTrigger notificationRuleTrigger) {
|
||||
TransportProtos.NotificationRuleProcessingServiceMsg.Builder msg = TransportProtos.NotificationRuleProcessingServiceMsg.newBuilder()
|
||||
.setTrigger(ByteString.copyFrom(encodingService.encode(notificationRuleTrigger)));
|
||||
|
||||
pushMsgToCore(notificationRuleTrigger.getTenantId(), notificationRuleTrigger.getOriginatorEntityId(),
|
||||
ToCoreMsg.newBuilder()
|
||||
.setNotificationRuleProcessingServiceMsg(msg)
|
||||
.build(), null);
|
||||
}
|
||||
|
||||
private void pushDeviceUpdateMessage(TenantId tenantId, EdgeId edgeId, EntityId entityId, EdgeEventActionType action) {
|
||||
log.trace("{} Going to send edge update notification for device actor, device id {}, edge id {}", tenantId, entityId, edgeId);
|
||||
switch (action) {
|
||||
|
||||
@ -35,10 +35,12 @@ import org.thingsboard.server.common.data.id.UserId;
|
||||
import org.thingsboard.server.common.data.rpc.RpcError;
|
||||
import org.thingsboard.server.common.msg.MsgType;
|
||||
import org.thingsboard.server.common.msg.TbActorMsg;
|
||||
import org.thingsboard.server.common.msg.notification.trigger.NotificationRuleTrigger;
|
||||
import org.thingsboard.server.common.msg.queue.ServiceType;
|
||||
import org.thingsboard.server.common.msg.queue.TbCallback;
|
||||
import org.thingsboard.server.common.msg.rpc.FromDeviceRpcResponse;
|
||||
import org.thingsboard.server.common.stats.StatsFactory;
|
||||
import org.thingsboard.server.dao.notification.NotificationRuleProcessingService;
|
||||
import org.thingsboard.server.dao.tenant.TbTenantProfileCache;
|
||||
import org.thingsboard.server.gen.transport.TransportProtos;
|
||||
import org.thingsboard.server.gen.transport.TransportProtos.DeviceStateServiceMsgProto;
|
||||
@ -129,6 +131,7 @@ public class DefaultTbCoreConsumerService extends AbstractConsumerService<ToCore
|
||||
private final OtaPackageStateService firmwareStateService;
|
||||
private final GitVersionControlQueueService vcQueueService;
|
||||
private final NotificationSchedulerService notificationSchedulerService;
|
||||
private final NotificationRuleProcessingService notificationRuleProcessingService;
|
||||
private final TbCoreConsumerStats stats;
|
||||
protected final TbQueueConsumer<TbProtoQueueMsg<ToUsageStatsServiceMsg>> usageStatsConsumer;
|
||||
private final TbQueueConsumer<TbProtoQueueMsg<ToOtaPackageStateServiceMsg>> firmwareStatesConsumer;
|
||||
@ -156,7 +159,8 @@ public class DefaultTbCoreConsumerService extends AbstractConsumerService<ToCore
|
||||
PartitionService partitionService,
|
||||
ApplicationEventPublisher eventPublisher,
|
||||
Optional<JwtSettingsService> jwtSettingsService,
|
||||
NotificationSchedulerService notificationSchedulerService) {
|
||||
NotificationSchedulerService notificationSchedulerService,
|
||||
NotificationRuleProcessingService notificationRuleProcessingService) {
|
||||
super(actorContext, encodingService, tenantProfileCache, deviceProfileCache, assetProfileCache, apiUsageStateService, partitionService, eventPublisher, tbCoreQueueFactory.createToCoreNotificationsMsgConsumer(), jwtSettingsService);
|
||||
this.mainConsumer = tbCoreQueueFactory.createToCoreMsgConsumer();
|
||||
this.usageStatsConsumer = tbCoreQueueFactory.createToUsageStatsServiceMsgConsumer();
|
||||
@ -171,6 +175,7 @@ public class DefaultTbCoreConsumerService extends AbstractConsumerService<ToCore
|
||||
this.firmwareStateService = firmwareStateService;
|
||||
this.vcQueueService = vcQueueService;
|
||||
this.notificationSchedulerService = notificationSchedulerService;
|
||||
this.notificationRuleProcessingService = notificationRuleProcessingService;
|
||||
}
|
||||
|
||||
@PostConstruct
|
||||
@ -269,6 +274,9 @@ public class DefaultTbCoreConsumerService extends AbstractConsumerService<ToCore
|
||||
TransportProtos.NotificationSchedulerServiceMsg notificationSchedulerServiceMsg = toCoreMsg.getNotificationSchedulerServiceMsg();
|
||||
log.trace("[{}] Forwarding message to notification scheduler service {}", id, toCoreMsg.getNotificationSchedulerServiceMsg());
|
||||
forwardToNotificationSchedulerService(notificationSchedulerServiceMsg, callback);
|
||||
} else if (toCoreMsg.hasNotificationRuleProcessingServiceMsg()) {
|
||||
Optional<NotificationRuleTrigger> notificationRuleTrigger = encodingService.decode(toCoreMsg.getNotificationRuleProcessingServiceMsg().getTrigger().toByteArray());
|
||||
notificationRuleTrigger.ifPresent(notificationRuleProcessingService::process);
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
log.warn("[{}] Failed to process message: {}", id, msg, e);
|
||||
|
||||
@ -26,6 +26,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.thingsboard.common.util.JacksonUtil;
|
||||
import org.thingsboard.server.common.data.ApiUsageRecordKey;
|
||||
import org.thingsboard.server.common.data.alarm.Alarm;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmComment;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmCommentType;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmCreateOrUpdateActiveRequest;
|
||||
@ -45,13 +46,12 @@ import org.thingsboard.server.common.data.id.UserId;
|
||||
import org.thingsboard.server.common.data.page.PageData;
|
||||
import org.thingsboard.server.common.data.query.AlarmData;
|
||||
import org.thingsboard.server.common.data.query.AlarmDataQuery;
|
||||
import org.thingsboard.server.common.msg.notification.trigger.AlarmTrigger;
|
||||
import org.thingsboard.server.common.msg.queue.TbCallback;
|
||||
import org.thingsboard.server.common.stats.TbApiUsageReportClient;
|
||||
import org.thingsboard.server.dao.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.dao.alarm.AlarmOperationResult;
|
||||
import org.thingsboard.server.dao.alarm.AlarmService;
|
||||
import org.thingsboard.server.dao.notification.NotificationRuleProcessingService;
|
||||
import org.thingsboard.server.dao.notification.trigger.AlarmTrigger;
|
||||
import org.thingsboard.server.service.apiusage.TbApiUsageStateService;
|
||||
import org.thingsboard.server.service.entitiy.alarm.TbAlarmCommentService;
|
||||
import org.thingsboard.server.service.subscription.TbSubscriptionUtils;
|
||||
|
||||
@ -25,7 +25,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
import org.thingsboard.common.util.ThingsBoardThreadFactory;
|
||||
import org.thingsboard.server.common.data.UpdateMessage;
|
||||
import org.thingsboard.server.dao.notification.trigger.NewPlatformVersionTrigger;
|
||||
import org.thingsboard.server.common.msg.notification.trigger.NewPlatformVersionTrigger;
|
||||
import org.thingsboard.server.dao.notification.NotificationRuleProcessingService;
|
||||
import org.thingsboard.server.queue.util.TbCoreComponent;
|
||||
|
||||
|
||||
@ -15,7 +15,6 @@
|
||||
*/
|
||||
package org.thingsboard.server.service.entitiy.alarm;
|
||||
|
||||
import com.google.common.util.concurrent.Futures;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
@ -30,8 +29,7 @@ import org.thingsboard.server.common.data.alarm.Alarm;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmInfo;
|
||||
import org.thingsboard.server.common.data.exception.ThingsboardException;
|
||||
import org.thingsboard.server.common.data.id.UserId;
|
||||
import org.thingsboard.server.dao.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.dao.alarm.AlarmCommentService;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.dao.alarm.AlarmService;
|
||||
import org.thingsboard.server.dao.customer.CustomerService;
|
||||
import org.thingsboard.server.dao.edge.EdgeService;
|
||||
|
||||
@ -31,6 +31,7 @@ import org.thingsboard.server.common.msg.TbMsg;
|
||||
import org.thingsboard.server.common.msg.ToDeviceActorNotificationMsg;
|
||||
import org.thingsboard.server.common.msg.edge.FromEdgeSyncResponse;
|
||||
import org.thingsboard.server.common.msg.edge.ToEdgeSyncRequest;
|
||||
import org.thingsboard.server.common.msg.notification.trigger.NotificationRuleTrigger;
|
||||
import org.thingsboard.server.common.msg.queue.TopicPartitionInfo;
|
||||
import org.thingsboard.server.common.msg.rpc.FromDeviceRpcResponse;
|
||||
import org.thingsboard.server.gen.transport.TransportProtos.ToVersionControlServiceMsg;
|
||||
@ -95,4 +96,7 @@ public interface TbClusterService extends TbQueueClusterService {
|
||||
void pushEdgeSyncResponseToCore(FromEdgeSyncResponse fromEdgeSyncResponse);
|
||||
|
||||
void sendNotificationMsgToEdge(TenantId tenantId, EdgeId edgeId, EntityId entityId, String body, EdgeEventType type, EdgeEventActionType action);
|
||||
|
||||
void pushToNotificationRuleProcessingService(NotificationRuleTrigger notificationRuleTrigger);
|
||||
|
||||
}
|
||||
|
||||
@ -969,6 +969,7 @@ message ToCoreMsg {
|
||||
EdgeNotificationMsgProto edgeNotificationMsg = 5;
|
||||
DeviceActivityProto deviceActivityMsg = 6;
|
||||
NotificationSchedulerServiceMsg notificationSchedulerServiceMsg = 7;
|
||||
NotificationRuleProcessingServiceMsg notificationRuleProcessingServiceMsg = 8;
|
||||
}
|
||||
|
||||
/* High priority messages with low latency are handled by ThingsBoard Core Service separately */
|
||||
@ -1054,3 +1055,7 @@ message NotificationSchedulerServiceMsg {
|
||||
int64 requestIdLSB = 4;
|
||||
int64 ts = 5;
|
||||
}
|
||||
|
||||
message NotificationRuleProcessingServiceMsg {
|
||||
bytes trigger = 1;
|
||||
}
|
||||
|
||||
@ -19,7 +19,7 @@ import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import org.thingsboard.server.common.data.alarm.Alarm;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmAssigneeUpdate;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmSeverity;
|
||||
import org.thingsboard.server.common.data.id.EntityId;
|
||||
|
||||
|
||||
@ -18,6 +18,7 @@ package org.thingsboard.server.dao.alarm;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.google.common.util.concurrent.ListenableFuture;
|
||||
import org.thingsboard.server.common.data.alarm.Alarm;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmInfo;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmQuery;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmSearchStatus;
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
package org.thingsboard.server.dao.notification;
|
||||
|
||||
import org.thingsboard.server.common.data.id.TenantId;
|
||||
import org.thingsboard.server.dao.notification.trigger.NotificationRuleTrigger;
|
||||
import org.thingsboard.server.common.msg.notification.trigger.NotificationRuleTrigger;
|
||||
import org.thingsboard.server.common.msg.TbMsg;
|
||||
|
||||
public interface NotificationRuleProcessingService {
|
||||
|
||||
@ -17,8 +17,10 @@ package org.thingsboard.server.common.data;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class ApiUsageRecordState {
|
||||
public class ApiUsageRecordState implements Serializable {
|
||||
|
||||
private final ApiFeature apiFeature;
|
||||
private final ApiUsageRecordKey key;
|
||||
|
||||
@ -19,9 +19,11 @@ import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@ApiModel
|
||||
@Data
|
||||
public class UpdateMessage {
|
||||
public class UpdateMessage implements Serializable {
|
||||
|
||||
@ApiModelProperty(position = 1, value = "The message about new platform update available.")
|
||||
private final String message;
|
||||
|
||||
@ -13,20 +13,18 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.thingsboard.server.dao.alarm;
|
||||
package org.thingsboard.server.common.data.alarm;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import org.thingsboard.server.common.data.alarm.Alarm;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmInfo;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmSeverity;
|
||||
import org.thingsboard.server.common.data.id.EntityId;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Data
|
||||
public class AlarmApiCallResult {
|
||||
public class AlarmApiCallResult implements Serializable {
|
||||
|
||||
private final boolean successful;
|
||||
private final boolean created;
|
||||
@ -13,14 +13,14 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.thingsboard.server.dao.notification.trigger;
|
||||
package org.thingsboard.server.common.msg.notification.trigger;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import org.thingsboard.server.common.data.id.EntityId;
|
||||
import org.thingsboard.server.common.data.id.TenantId;
|
||||
import org.thingsboard.server.common.data.notification.rule.trigger.NotificationRuleTriggerType;
|
||||
import org.thingsboard.server.dao.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmApiCallResult;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.thingsboard.server.dao.notification.trigger;
|
||||
package org.thingsboard.server.common.msg.notification.trigger;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.thingsboard.server.dao.notification.trigger;
|
||||
package org.thingsboard.server.common.msg.notification.trigger;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.thingsboard.server.dao.notification.trigger;
|
||||
package org.thingsboard.server.common.msg.notification.trigger;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
@ -13,13 +13,15 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.thingsboard.server.dao.notification.trigger;
|
||||
package org.thingsboard.server.common.msg.notification.trigger;
|
||||
|
||||
import org.thingsboard.server.common.data.id.EntityId;
|
||||
import org.thingsboard.server.common.data.id.TenantId;
|
||||
import org.thingsboard.server.common.data.notification.rule.trigger.NotificationRuleTriggerType;
|
||||
|
||||
public interface NotificationRuleTrigger {
|
||||
import java.io.Serializable;
|
||||
|
||||
public interface NotificationRuleTrigger extends Serializable {
|
||||
|
||||
NotificationRuleTriggerType getType();
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.thingsboard.server.dao.notification.trigger;
|
||||
package org.thingsboard.server.common.msg.notification.trigger;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.thingsboard.server.dao.notification.trigger;
|
||||
package org.thingsboard.server.common.msg.notification.trigger;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
@ -192,6 +192,11 @@ public class HashPartitionService implements PartitionService {
|
||||
return resolve(serviceType, null, tenantId, entityId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isMyPartition(ServiceType serviceType, TenantId tenantId, EntityId entityId) {
|
||||
return resolve(serviceType, tenantId, entityId).isMyPartition();
|
||||
}
|
||||
|
||||
private TopicPartitionInfo resolve(QueueKey queueKey, EntityId entityId) {
|
||||
int hash = hashFunction.newHasher()
|
||||
.putLong(entityId.getId().getMostSignificantBits())
|
||||
|
||||
@ -35,6 +35,8 @@ public interface PartitionService {
|
||||
|
||||
TopicPartitionInfo resolve(ServiceType serviceType, TenantId tenantId, EntityId entityId);
|
||||
|
||||
boolean isMyPartition(ServiceType serviceType, TenantId tenantId, EntityId entityId);
|
||||
|
||||
/**
|
||||
* Received from the Discovery service when network topology is changed.
|
||||
* @param currentService - current service information {@link org.thingsboard.server.gen.transport.TransportProtos.ServiceInfo}
|
||||
|
||||
@ -18,6 +18,7 @@ package org.thingsboard.server.dao.alarm;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.google.common.util.concurrent.ListenableFuture;
|
||||
import org.thingsboard.server.common.data.alarm.Alarm;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmInfo;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmQuery;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmSeverity;
|
||||
|
||||
@ -27,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.thingsboard.server.common.data.EntityType;
|
||||
import org.thingsboard.server.common.data.alarm.Alarm;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmModificationRequest;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmStatusFilter;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmUpdateRequest;
|
||||
|
||||
@ -48,7 +48,7 @@ import org.thingsboard.server.common.data.page.PageLink;
|
||||
import org.thingsboard.server.common.data.query.AlarmData;
|
||||
import org.thingsboard.server.common.data.query.AlarmDataQuery;
|
||||
import org.thingsboard.server.dao.DaoUtil;
|
||||
import org.thingsboard.server.dao.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.dao.alarm.AlarmDao;
|
||||
import org.thingsboard.server.dao.model.ModelConstants;
|
||||
import org.thingsboard.server.dao.model.sql.AlarmEntity;
|
||||
|
||||
@ -27,7 +27,7 @@ import org.thingsboard.server.common.data.query.EntityTypeFilter;
|
||||
import org.thingsboard.server.common.data.tenant.profile.DefaultTenantProfileConfiguration;
|
||||
import org.thingsboard.server.dao.entity.EntityService;
|
||||
import org.thingsboard.server.dao.notification.NotificationRuleProcessingService;
|
||||
import org.thingsboard.server.dao.notification.trigger.EntitiesLimitTrigger;
|
||||
import org.thingsboard.server.common.msg.notification.trigger.EntitiesLimitTrigger;
|
||||
import org.thingsboard.server.dao.tenant.TbTenantProfileCache;
|
||||
|
||||
@Service
|
||||
|
||||
@ -47,7 +47,7 @@ import org.thingsboard.server.common.data.query.EntityKeyType;
|
||||
import org.thingsboard.server.common.data.relation.EntityRelation;
|
||||
import org.thingsboard.server.common.data.relation.RelationTypeGroup;
|
||||
import org.thingsboard.server.common.data.security.Authority;
|
||||
import org.thingsboard.server.dao.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.dao.alarm.AlarmService;
|
||||
import org.thingsboard.server.dao.asset.AssetService;
|
||||
import org.thingsboard.server.dao.customer.CustomerService;
|
||||
|
||||
@ -29,7 +29,7 @@ import org.thingsboard.server.common.data.id.DeviceId;
|
||||
import org.thingsboard.server.common.data.id.TenantId;
|
||||
import org.thingsboard.server.common.data.id.UserId;
|
||||
import org.thingsboard.server.dao.AbstractJpaDaoTest;
|
||||
import org.thingsboard.server.dao.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.dao.alarm.AlarmDao;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
@ -34,7 +34,7 @@ import org.thingsboard.server.common.data.id.UserId;
|
||||
import org.thingsboard.server.common.data.page.PageData;
|
||||
import org.thingsboard.server.common.data.query.AlarmData;
|
||||
import org.thingsboard.server.common.data.query.AlarmDataQuery;
|
||||
import org.thingsboard.server.dao.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.dao.alarm.AlarmOperationResult;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
@ -17,9 +17,8 @@ package org.thingsboard.rule.engine.action;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.thingsboard.server.common.data.alarm.Alarm;
|
||||
import org.thingsboard.server.dao.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmApiCallResult;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
|
||||
@ -29,7 +29,7 @@ import org.thingsboard.server.common.data.alarm.Alarm;
|
||||
import org.thingsboard.server.common.data.id.AlarmId;
|
||||
import org.thingsboard.server.common.data.plugin.ComponentType;
|
||||
import org.thingsboard.server.common.msg.TbMsg;
|
||||
import org.thingsboard.server.dao.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmApiCallResult;
|
||||
|
||||
@Slf4j
|
||||
@RuleNode(
|
||||
|
||||
@ -34,7 +34,7 @@ import org.thingsboard.server.common.data.alarm.AlarmCreateOrUpdateActiveRequest
|
||||
import org.thingsboard.server.common.data.id.TenantId;
|
||||
import org.thingsboard.server.common.data.plugin.ComponentType;
|
||||
import org.thingsboard.server.common.msg.TbMsg;
|
||||
import org.thingsboard.server.dao.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmApiCallResult;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
@ -37,7 +37,7 @@ import org.thingsboard.server.common.data.id.DashboardId;
|
||||
import org.thingsboard.server.common.data.id.EntityId;
|
||||
import org.thingsboard.server.common.msg.TbMsg;
|
||||
import org.thingsboard.server.common.msg.TbMsgMetaData;
|
||||
import org.thingsboard.server.dao.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmApiCallResult;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
|
||||
@ -48,7 +48,7 @@ import org.thingsboard.server.common.data.script.ScriptLanguage;
|
||||
import org.thingsboard.server.common.msg.TbMsg;
|
||||
import org.thingsboard.server.common.msg.TbMsgDataType;
|
||||
import org.thingsboard.server.common.msg.TbMsgMetaData;
|
||||
import org.thingsboard.server.dao.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmApiCallResult;
|
||||
|
||||
import javax.script.ScriptException;
|
||||
import java.io.IOException;
|
||||
|
||||
@ -44,7 +44,7 @@ import org.thingsboard.server.common.data.query.FilterPredicateValue;
|
||||
import org.thingsboard.server.common.msg.TbMsg;
|
||||
import org.thingsboard.server.common.msg.TbMsgMetaData;
|
||||
import org.thingsboard.server.common.msg.session.SessionMsgType;
|
||||
import org.thingsboard.server.dao.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.dao.attributes.AttributesService;
|
||||
import org.thingsboard.server.dao.device.DeviceService;
|
||||
|
||||
|
||||
@ -64,7 +64,7 @@ import org.thingsboard.server.common.msg.TbMsg;
|
||||
import org.thingsboard.server.common.msg.TbMsgDataType;
|
||||
import org.thingsboard.server.common.msg.TbMsgMetaData;
|
||||
import org.thingsboard.server.common.msg.session.SessionMsgType;
|
||||
import org.thingsboard.server.dao.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.common.data.alarm.AlarmApiCallResult;
|
||||
import org.thingsboard.server.dao.attributes.AttributesService;
|
||||
import org.thingsboard.server.dao.device.DeviceService;
|
||||
import org.thingsboard.server.dao.model.sql.AttributeKvCompositeKey;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user