Refactoring to contain list of rulenodes for PE
This commit is contained in:
parent
0b01d73ba7
commit
eb7c52974c
@ -45,7 +45,8 @@ import java.util.UUID;
|
|||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public abstract class AbstractRuleChainMetadataConstructor implements RuleChainMetadataConstructor {
|
public abstract class AbstractRuleChainMetadataConstructor implements RuleChainMetadataConstructor {
|
||||||
|
|
||||||
public static final String CHECKPOINT_NODE = TbCheckpointNode.class.getName();
|
public static final List<String> nodeTypes = List.of(TbCheckpointNode.class.getName());
|
||||||
|
|
||||||
private final QueueService queueService;
|
private final QueueService queueService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -144,10 +145,10 @@ public abstract class AbstractRuleChainMetadataConstructor implements RuleChainM
|
|||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected List<RuleNode> updateCheckpointNodesConfiguration(TenantId tenantId, List<RuleNode> nodes) {
|
protected List<RuleNode> updateQueueIdToQueueNameNodeConfiguration(TenantId tenantId, List<RuleNode> nodes) {
|
||||||
List<RuleNode> result = new ArrayList<>();
|
List<RuleNode> result = new ArrayList<>();
|
||||||
for (RuleNode node : nodes) {
|
for (RuleNode node : nodes) {
|
||||||
if (CHECKPOINT_NODE.equals(node.getType())) {
|
if (nodeTypes.contains(node.getType())) {
|
||||||
ObjectNode configuration = (ObjectNode) node.getConfiguration();
|
ObjectNode configuration = (ObjectNode) node.getConfiguration();
|
||||||
JsonNode queueIdNode = configuration.remove("queueId");
|
JsonNode queueIdNode = configuration.remove("queueId");
|
||||||
if (queueIdNode != null) {
|
if (queueIdNode != null) {
|
||||||
|
|||||||
@ -52,7 +52,7 @@ public class RuleChainMetadataConstructorV330 extends AbstractRuleChainMetadataC
|
|||||||
RuleChainMetadataUpdateMsg.Builder builder,
|
RuleChainMetadataUpdateMsg.Builder builder,
|
||||||
RuleChainMetaData ruleChainMetaData) throws JsonProcessingException {
|
RuleChainMetaData ruleChainMetaData) throws JsonProcessingException {
|
||||||
List<RuleNode> supportedNodes = filterNodes(ruleChainMetaData.getNodes());
|
List<RuleNode> supportedNodes = filterNodes(ruleChainMetaData.getNodes());
|
||||||
supportedNodes = updateCheckpointNodesConfiguration(tenantId, supportedNodes);
|
supportedNodes = updateQueueIdToQueueNameNodeConfiguration(tenantId, supportedNodes);
|
||||||
|
|
||||||
NavigableSet<Integer> removedNodeIndexes = getRemovedNodeIndexes(ruleChainMetaData.getNodes(), ruleChainMetaData.getConnections());
|
NavigableSet<Integer> removedNodeIndexes = getRemovedNodeIndexes(ruleChainMetaData.getNodes(), ruleChainMetaData.getConnections());
|
||||||
List<NodeConnectionInfo> connections = filterConnections(ruleChainMetaData.getNodes(), ruleChainMetaData.getConnections(), removedNodeIndexes);
|
List<NodeConnectionInfo> connections = filterConnections(ruleChainMetaData.getNodes(), ruleChainMetaData.getConnections(), removedNodeIndexes);
|
||||||
|
|||||||
@ -37,7 +37,7 @@ public class RuleChainMetadataConstructorV333 extends AbstractRuleChainMetadataC
|
|||||||
protected void constructRuleChainMetadataUpdatedMsg(TenantId tenantId,
|
protected void constructRuleChainMetadataUpdatedMsg(TenantId tenantId,
|
||||||
RuleChainMetadataUpdateMsg.Builder builder,
|
RuleChainMetadataUpdateMsg.Builder builder,
|
||||||
RuleChainMetaData ruleChainMetaData) throws JsonProcessingException {
|
RuleChainMetaData ruleChainMetaData) throws JsonProcessingException {
|
||||||
List<RuleNode> nodes = updateCheckpointNodesConfiguration(tenantId, ruleChainMetaData.getNodes());
|
List<RuleNode> nodes = updateQueueIdToQueueNameNodeConfiguration(tenantId, ruleChainMetaData.getNodes());
|
||||||
builder.addAllNodes(constructNodes(nodes))
|
builder.addAllNodes(constructNodes(nodes))
|
||||||
.addAllConnections(constructConnections(ruleChainMetaData.getConnections()))
|
.addAllConnections(constructConnections(ruleChainMetaData.getConnections()))
|
||||||
.addAllRuleChainConnections(constructRuleChainConnections(ruleChainMetaData.getRuleChainConnections(), new TreeSet<>()));
|
.addAllRuleChainConnections(constructRuleChainConnections(ruleChainMetaData.getRuleChainConnections(), new TreeSet<>()));
|
||||||
|
|||||||
@ -217,7 +217,7 @@ public class RuleChainMsgConstructorTest {
|
|||||||
private void assertCheckpointRuleNodeConfiguration(List<RuleNodeProto> nodesList,
|
private void assertCheckpointRuleNodeConfiguration(List<RuleNodeProto> nodesList,
|
||||||
String expectedConfiguration) {
|
String expectedConfiguration) {
|
||||||
Optional<RuleNodeProto> checkpointRuleNodeOpt = nodesList.stream()
|
Optional<RuleNodeProto> checkpointRuleNodeOpt = nodesList.stream()
|
||||||
.filter(rn -> RuleChainMetadataConstructorV333.CHECKPOINT_NODE.equals(rn.getType()))
|
.filter(rn -> "org.thingsboard.rule.engine.flow.TbCheckpointNode".equals(rn.getType()))
|
||||||
.findFirst();
|
.findFirst();
|
||||||
Assert.assertTrue(checkpointRuleNodeOpt.isPresent());
|
Assert.assertTrue(checkpointRuleNodeOpt.isPresent());
|
||||||
RuleNodeProto checkpointRuleNode = checkpointRuleNodeOpt.get();
|
RuleNodeProto checkpointRuleNode = checkpointRuleNodeOpt.get();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user