This commit is contained in:
Yuriy Lytvynchuk 2022-09-13 17:09:04 +03:00
parent 5891a1df65
commit 369af93e51

View File

@ -91,7 +91,9 @@ public class TbGetTelemetryNode implements TbNode {
orderByFetchAll = ASC_ORDER; orderByFetchAll = ASC_ORDER;
} }
aggregation = parseAggregationConfig(config.getAggregation()); aggregation = parseAggregationConfig(config.getAggregation());
if (!fetchMode.equals(FETCH_MODE_ALL)) {
aggregation = Aggregation.NONE;
}
mapper = new ObjectMapper(); mapper = new ObjectMapper();
mapper.configure(JsonWriteFeature.QUOTE_FIELD_NAMES.mappedFeature(), false); mapper.configure(JsonWriteFeature.QUOTE_FIELD_NAMES.mappedFeature(), false);
mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true); mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
@ -236,16 +238,16 @@ public class TbGetTelemetryNode implements TbNode {
} }
private void isUndefined(TbMsg msg, String startIntervalPattern, String endIntervalPattern) { private void isUndefined(TbMsg msg, String startIntervalPattern, String endIntervalPattern) {
if (getMetadataValue(msg, startIntervalPattern) == null && getMetadataValue(msg, endIntervalPattern) == null) { if (getValuePattern(msg, startIntervalPattern) == null && getValuePattern(msg, endIntervalPattern) == null) {
throw new IllegalArgumentException("Message metadata values: '" + throw new IllegalArgumentException("Message metadata values: '" +
replaceRegex(startIntervalPattern) + "' and '" + replaceRegex(startIntervalPattern) + "' and '" +
replaceRegex(endIntervalPattern) + "' are undefined"); replaceRegex(endIntervalPattern) + "' are undefined");
} else { } else {
if (getMetadataValue(msg, startIntervalPattern) == null) { if (getValuePattern(msg, startIntervalPattern) == null) {
throw new IllegalArgumentException("Message metadata value: '" + throw new IllegalArgumentException("Message metadata value: '" +
replaceRegex(startIntervalPattern) + "' is undefined"); replaceRegex(startIntervalPattern) + "' is undefined");
} }
if (getMetadataValue(msg, endIntervalPattern) == null) { if (getValuePattern(msg, endIntervalPattern) == null) {
throw new IllegalArgumentException("Message metadata value: '" + throw new IllegalArgumentException("Message metadata value: '" +
replaceRegex(endIntervalPattern) + "' is undefined"); replaceRegex(endIntervalPattern) + "' is undefined");
} }
@ -269,8 +271,9 @@ public class TbGetTelemetryNode implements TbNode {
} }
} }
private String getMetadataValue(TbMsg msg, String pattern) { private String getValuePattern(TbMsg msg, String pattern) {
return msg.getMetaData().getValue(replaceRegex(pattern)); String valuePattern = TbNodeUtils.processPattern(pattern, msg);
return valuePattern.equals(pattern) ? null : valuePattern;
} }
private String replaceRegex(String pattern) { private String replaceRegex(String pattern) {