Browse Source

refactor code review

pull/7377/head
Yuriy Lytvynchuk 4 years ago
parent
commit
513d0f3075
  1. 8
      rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/TbAbstractGetAttributesNode.java

8
rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/TbAbstractGetAttributesNode.java

@ -35,6 +35,7 @@ import org.thingsboard.server.common.data.kv.JsonDataEntry;
import org.thingsboard.server.common.data.kv.KvEntry; import org.thingsboard.server.common.data.kv.KvEntry;
import org.thingsboard.server.common.data.kv.TsKvEntry; import org.thingsboard.server.common.data.kv.TsKvEntry;
import org.thingsboard.server.common.msg.TbMsg; import org.thingsboard.server.common.msg.TbMsg;
import org.thingsboard.server.common.msg.TbMsgMetaData;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
@ -108,6 +109,7 @@ public abstract class TbAbstractGetAttributesNode<C extends TbGetAttributesNodeC
if (!failuresMap.isEmpty()) { if (!failuresMap.isEmpty()) {
throw reportFailures(failuresMap); throw reportFailures(failuresMap);
} }
TbMsgMetaData msgMetaData = msg.getMetaData().copy();
futuresList.stream().filter(Objects::nonNull).forEach(kvEntriesMap -> { futuresList.stream().filter(Objects::nonNull).forEach(kvEntriesMap -> {
kvEntriesMap.forEach((keyScope, kvEntryList) -> { kvEntriesMap.forEach((keyScope, kvEntryList) -> {
String prefix = getPrefix(keyScope); String prefix = getPrefix(keyScope);
@ -115,15 +117,15 @@ public abstract class TbAbstractGetAttributesNode<C extends TbGetAttributesNodeC
if (fetchToData) { if (fetchToData) {
JacksonUtil.addKvEntry((ObjectNode) msgDataNode, kvEntry, prefix + kvEntry.getKey()); JacksonUtil.addKvEntry((ObjectNode) msgDataNode, kvEntry, prefix + kvEntry.getKey());
} else { } else {
msg.getMetaData().putValue(prefix + kvEntry.getKey(), kvEntry.getValueAsString()); msgMetaData.putValue(prefix + kvEntry.getKey(), kvEntry.getValueAsString());
} }
}); });
}); });
}); });
if (fetchToData) { if (fetchToData) {
ctx.tellSuccess(TbMsg.transformMsg(msg, msg.getType(), msg.getOriginator(), msg.getMetaData(), JacksonUtil.toString(msgDataNode))); ctx.tellSuccess(TbMsg.transformMsg(msg, msg.getType(), msg.getOriginator(), msgMetaData, JacksonUtil.toString(msgDataNode)));
} else { } else {
ctx.tellSuccess(msg); ctx.tellSuccess(TbMsg.transformMsg(msg, msg.getType(), msg.getOriginator(), msgMetaData, msg.getData()));
} }
}, t -> ctx.tellFailure(msg, t), ctx.getDbCallbackExecutor()); }, t -> ctx.tellFailure(msg, t), ctx.getDbCallbackExecutor());
} }

Loading…
Cancel
Save