Correctly set root rule chain on initial sync
This commit is contained in:
parent
1d179b725b
commit
5580b17953
@ -15,8 +15,10 @@
|
||||
*/
|
||||
package org.thingsboard.server.service.edge.rpc.fetch;
|
||||
|
||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.thingsboard.common.util.JacksonUtil;
|
||||
import org.thingsboard.server.common.data.EdgeUtils;
|
||||
import org.thingsboard.server.common.data.edge.Edge;
|
||||
import org.thingsboard.server.common.data.edge.EdgeEvent;
|
||||
@ -28,6 +30,8 @@ import org.thingsboard.server.common.data.page.PageLink;
|
||||
import org.thingsboard.server.common.data.rule.RuleChain;
|
||||
import org.thingsboard.server.dao.rule.RuleChainService;
|
||||
|
||||
import static org.thingsboard.server.service.edge.DefaultEdgeNotificationService.EDGE_IS_ROOT_BODY_KEY;
|
||||
|
||||
@Slf4j
|
||||
@AllArgsConstructor
|
||||
public class RuleChainsEdgeEventFetcher extends BasePageableEdgeEventFetcher<RuleChain> {
|
||||
@ -41,7 +45,13 @@ public class RuleChainsEdgeEventFetcher extends BasePageableEdgeEventFetcher<Rul
|
||||
|
||||
@Override
|
||||
EdgeEvent constructEdgeEvent(TenantId tenantId, Edge edge, RuleChain ruleChain) {
|
||||
ObjectNode isRootBody = JacksonUtil.OBJECT_MAPPER.createObjectNode();
|
||||
boolean isRoot = false;
|
||||
try {
|
||||
isRoot = ruleChain.getId().equals(edge.getRootRuleChainId());
|
||||
} catch (Exception ignored) {}
|
||||
isRootBody.put(EDGE_IS_ROOT_BODY_KEY, isRoot);
|
||||
return EdgeUtils.constructEdgeEvent(tenantId, edge.getId(), EdgeEventType.RULE_CHAIN,
|
||||
EdgeEventActionType.ADDED, ruleChain.getId(), null);
|
||||
EdgeEventActionType.ADDED, ruleChain.getId(), isRootBody);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user