Add EntityType reference to EdgeEventType to match types for edge
This commit is contained in:
parent
9cae7c918b
commit
d56f6484b1
@ -73,7 +73,7 @@ public class AlarmEdgeProcessor extends BaseAlarmProcessor {
|
||||
if (alarm == null) {
|
||||
return Futures.immediateFuture(null);
|
||||
}
|
||||
EdgeEventType type = EdgeUtils.getEdgeEventTypeByEntityType(alarm.getOriginator().getEntityType());
|
||||
EdgeEventType type = EdgeEventType.getEdgeEventTypeByEntityType(alarm.getOriginator().getEntityType());
|
||||
if (type == null) {
|
||||
return Futures.immediateFuture(null);
|
||||
}
|
||||
|
||||
@ -130,7 +130,7 @@ public class DefaultEdgeRequestsService implements EdgeRequestsService {
|
||||
EntityId entityId = EntityIdFactory.getByTypeAndUuid(
|
||||
EntityType.valueOf(attributesRequestMsg.getEntityType()),
|
||||
new UUID(attributesRequestMsg.getEntityIdMSB(), attributesRequestMsg.getEntityIdLSB()));
|
||||
final EdgeEventType entityType = EdgeUtils.getEdgeEventTypeByEntityType(entityId.getEntityType());
|
||||
final EdgeEventType entityType = EdgeEventType.getEdgeEventTypeByEntityType(entityId.getEntityType());
|
||||
if (entityType == null) {
|
||||
log.warn("[{}] Type doesn't supported {}", tenantId, entityId.getEntityType());
|
||||
return Futures.immediateFuture(null);
|
||||
|
||||
@ -29,7 +29,6 @@ import org.thingsboard.server.cluster.TbClusterService;
|
||||
import org.thingsboard.server.common.data.ApiUsageState;
|
||||
import org.thingsboard.server.common.data.Device;
|
||||
import org.thingsboard.server.common.data.DeviceProfile;
|
||||
import org.thingsboard.server.common.data.EdgeUtils;
|
||||
import org.thingsboard.server.common.data.EntityType;
|
||||
import org.thingsboard.server.common.data.HasName;
|
||||
import org.thingsboard.server.common.data.HasRuleEngineProfile;
|
||||
@ -481,7 +480,7 @@ public class DefaultTbClusterService implements TbClusterService {
|
||||
}
|
||||
if (type == null) {
|
||||
if (entityId != null) {
|
||||
type = EdgeUtils.getEdgeEventTypeByEntityType(entityId.getEntityType());
|
||||
type = EdgeEventType.getEdgeEventTypeByEntityType(entityId.getEntityType());
|
||||
} else {
|
||||
log.trace("[{}] entity id and type are null. Ignoring this notification", tenantId);
|
||||
return;
|
||||
|
||||
@ -32,16 +32,7 @@ public final class EdgeUtils {
|
||||
|
||||
private static final int STACK_TRACE_LIMIT = 10;
|
||||
|
||||
private EdgeUtils() {
|
||||
}
|
||||
|
||||
public static EdgeEventType getEdgeEventTypeByEntityType(EntityType entityType) {
|
||||
EdgeEventType edgeEventType = entityType.getEdgeEventType();
|
||||
if (edgeEventType == null) {
|
||||
log.warn("Unsupported entity type [{}]", entityType);
|
||||
}
|
||||
return edgeEventType;
|
||||
}
|
||||
private EdgeUtils() {}
|
||||
|
||||
public static int nextPositiveInt() {
|
||||
return ThreadLocalRandom.current().nextInt(0, Integer.MAX_VALUE);
|
||||
|
||||
@ -17,7 +17,6 @@ package org.thingsboard.server.common.data;
|
||||
|
||||
import lombok.Getter;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.thingsboard.server.common.data.edge.EdgeEventType;
|
||||
|
||||
import java.util.EnumSet;
|
||||
import java.util.List;
|
||||
@ -27,38 +26,38 @@ import java.util.stream.Collectors;
|
||||
* @author Andrew Shvayka
|
||||
*/
|
||||
public enum EntityType {
|
||||
TENANT(EdgeEventType.TENANT),
|
||||
CUSTOMER(EdgeEventType.CUSTOMER),
|
||||
USER(EdgeEventType.USER),
|
||||
DASHBOARD(EdgeEventType.DASHBOARD),
|
||||
ASSET(EdgeEventType.ASSET),
|
||||
DEVICE(EdgeEventType.DEVICE),
|
||||
ALARM(EdgeEventType.ALARM),
|
||||
RULE_CHAIN(EdgeEventType.RULE_CHAIN),
|
||||
RULE_NODE(null),
|
||||
ENTITY_VIEW(EdgeEventType.ENTITY_VIEW) {
|
||||
TENANT,
|
||||
CUSTOMER,
|
||||
USER,
|
||||
DASHBOARD,
|
||||
ASSET,
|
||||
DEVICE,
|
||||
ALARM,
|
||||
RULE_CHAIN,
|
||||
RULE_NODE,
|
||||
ENTITY_VIEW {
|
||||
// backward compatibility for TbOriginatorTypeSwitchNode to return correct rule node connection.
|
||||
@Override
|
||||
public String getNormalName() {
|
||||
return "Entity View";
|
||||
}
|
||||
},
|
||||
WIDGETS_BUNDLE(EdgeEventType.WIDGETS_BUNDLE),
|
||||
WIDGET_TYPE(EdgeEventType.WIDGET_TYPE),
|
||||
TENANT_PROFILE(EdgeEventType.TENANT_PROFILE),
|
||||
DEVICE_PROFILE(EdgeEventType.DEVICE_PROFILE),
|
||||
ASSET_PROFILE(EdgeEventType.ASSET_PROFILE),
|
||||
API_USAGE_STATE(null),
|
||||
TB_RESOURCE(null),
|
||||
OTA_PACKAGE(EdgeEventType.OTA_PACKAGE),
|
||||
EDGE(EdgeEventType.EDGE),
|
||||
RPC(null),
|
||||
QUEUE(EdgeEventType.QUEUE),
|
||||
NOTIFICATION_TARGET(null),
|
||||
NOTIFICATION_TEMPLATE(null),
|
||||
NOTIFICATION_REQUEST(null),
|
||||
NOTIFICATION(null),
|
||||
NOTIFICATION_RULE(null);
|
||||
WIDGETS_BUNDLE,
|
||||
WIDGET_TYPE,
|
||||
TENANT_PROFILE,
|
||||
DEVICE_PROFILE,
|
||||
ASSET_PROFILE,
|
||||
API_USAGE_STATE,
|
||||
TB_RESOURCE,
|
||||
OTA_PACKAGE,
|
||||
EDGE,
|
||||
RPC,
|
||||
QUEUE,
|
||||
NOTIFICATION_TARGET,
|
||||
NOTIFICATION_TEMPLATE,
|
||||
NOTIFICATION_REQUEST,
|
||||
NOTIFICATION,
|
||||
NOTIFICATION_RULE;
|
||||
|
||||
public static final List<String> NORMAL_NAMES = EnumSet.allOf(EntityType.class).stream()
|
||||
.map(EntityType::getNormalName).collect(Collectors.toUnmodifiableList());
|
||||
@ -67,11 +66,4 @@ public enum EntityType {
|
||||
private final String normalName = StringUtils.capitalize(StringUtils.removeStart(name(), "TB_")
|
||||
.toLowerCase().replaceAll("_", " "));
|
||||
|
||||
@Getter
|
||||
private final EdgeEventType edgeEventType;
|
||||
|
||||
EntityType(EdgeEventType edgeEventType) {
|
||||
this.edgeEventType = edgeEventType;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -16,33 +16,47 @@
|
||||
package org.thingsboard.server.common.data.edge;
|
||||
|
||||
import lombok.Getter;
|
||||
import org.thingsboard.server.common.data.EntityType;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
@Getter
|
||||
public enum EdgeEventType {
|
||||
DASHBOARD(false),
|
||||
ASSET(false),
|
||||
DEVICE(false),
|
||||
DEVICE_PROFILE(true),
|
||||
ASSET_PROFILE(true),
|
||||
ENTITY_VIEW(false),
|
||||
ALARM(false),
|
||||
RULE_CHAIN(false),
|
||||
RULE_CHAIN_METADATA(false),
|
||||
EDGE(false),
|
||||
USER(true),
|
||||
CUSTOMER(true),
|
||||
RELATION(true),
|
||||
TENANT(true),
|
||||
TENANT_PROFILE(true),
|
||||
WIDGETS_BUNDLE(true),
|
||||
WIDGET_TYPE(true),
|
||||
ADMIN_SETTINGS(true),
|
||||
OTA_PACKAGE(true),
|
||||
QUEUE(true);
|
||||
DASHBOARD(false, EntityType.DASHBOARD),
|
||||
ASSET(false, EntityType.ASSET),
|
||||
DEVICE(false, EntityType.DEVICE),
|
||||
DEVICE_PROFILE(true, EntityType.DEVICE_PROFILE),
|
||||
ASSET_PROFILE(true, EntityType.ASSET_PROFILE),
|
||||
ENTITY_VIEW(false, EntityType.ENTITY_VIEW),
|
||||
ALARM(false, EntityType.ALARM),
|
||||
RULE_CHAIN(false, EntityType.RULE_CHAIN),
|
||||
RULE_CHAIN_METADATA(false, null),
|
||||
EDGE(false, EntityType.EDGE),
|
||||
USER(true, EntityType.USER),
|
||||
CUSTOMER(true, EntityType.CUSTOMER),
|
||||
RELATION(true, null),
|
||||
TENANT(true, EntityType.TENANT),
|
||||
TENANT_PROFILE(true, EntityType.TENANT_PROFILE),
|
||||
WIDGETS_BUNDLE(true, EntityType.WIDGETS_BUNDLE),
|
||||
WIDGET_TYPE(true, EntityType.WIDGET_TYPE),
|
||||
ADMIN_SETTINGS(true, null),
|
||||
OTA_PACKAGE(true, EntityType.OTA_PACKAGE),
|
||||
QUEUE(true, EntityType.QUEUE);
|
||||
|
||||
private final boolean allEdgesRelated;
|
||||
|
||||
EdgeEventType(boolean allEdgesRelated) {
|
||||
private final EntityType entityType;
|
||||
|
||||
|
||||
EdgeEventType(boolean allEdgesRelated, EntityType entityType) {
|
||||
this.allEdgesRelated = allEdgesRelated;
|
||||
this.entityType = entityType;
|
||||
}
|
||||
|
||||
public static EdgeEventType getEdgeEventTypeByEntityType(EntityType entityType) {
|
||||
return Arrays.stream(values())
|
||||
.filter(edgeEventType -> entityType.equals(edgeEventType.getEntityType()))
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
}
|
||||
}
|
||||
|
||||
@ -24,7 +24,6 @@ import org.checkerframework.checker.nullness.qual.Nullable;
|
||||
import org.thingsboard.rule.engine.api.RuleNode;
|
||||
import org.thingsboard.rule.engine.api.TbContext;
|
||||
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.edge.EdgeEvent;
|
||||
import org.thingsboard.server.common.data.edge.EdgeEventActionType;
|
||||
@ -91,7 +90,7 @@ public class TbMsgPushToEdgeNode extends AbstractTbMsgPushNode<TbMsgPushToEdgeNo
|
||||
|
||||
@Override
|
||||
EdgeEventType getEventTypeByEntityType(EntityType entityType) {
|
||||
return EdgeUtils.getEdgeEventTypeByEntityType(entityType);
|
||||
return EdgeEventType.getEdgeEventTypeByEntityType(entityType);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user