refactor code review

This commit is contained in:
Yuriy Lytvynchuk 2022-10-31 14:10:23 +02:00
parent dae3e4a858
commit 513d0f3075

View File

@ -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());
} }