From 189c1afb01b69faca09b6a05a8c1859005c1a7a3 Mon Sep 17 00:00:00 2001 From: Yuriy Lytvynchuk Date: Fri, 16 Sep 2022 10:12:08 +0300 Subject: [PATCH] refactor code --- .../engine/metadata/TbGetTelemetryNode.java | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/TbGetTelemetryNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/TbGetTelemetryNode.java index 914eb4cddd..f95909e813 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/TbGetTelemetryNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/TbGetTelemetryNode.java @@ -91,16 +91,14 @@ public class TbGetTelemetryNode implements TbNode { orderByFetchAll = ASC_ORDER; } aggregation = parseAggregationConfig(config.getAggregation()); - if (!fetchMode.equals(FETCH_MODE_ALL)) { - aggregation = Aggregation.NONE; - } + mapper = new ObjectMapper(); mapper.configure(JsonWriteFeature.QUOTE_FIELD_NAMES.mappedFeature(), false); mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true); } Aggregation parseAggregationConfig(String aggName) { - if (StringUtils.isEmpty(aggName)) { + if (StringUtils.isEmpty(aggName) || !fetchMode.equals(FETCH_MODE_ALL)) { return Aggregation.NONE; } return Aggregation.valueOf(aggName); @@ -113,7 +111,7 @@ public class TbGetTelemetryNode implements TbNode { } else { try { if (config.isUseMetadataIntervalPatterns()) { - checkMetadataKeyPatterns(msg); + checkKeyPatterns(msg); } List keys = TbNodeUtils.processPatterns(tsKeyNames, msg); ListenableFuture> list = ctx.getTimeseriesService().findAll(ctx.getTenantId(), msg.getOriginator(), buildQueries(msg, keys)); @@ -232,23 +230,23 @@ public class TbGetTelemetryNode implements TbNode { return NumberUtils.isParsable(TbNodeUtils.processPattern(pattern, msg)); } - private void checkMetadataKeyPatterns(TbMsg msg) { + private void checkKeyPatterns(TbMsg msg) { isUndefined(msg, config.getStartIntervalPattern(), config.getEndIntervalPattern()); isInvalid(msg, config.getStartIntervalPattern(), config.getEndIntervalPattern()); } private void isUndefined(TbMsg msg, String startIntervalPattern, String endIntervalPattern) { if (getValuePattern(msg, startIntervalPattern) == null && getValuePattern(msg, endIntervalPattern) == null) { - throw new IllegalArgumentException("Message metadata values: '" + + throw new IllegalArgumentException("Message values: '" + replaceRegex(startIntervalPattern) + "' and '" + replaceRegex(endIntervalPattern) + "' are undefined"); } else { if (getValuePattern(msg, startIntervalPattern) == null) { - throw new IllegalArgumentException("Message metadata value: '" + + throw new IllegalArgumentException("Message value: '" + replaceRegex(startIntervalPattern) + "' is undefined"); } if (getValuePattern(msg, endIntervalPattern) == null) { - throw new IllegalArgumentException("Message metadata value: '" + + throw new IllegalArgumentException("Message value: '" + replaceRegex(endIntervalPattern) + "' is undefined"); } } @@ -256,16 +254,16 @@ public class TbGetTelemetryNode implements TbNode { private void isInvalid(TbMsg msg, String startIntervalPattern, String endIntervalPattern) { if (getInterval(msg).getStartTs() == null && getInterval(msg).getEndTs() == null) { - throw new IllegalArgumentException("Message metadata values: '" + + throw new IllegalArgumentException("Message values: '" + replaceRegex(startIntervalPattern) + "' and '" + replaceRegex(endIntervalPattern) + "' have invalid format"); } else { if (getInterval(msg).getStartTs() == null) { - throw new IllegalArgumentException("Message metadata value: '" + + throw new IllegalArgumentException("Message value: '" + replaceRegex(startIntervalPattern) + "' has invalid format"); } if (getInterval(msg).getEndTs() == null) { - throw new IllegalArgumentException("Message metadata value: '" + + throw new IllegalArgumentException("Message value: '" + replaceRegex(endIntervalPattern) + "' has invalid format"); } }