Browse Source

Refactor isValidCfToSend

pull/14828/head
Nikita Mazurenko 9 months ago
parent
commit
30f12f8bd3
  1. 19
      application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/cf/CalculatedFieldEdgeProcessor.java

19
application/src/main/java/org/thingsboard/server/service/edge/rpc/processor/cf/CalculatedFieldEdgeProcessor.java

@ -46,25 +46,16 @@ import org.thingsboard.server.gen.transport.TransportProtos;
import org.thingsboard.server.queue.util.TbCoreComponent;
import org.thingsboard.server.service.edge.EdgeMsgConstructorUtils;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import static org.thingsboard.server.common.data.cf.CalculatedFieldType.ALARM;
import static org.thingsboard.server.common.data.cf.CalculatedFieldType.ENTITY_AGGREGATION;
import static org.thingsboard.server.common.data.cf.CalculatedFieldType.GEOFENCING;
import static org.thingsboard.server.common.data.cf.CalculatedFieldType.PROPAGATION;
import static org.thingsboard.server.common.data.cf.CalculatedFieldType.RELATED_ENTITIES_AGGREGATION;
import static org.thingsboard.server.common.data.cf.CalculatedFieldType.SCRIPT;
import static org.thingsboard.server.common.data.cf.CalculatedFieldType.SIMPLE;
@Slf4j
@Component
@TbCoreComponent
public class CalculatedFieldEdgeProcessor extends BaseCalculatedFieldProcessor implements CalculatedFieldProcessor {
private static final Map<EdgeVersion, Set<CalculatedFieldType>> NEW_CF_TYPES_PER_EDGE_VERSION = Map.of(
EdgeVersion.V_4_3_0, Set.of(GEOFENCING, ALARM, PROPAGATION, RELATED_ENTITIES_AGGREGATION, ENTITY_AGGREGATION)
);
@Override
public ListenableFuture<Void> processCalculatedFieldMsgFromEdge(TenantId tenantId, Edge edge, CalculatedFieldUpdateMsg calculatedFieldUpdateMsg) {
CalculatedFieldId calculatedFieldId = new CalculatedFieldId(new UUID(calculatedFieldUpdateMsg.getIdMSB(), calculatedFieldUpdateMsg.getIdLSB()));
@ -125,11 +116,7 @@ public class CalculatedFieldEdgeProcessor extends BaseCalculatedFieldProcessor i
}
private boolean isValidCfToSend(CalculatedFieldType type, EdgeVersion edgeVersion) {
return NEW_CF_TYPES_PER_EDGE_VERSION.entrySet().stream().noneMatch(entry -> {
EdgeVersion v = entry.getKey();
Set<CalculatedFieldType> newCfTypes = entry.getValue();
return edgeVersion.getNumber() < v.getNumber() && newCfTypes.contains(type);
});
return edgeVersion.getNumber() >= EdgeVersion.V_4_3_0.getNumber() || (type == SIMPLE || type == SCRIPT);
}
@Override

Loading…
Cancel
Save