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