From 721bdd737a96a165a788a1b33142aef3c243b96f Mon Sep 17 00:00:00 2001 From: Shefali Joshi Date: Tue, 20 Apr 2021 14:51:44 -0700 Subject: [PATCH] [VIPEROMCT-41] When new telemetry data arrives, don't evaluate criteria that are defined for a different telemtry endpoint. (#3797) --- src/plugins/condition/Condition.js | 6 ++++-- src/plugins/condition/criterion/TelemetryCriterion.js | 4 ++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/plugins/condition/Condition.js b/src/plugins/condition/Condition.js index b4c146b790..9f01e9ebc0 100644 --- a/src/plugins/condition/Condition.js +++ b/src/plugins/condition/Condition.js @@ -82,7 +82,9 @@ export default class Condition extends EventEmitter { if (this.isAnyOrAllTelemetry(criterion)) { criterion.updateResult(datum, this.conditionManager.telemetryObjects); } else { - criterion.updateResult(datum); + if (criterion.usesTelemetry(datum.id)) { + criterion.updateResult(datum); + } } }); @@ -102,7 +104,7 @@ export default class Condition extends EventEmitter { isTelemetryUsed(id) { return this.criteria.some(criterion => { - return this.isAnyOrAllTelemetry(criterion) || criterion.telemetryObjectIdAsString === id; + return this.isAnyOrAllTelemetry(criterion) || criterion.usesTelemetry(id); }); } diff --git a/src/plugins/condition/criterion/TelemetryCriterion.js b/src/plugins/condition/criterion/TelemetryCriterion.js index 90d92e7065..c2f49671bb 100644 --- a/src/plugins/condition/criterion/TelemetryCriterion.js +++ b/src/plugins/condition/criterion/TelemetryCriterion.js @@ -58,6 +58,10 @@ export default class TelemetryCriterion extends EventEmitter { } } + usesTelemetry(id) { + return this.telemetryObjectIdAsString && (this.telemetryObjectIdAsString === id); + } + subscribeForStaleData() { if (this.stalenessSubscription) { this.stalenessSubscription.clear();