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
 | 
			
		||||
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;
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
@ -144,10 +145,10 @@ public abstract class AbstractRuleChainMetadataConstructor implements RuleChainM
 | 
			
		||||
                .build();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    protected List<RuleNode> updateCheckpointNodesConfiguration(TenantId tenantId, List<RuleNode> nodes) {
 | 
			
		||||
    protected List<RuleNode> updateQueueIdToQueueNameNodeConfiguration(TenantId tenantId, List<RuleNode> nodes) {
 | 
			
		||||
        List<RuleNode> result = new ArrayList<>();
 | 
			
		||||
        for (RuleNode node : nodes) {
 | 
			
		||||
            if (CHECKPOINT_NODE.equals(node.getType())) {
 | 
			
		||||
            if (nodeTypes.contains(node.getType())) {
 | 
			
		||||
                ObjectNode configuration = (ObjectNode) node.getConfiguration();
 | 
			
		||||
                JsonNode queueIdNode = configuration.remove("queueId");
 | 
			
		||||
                if (queueIdNode != null) {
 | 
			
		||||
 | 
			
		||||
@ -52,7 +52,7 @@ public class RuleChainMetadataConstructorV330 extends AbstractRuleChainMetadataC
 | 
			
		||||
                                                        RuleChainMetadataUpdateMsg.Builder builder,
 | 
			
		||||
                                                        RuleChainMetaData ruleChainMetaData) throws JsonProcessingException {
 | 
			
		||||
        List<RuleNode> supportedNodes = filterNodes(ruleChainMetaData.getNodes());
 | 
			
		||||
        supportedNodes = updateCheckpointNodesConfiguration(tenantId, supportedNodes);
 | 
			
		||||
        supportedNodes = updateQueueIdToQueueNameNodeConfiguration(tenantId, supportedNodes);
 | 
			
		||||
 | 
			
		||||
        NavigableSet<Integer> removedNodeIndexes = getRemovedNodeIndexes(ruleChainMetaData.getNodes(), ruleChainMetaData.getConnections());
 | 
			
		||||
        List<NodeConnectionInfo> connections = filterConnections(ruleChainMetaData.getNodes(), ruleChainMetaData.getConnections(), removedNodeIndexes);
 | 
			
		||||
 | 
			
		||||
@ -37,7 +37,7 @@ public class RuleChainMetadataConstructorV333 extends AbstractRuleChainMetadataC
 | 
			
		||||
    protected void constructRuleChainMetadataUpdatedMsg(TenantId tenantId,
 | 
			
		||||
                                                        RuleChainMetadataUpdateMsg.Builder builder,
 | 
			
		||||
                                                        RuleChainMetaData ruleChainMetaData) throws JsonProcessingException {
 | 
			
		||||
        List<RuleNode> nodes = updateCheckpointNodesConfiguration(tenantId, ruleChainMetaData.getNodes());
 | 
			
		||||
        List<RuleNode> nodes = updateQueueIdToQueueNameNodeConfiguration(tenantId, ruleChainMetaData.getNodes());
 | 
			
		||||
        builder.addAllNodes(constructNodes(nodes))
 | 
			
		||||
                .addAllConnections(constructConnections(ruleChainMetaData.getConnections()))
 | 
			
		||||
                .addAllRuleChainConnections(constructRuleChainConnections(ruleChainMetaData.getRuleChainConnections(), new TreeSet<>()));
 | 
			
		||||
 | 
			
		||||
@ -217,7 +217,7 @@ public class RuleChainMsgConstructorTest {
 | 
			
		||||
    private void assertCheckpointRuleNodeConfiguration(List<RuleNodeProto> nodesList,
 | 
			
		||||
                                                       String expectedConfiguration) {
 | 
			
		||||
        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();
 | 
			
		||||
        Assert.assertTrue(checkpointRuleNodeOpt.isPresent());
 | 
			
		||||
        RuleNodeProto checkpointRuleNode = checkpointRuleNodeOpt.get();
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user