diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbCopyKeysNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbCopyKeysNode.java index 51a6254c0b..8072f72ec6 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbCopyKeysNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbCopyKeysNode.java @@ -54,10 +54,12 @@ public class TbCopyKeysNode implements TbNode { TbCopyKeysNodeConfiguration config; List patternKeys = new ArrayList<>(); + boolean fromMetadata; @Override public void init(TbContext ctx, TbNodeConfiguration configuration) throws TbNodeException { this.config = TbNodeUtils.convert(configuration, TbCopyKeysNodeConfiguration.class); + this.fromMetadata = config.isFromMetadata(); config.getKeys().forEach(key -> { this.patternKeys.add(Pattern.compile(key)); }); @@ -70,7 +72,7 @@ public class TbCopyKeysNode implements TbNode { AtomicBoolean msgChanged = new AtomicBoolean(false); JsonNode dataNode = JacksonUtil.toJsonNode(msgData); if (dataNode.isObject()) { - if (config.isFromMetadata()) { + if (fromMetadata) { ObjectNode msgDataNode = (ObjectNode) dataNode; Map metaDataMap = metaData.getData(); metaDataMap.forEach((keyMetaData, valueMetaData) -> {