diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/EdgeUtils.java b/common/data/src/main/java/org/thingsboard/server/common/data/EdgeUtils.java index fce7e7aff3..bf43769970 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/EdgeUtils.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/EdgeUtils.java @@ -36,45 +36,11 @@ public final class EdgeUtils { } public static EdgeEventType getEdgeEventTypeByEntityType(EntityType entityType) { - switch (entityType) { - case EDGE: - return EdgeEventType.EDGE; - case DEVICE: - return EdgeEventType.DEVICE; - case DEVICE_PROFILE: - return EdgeEventType.DEVICE_PROFILE; - case ASSET: - return EdgeEventType.ASSET; - case ASSET_PROFILE: - return EdgeEventType.ASSET_PROFILE; - case ENTITY_VIEW: - return EdgeEventType.ENTITY_VIEW; - case DASHBOARD: - return EdgeEventType.DASHBOARD; - case USER: - return EdgeEventType.USER; - case RULE_CHAIN: - return EdgeEventType.RULE_CHAIN; - case ALARM: - return EdgeEventType.ALARM; - case TENANT: - return EdgeEventType.TENANT; - case CUSTOMER: - return EdgeEventType.CUSTOMER; - case WIDGETS_BUNDLE: - return EdgeEventType.WIDGETS_BUNDLE; - case WIDGET_TYPE: - return EdgeEventType.WIDGET_TYPE; - case OTA_PACKAGE: - return EdgeEventType.OTA_PACKAGE; - case QUEUE: - return EdgeEventType.QUEUE; - case TENANT_PROFILE: - return EdgeEventType.TENANT_PROFILE; - default: - log.warn("Unsupported entity type [{}]", entityType); - return null; + EdgeEventType edgeEventType = entityType.getEdgeEventType(); + if (edgeEventType == null) { + log.warn("Unsupported entity type [{}]", entityType); } + return edgeEventType; } public static int nextPositiveInt() { diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/EntityType.java b/common/data/src/main/java/org/thingsboard/server/common/data/EntityType.java index 8ca6585718..54288af620 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/EntityType.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/EntityType.java @@ -17,6 +17,7 @@ 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; @@ -26,38 +27,38 @@ import java.util.stream.Collectors; * @author Andrew Shvayka */ public enum EntityType { - TENANT, - CUSTOMER, - USER, - DASHBOARD, - ASSET, - DEVICE, - ALARM, - RULE_CHAIN, - RULE_NODE, - ENTITY_VIEW { + 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) { // backward compatibility for TbOriginatorTypeSwitchNode to return correct rule node connection. @Override public String getNormalName() { return "Entity View"; } }, - 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; + 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); public static final List NORMAL_NAMES = EnumSet.allOf(EntityType.class).stream() .map(EntityType::getNormalName).collect(Collectors.toUnmodifiableList()); @@ -66,4 +67,11 @@ 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; + } + }