Moved getEdgeEventTypeByEntityType to EdgeUtils
This commit is contained in:
parent
125130193d
commit
4b9642fc11
@ -26,12 +26,12 @@ import org.springframework.beans.factory.annotation.Value;
|
|||||||
import org.springframework.security.core.Authentication;
|
import org.springframework.security.core.Authentication;
|
||||||
import org.springframework.security.core.context.SecurityContextHolder;
|
import org.springframework.security.core.context.SecurityContextHolder;
|
||||||
import org.springframework.web.bind.annotation.ExceptionHandler;
|
import org.springframework.web.bind.annotation.ExceptionHandler;
|
||||||
import org.thingsboard.server.common.data.BaseData;
|
|
||||||
import org.thingsboard.server.common.data.Customer;
|
import org.thingsboard.server.common.data.Customer;
|
||||||
import org.thingsboard.server.common.data.Dashboard;
|
import org.thingsboard.server.common.data.Dashboard;
|
||||||
import org.thingsboard.server.common.data.DashboardInfo;
|
import org.thingsboard.server.common.data.DashboardInfo;
|
||||||
import org.thingsboard.server.common.data.DataConstants;
|
import org.thingsboard.server.common.data.DataConstants;
|
||||||
import org.thingsboard.server.common.data.Device;
|
import org.thingsboard.server.common.data.Device;
|
||||||
|
import org.thingsboard.server.common.data.EdgeUtils;
|
||||||
import org.thingsboard.server.common.data.EntityType;
|
import org.thingsboard.server.common.data.EntityType;
|
||||||
import org.thingsboard.server.common.data.EntityView;
|
import org.thingsboard.server.common.data.EntityView;
|
||||||
import org.thingsboard.server.common.data.HasName;
|
import org.thingsboard.server.common.data.HasName;
|
||||||
@ -39,14 +39,14 @@ import org.thingsboard.server.common.data.HasTenantId;
|
|||||||
import org.thingsboard.server.common.data.Tenant;
|
import org.thingsboard.server.common.data.Tenant;
|
||||||
import org.thingsboard.server.common.data.User;
|
import org.thingsboard.server.common.data.User;
|
||||||
import org.thingsboard.server.common.data.alarm.Alarm;
|
import org.thingsboard.server.common.data.alarm.Alarm;
|
||||||
import org.thingsboard.server.common.data.edge.EdgeEventType;
|
|
||||||
import org.thingsboard.server.common.data.id.AlarmId;
|
|
||||||
import org.thingsboard.server.common.data.alarm.AlarmInfo;
|
import org.thingsboard.server.common.data.alarm.AlarmInfo;
|
||||||
import org.thingsboard.server.common.data.asset.Asset;
|
import org.thingsboard.server.common.data.asset.Asset;
|
||||||
import org.thingsboard.server.common.data.audit.ActionType;
|
import org.thingsboard.server.common.data.audit.ActionType;
|
||||||
import org.thingsboard.server.common.data.edge.Edge;
|
import org.thingsboard.server.common.data.edge.Edge;
|
||||||
|
import org.thingsboard.server.common.data.edge.EdgeEventType;
|
||||||
import org.thingsboard.server.common.data.exception.ThingsboardErrorCode;
|
import org.thingsboard.server.common.data.exception.ThingsboardErrorCode;
|
||||||
import org.thingsboard.server.common.data.exception.ThingsboardException;
|
import org.thingsboard.server.common.data.exception.ThingsboardException;
|
||||||
|
import org.thingsboard.server.common.data.id.AlarmId;
|
||||||
import org.thingsboard.server.common.data.id.AssetId;
|
import org.thingsboard.server.common.data.id.AssetId;
|
||||||
import org.thingsboard.server.common.data.id.CustomerId;
|
import org.thingsboard.server.common.data.id.CustomerId;
|
||||||
import org.thingsboard.server.common.data.id.DashboardId;
|
import org.thingsboard.server.common.data.id.DashboardId;
|
||||||
@ -85,7 +85,6 @@ import org.thingsboard.server.dao.dashboard.DashboardService;
|
|||||||
import org.thingsboard.server.dao.device.ClaimDevicesService;
|
import org.thingsboard.server.dao.device.ClaimDevicesService;
|
||||||
import org.thingsboard.server.dao.device.DeviceCredentialsService;
|
import org.thingsboard.server.dao.device.DeviceCredentialsService;
|
||||||
import org.thingsboard.server.dao.device.DeviceService;
|
import org.thingsboard.server.dao.device.DeviceService;
|
||||||
import org.thingsboard.server.dao.edge.EdgeEventService;
|
|
||||||
import org.thingsboard.server.dao.edge.EdgeService;
|
import org.thingsboard.server.dao.edge.EdgeService;
|
||||||
import org.thingsboard.server.dao.entityview.EntityViewService;
|
import org.thingsboard.server.dao.entityview.EntityViewService;
|
||||||
import org.thingsboard.server.dao.exception.DataValidationException;
|
import org.thingsboard.server.dao.exception.DataValidationException;
|
||||||
@ -113,7 +112,6 @@ import org.thingsboard.server.service.state.DeviceStateService;
|
|||||||
import org.thingsboard.server.service.telemetry.TelemetrySubscriptionService;
|
import org.thingsboard.server.service.telemetry.TelemetrySubscriptionService;
|
||||||
|
|
||||||
import javax.mail.MessagingException;
|
import javax.mail.MessagingException;
|
||||||
import javax.management.relation.Relation;
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
@ -209,9 +207,6 @@ public abstract class BaseController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
protected EdgeNotificationService edgeNotificationService;
|
protected EdgeNotificationService edgeNotificationService;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
protected EdgeEventService edgeEventService;
|
|
||||||
|
|
||||||
@Value("${server.log_controller_error_stack_trace}")
|
@Value("${server.log_controller_error_stack_trace}")
|
||||||
@Getter
|
@Getter
|
||||||
private boolean logControllerErrorStackTrace;
|
private boolean logControllerErrorStackTrace;
|
||||||
@ -735,7 +730,7 @@ public abstract class BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void sendNotificationMsgToEdgeService(TenantId tenantId, EntityId entityId, ActionType edgeEventAction) {
|
protected void sendNotificationMsgToEdgeService(TenantId tenantId, EntityId entityId, ActionType edgeEventAction) {
|
||||||
EdgeEventType edgeEventType = edgeEventService.getEdgeEventTypeByEntityType(entityId.getEntityType());
|
EdgeEventType edgeEventType = EdgeUtils.getEdgeEventTypeByEntityType(entityId.getEntityType());
|
||||||
if (edgeEventType != null) {
|
if (edgeEventType != null) {
|
||||||
sendNotificationMsgToEdgeService(tenantId, null, entityId, null, edgeEventType, edgeEventAction);
|
sendNotificationMsgToEdgeService(tenantId, null, entityId, null, edgeEventType, edgeEventAction);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -33,9 +33,9 @@ public class TbCoreConsumerStats {
|
|||||||
private final AtomicInteger claimDeviceCounter = new AtomicInteger(0);
|
private final AtomicInteger claimDeviceCounter = new AtomicInteger(0);
|
||||||
|
|
||||||
private final AtomicInteger deviceStateCounter = new AtomicInteger(0);
|
private final AtomicInteger deviceStateCounter = new AtomicInteger(0);
|
||||||
private final AtomicInteger edgeNotificationMsgCounter = new AtomicInteger(0);
|
|
||||||
private final AtomicInteger subscriptionMsgCounter = new AtomicInteger(0);
|
private final AtomicInteger subscriptionMsgCounter = new AtomicInteger(0);
|
||||||
private final AtomicInteger toCoreNotificationsCounter = new AtomicInteger(0);
|
private final AtomicInteger toCoreNotificationsCounter = new AtomicInteger(0);
|
||||||
|
private final AtomicInteger edgeNotificationMsgCounter = new AtomicInteger(0);
|
||||||
|
|
||||||
public void log(TransportProtos.TransportToDeviceActorMsg msg) {
|
public void log(TransportProtos.TransportToDeviceActorMsg msg) {
|
||||||
totalCounter.incrementAndGet();
|
totalCounter.incrementAndGet();
|
||||||
|
|||||||
@ -26,8 +26,6 @@ import org.thingsboard.server.common.data.page.TimePageLink;
|
|||||||
|
|
||||||
public interface EdgeEventService {
|
public interface EdgeEventService {
|
||||||
|
|
||||||
EdgeEventType getEdgeEventTypeByEntityType(EntityType entityType);
|
|
||||||
|
|
||||||
ListenableFuture<EdgeEvent> saveAsync(EdgeEvent edgeEvent);
|
ListenableFuture<EdgeEvent> saveAsync(EdgeEvent edgeEvent);
|
||||||
|
|
||||||
TimePageData<EdgeEvent> findEdgeEvents(TenantId tenantId, EdgeId edgeId, TimePageLink pageLink);
|
TimePageData<EdgeEvent> findEdgeEvents(TenantId tenantId, EdgeId edgeId, TimePageLink pageLink);
|
||||||
|
|||||||
@ -15,6 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.thingsboard.server.common.data;
|
package org.thingsboard.server.common.data;
|
||||||
|
|
||||||
|
import org.thingsboard.server.common.data.edge.EdgeEventType;
|
||||||
import org.thingsboard.server.common.data.id.EdgeId;
|
import org.thingsboard.server.common.data.id.EdgeId;
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@ -24,50 +25,22 @@ public final class EdgeUtils {
|
|||||||
private EdgeUtils() {
|
private EdgeUtils() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isAssignedToEdge(Set<ShortEdgeInfo> assignedEdges, EdgeId edgeId) {
|
public static EdgeEventType getEdgeEventTypeByEntityType(EntityType entityType) {
|
||||||
return assignedEdges != null && assignedEdges.contains(new ShortEdgeInfo(edgeId, null, null));
|
switch (entityType) {
|
||||||
}
|
case DEVICE:
|
||||||
|
return EdgeEventType.DEVICE;
|
||||||
public static ShortEdgeInfo getAssignedEdgeInfo(Set<ShortEdgeInfo> assignedEdges, EdgeId edgeId) {
|
case ASSET:
|
||||||
if (assignedEdges != null) {
|
return EdgeEventType.ASSET;
|
||||||
for (ShortEdgeInfo edgeInfo : assignedEdges) {
|
case ENTITY_VIEW:
|
||||||
if (edgeInfo.getEdgeId().equals(edgeId)) {
|
return EdgeEventType.ENTITY_VIEW;
|
||||||
return edgeInfo;
|
case DASHBOARD:
|
||||||
}
|
return EdgeEventType.DASHBOARD;
|
||||||
}
|
case USER:
|
||||||
}
|
return EdgeEventType.USER;
|
||||||
|
case ALARM:
|
||||||
|
return EdgeEventType.ALARM;
|
||||||
|
default:
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean addAssignedEdge(Set<ShortEdgeInfo> assignedEdges, ShortEdgeInfo edgeInfo) {
|
|
||||||
if (assignedEdges != null && assignedEdges.contains(edgeInfo)) {
|
|
||||||
return false;
|
|
||||||
} else {
|
|
||||||
if (assignedEdges != null) {
|
|
||||||
assignedEdges.add(edgeInfo);
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean updateAssignedEdge(Set<ShortEdgeInfo> assignedEdges, ShortEdgeInfo edgeInfo) {
|
|
||||||
if (assignedEdges != null && assignedEdges.contains(edgeInfo)) {
|
|
||||||
assignedEdges.remove(edgeInfo);
|
|
||||||
assignedEdges.add(edgeInfo);
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean removeAssignedEdge(Set<ShortEdgeInfo> assignedEdges, ShortEdgeInfo edgeInfo) {
|
|
||||||
if (assignedEdges != null && assignedEdges.contains(edgeInfo)) {
|
|
||||||
assignedEdges.remove(edgeInfo);
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -20,9 +20,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.thingsboard.server.common.data.EntityType;
|
|
||||||
import org.thingsboard.server.common.data.edge.EdgeEvent;
|
import org.thingsboard.server.common.data.edge.EdgeEvent;
|
||||||
import org.thingsboard.server.common.data.edge.EdgeEventType;
|
|
||||||
import org.thingsboard.server.common.data.id.EdgeId;
|
import org.thingsboard.server.common.data.id.EdgeId;
|
||||||
import org.thingsboard.server.common.data.id.TenantId;
|
import org.thingsboard.server.common.data.id.TenantId;
|
||||||
import org.thingsboard.server.common.data.page.TimePageData;
|
import org.thingsboard.server.common.data.page.TimePageData;
|
||||||
@ -39,27 +37,6 @@ public class BaseEdgeEventService implements EdgeEventService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
public EdgeEventDao edgeEventDao;
|
public EdgeEventDao edgeEventDao;
|
||||||
|
|
||||||
@Override
|
|
||||||
public EdgeEventType getEdgeEventTypeByEntityType(EntityType entityType) {
|
|
||||||
switch (entityType) {
|
|
||||||
case DEVICE:
|
|
||||||
return EdgeEventType.DEVICE;
|
|
||||||
case ASSET:
|
|
||||||
return EdgeEventType.ASSET;
|
|
||||||
case ENTITY_VIEW:
|
|
||||||
return EdgeEventType.ENTITY_VIEW;
|
|
||||||
case DASHBOARD:
|
|
||||||
return EdgeEventType.DASHBOARD;
|
|
||||||
case USER:
|
|
||||||
return EdgeEventType.USER;
|
|
||||||
case ALARM:
|
|
||||||
return EdgeEventType.ALARM;
|
|
||||||
default:
|
|
||||||
log.warn("Failed to push notification to edge service. Unsupported entity type [{}]", entityType);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ListenableFuture<EdgeEvent> saveAsync(EdgeEvent edgeEvent) {
|
public ListenableFuture<EdgeEvent> saveAsync(EdgeEvent edgeEvent) {
|
||||||
edgeEventValidator.validate(edgeEvent, EdgeEvent::getTenantId);
|
edgeEventValidator.validate(edgeEvent, EdgeEvent::getTenantId);
|
||||||
|
|||||||
@ -29,6 +29,7 @@ import org.thingsboard.rule.engine.api.TbNodeConfiguration;
|
|||||||
import org.thingsboard.rule.engine.api.TbNodeException;
|
import org.thingsboard.rule.engine.api.TbNodeException;
|
||||||
import org.thingsboard.rule.engine.api.util.TbNodeUtils;
|
import org.thingsboard.rule.engine.api.util.TbNodeUtils;
|
||||||
import org.thingsboard.server.common.data.DataConstants;
|
import org.thingsboard.server.common.data.DataConstants;
|
||||||
|
import org.thingsboard.server.common.data.EdgeUtils;
|
||||||
import org.thingsboard.server.common.data.EntityType;
|
import org.thingsboard.server.common.data.EntityType;
|
||||||
import org.thingsboard.server.common.data.audit.ActionType;
|
import org.thingsboard.server.common.data.audit.ActionType;
|
||||||
import org.thingsboard.server.common.data.edge.EdgeEvent;
|
import org.thingsboard.server.common.data.edge.EdgeEvent;
|
||||||
@ -81,7 +82,7 @@ public class TbMsgPushToEdgeNode implements TbNode {
|
|||||||
Futures.addCallback(getEdgeIdFuture, new FutureCallback<EdgeId>() {
|
Futures.addCallback(getEdgeIdFuture, new FutureCallback<EdgeId>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(@Nullable EdgeId edgeId) {
|
public void onSuccess(@Nullable EdgeId edgeId) {
|
||||||
EdgeEventType edgeEventTypeByEntityType = ctx.getEdgeEventService().getEdgeEventTypeByEntityType(msg.getOriginator().getEntityType());
|
EdgeEventType edgeEventTypeByEntityType = EdgeUtils.getEdgeEventTypeByEntityType(msg.getOriginator().getEntityType());
|
||||||
if (edgeEventTypeByEntityType == null) {
|
if (edgeEventTypeByEntityType == null) {
|
||||||
log.debug("Edge event type is null. Entity Type {}", msg.getOriginator().getEntityType());
|
log.debug("Edge event type is null. Entity Type {}", msg.getOriginator().getEntityType());
|
||||||
ctx.tellFailure(msg, new RuntimeException("Edge event type is null. Entity Type '" + msg.getOriginator().getEntityType() + "'"));
|
ctx.tellFailure(msg, new RuntimeException("Edge event type is null. Entity Type '" + msg.getOriginator().getEntityType() + "'"));
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user