diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/TbEntityGetAttrNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/TbEntityGetAttrNode.java index 747549cd77..13451a3b34 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/TbEntityGetAttrNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/TbEntityGetAttrNode.java @@ -68,8 +68,11 @@ public abstract class TbEntityGetAttrNode implements TbNode Map mappingsMap = new HashMap<>(); config.getAttrMapping().forEach((key, value) -> { - String processPattern = TbNodeUtils.processPattern(key, msg); - mappingsMap.put(processPattern, value); + log.info("key = {}, value = {}", key, value); + log.info(msg.toString()); + String processPatternKey = TbNodeUtils.processPattern(key, msg); + String processPatternValue = TbNodeUtils.processPattern(value, msg); + mappingsMap.put(processPatternKey, processPatternValue); }); List keys = List.copyOf(mappingsMap.keySet()); @@ -94,6 +97,7 @@ public abstract class TbEntityGetAttrNode implements TbNode private void putAttributesAndTell(TbContext ctx, TbMsg msg, List attributes, Map map) { attributes.forEach(r -> { String attrName = map.get(r.getKey()); + log.info("attrName = {}, value = {}", attrName, r.getValueAsString()); msg.getMetaData().putValue(attrName, r.getValueAsString()); }); ctx.tellSuccess(msg); diff --git a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/AbstractAttributeNodeTest.java b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/AbstractAttributeNodeTest.java index 005b40b4e7..a0f2879851 100644 --- a/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/AbstractAttributeNodeTest.java +++ b/rule-engine/rule-engine-components/src/test/java/org/thingsboard/rule/engine/metadata/AbstractAttributeNodeTest.java @@ -72,7 +72,7 @@ public abstract class AbstractAttributeNodeTest { final RuleChainId ruleChainId = new RuleChainId(Uuids.timeBased()); final RuleNodeId ruleNodeId = new RuleNodeId(Uuids.timeBased()); final String keyAttrConf = "${word}"; - final String valueAttrConf = "result"; + final String valueAttrConf = "${result}"; @Mock TbContext ctx; @Mock @@ -95,6 +95,7 @@ public abstract class AbstractAttributeNodeTest { metaData = new HashMap<>(); metaData.putIfAbsent("word", "temperature"); + metaData.putIfAbsent("result", "answer"); this.node = node; this.node.init(null, nodeConfiguration); @@ -181,7 +182,7 @@ public abstract class AbstractAttributeNodeTest { node.onMsg(ctx, msg); verify(ctx).tellSuccess(msg); - assertEquals(msg.getMetaData().getValue("result"), "highest"); + assertEquals(msg.getMetaData().getValue("answer"), "highest"); } void entityAttributeFetched(EntityId entityId) { @@ -193,7 +194,7 @@ public abstract class AbstractAttributeNodeTest { node.onMsg(ctx, msg); verify(ctx).tellSuccess(msg); - assertEquals(msg.getMetaData().getValue("result"), "high"); + assertEquals(msg.getMetaData().getValue("answer"), "high"); } TbGetEntityAttrNodeConfiguration getTbNodeConfig() {