Merge pull request #6934 from volodymyr-babak/edqe-queue-cleanup
[3.4] Remove unused code after queue id-name revert
This commit is contained in:
		
						commit
						ff674f0db8
					
				@ -15,7 +15,6 @@
 | 
			
		||||
 */
 | 
			
		||||
package org.thingsboard.server.service.edge.rpc.constructor;
 | 
			
		||||
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import lombok.extern.slf4j.Slf4j;
 | 
			
		||||
import org.springframework.stereotype.Component;
 | 
			
		||||
import org.thingsboard.common.util.JacksonUtil;
 | 
			
		||||
@ -23,7 +22,6 @@ import org.thingsboard.server.common.data.id.RuleChainId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.TenantId;
 | 
			
		||||
import org.thingsboard.server.common.data.rule.RuleChain;
 | 
			
		||||
import org.thingsboard.server.common.data.rule.RuleChainMetaData;
 | 
			
		||||
import org.thingsboard.server.dao.queue.QueueService;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.EdgeVersion;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.RuleChainMetadataUpdateMsg;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.RuleChainUpdateMsg;
 | 
			
		||||
@ -35,11 +33,8 @@ import org.thingsboard.server.service.edge.rpc.constructor.rule.RuleChainMetadat
 | 
			
		||||
@Component
 | 
			
		||||
@Slf4j
 | 
			
		||||
@TbCoreComponent
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
public class RuleChainMsgConstructor {
 | 
			
		||||
 | 
			
		||||
    private final QueueService queueService;
 | 
			
		||||
 | 
			
		||||
    public RuleChainUpdateMsg constructRuleChainUpdatedMsg(RuleChainId edgeRootRuleChainId, UpdateMsgType msgType, RuleChain ruleChain) {
 | 
			
		||||
        RuleChainUpdateMsg.Builder builder = RuleChainUpdateMsg.newBuilder()
 | 
			
		||||
                .setMsgType(msgType)
 | 
			
		||||
@ -61,7 +56,7 @@ public class RuleChainMsgConstructor {
 | 
			
		||||
                                                                           RuleChainMetaData ruleChainMetaData,
 | 
			
		||||
                                                                           EdgeVersion edgeVersion) {
 | 
			
		||||
        RuleChainMetadataConstructor ruleChainMetadataConstructor
 | 
			
		||||
                = RuleChainMetadataConstructorFactory.getByEdgeVersion(edgeVersion, queueService);
 | 
			
		||||
                = RuleChainMetadataConstructorFactory.getByEdgeVersion(edgeVersion);
 | 
			
		||||
        return ruleChainMetadataConstructor.constructRuleChainMetadataUpdatedMsg(tenantId, msgType, ruleChainMetaData);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -16,20 +16,15 @@
 | 
			
		||||
package org.thingsboard.server.service.edge.rpc.constructor.rule;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.JsonProcessingException;
 | 
			
		||||
import com.fasterxml.jackson.databind.JsonNode;
 | 
			
		||||
import com.fasterxml.jackson.databind.node.ObjectNode;
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import lombok.extern.slf4j.Slf4j;
 | 
			
		||||
import org.thingsboard.common.util.JacksonUtil;
 | 
			
		||||
import org.thingsboard.rule.engine.flow.TbCheckpointNode;
 | 
			
		||||
import org.thingsboard.server.common.data.id.QueueId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.TenantId;
 | 
			
		||||
import org.thingsboard.server.common.data.queue.Queue;
 | 
			
		||||
import org.thingsboard.server.common.data.rule.NodeConnectionInfo;
 | 
			
		||||
import org.thingsboard.server.common.data.rule.RuleChainConnectionInfo;
 | 
			
		||||
import org.thingsboard.server.common.data.rule.RuleChainMetaData;
 | 
			
		||||
import org.thingsboard.server.common.data.rule.RuleNode;
 | 
			
		||||
import org.thingsboard.server.dao.queue.QueueService;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.NodeConnectionInfoProto;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.RuleChainConnectionInfoProto;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.RuleChainMetadataUpdateMsg;
 | 
			
		||||
@ -39,16 +34,11 @@ import org.thingsboard.server.gen.edge.v1.UpdateMsgType;
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.NavigableSet;
 | 
			
		||||
import java.util.UUID;
 | 
			
		||||
 | 
			
		||||
@Slf4j
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
public abstract class AbstractRuleChainMetadataConstructor implements RuleChainMetadataConstructor {
 | 
			
		||||
 | 
			
		||||
    public static final List<String> nodeTypes = List.of(TbCheckpointNode.class.getName());
 | 
			
		||||
 | 
			
		||||
    private final QueueService queueService;
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public RuleChainMetadataUpdateMsg constructRuleChainMetadataUpdatedMsg(TenantId tenantId,
 | 
			
		||||
                                                                           UpdateMsgType msgType,
 | 
			
		||||
@ -144,24 +134,4 @@ public abstract class AbstractRuleChainMetadataConstructor implements RuleChainM
 | 
			
		||||
                .setAdditionalInfo(JacksonUtil.OBJECT_MAPPER.writeValueAsString(ruleChainConnectionInfo.getAdditionalInfo()))
 | 
			
		||||
                .build();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    protected List<RuleNode> updateQueueIdToQueueNameNodeConfiguration(TenantId tenantId, List<RuleNode> nodes) {
 | 
			
		||||
        List<RuleNode> result = new ArrayList<>();
 | 
			
		||||
        for (RuleNode node : nodes) {
 | 
			
		||||
            if (nodeTypes.contains(node.getType())) {
 | 
			
		||||
                ObjectNode configuration = (ObjectNode) node.getConfiguration();
 | 
			
		||||
                JsonNode queueIdNode = configuration.remove("queueId");
 | 
			
		||||
                if (queueIdNode != null) {
 | 
			
		||||
                    String queueId = queueIdNode.asText();
 | 
			
		||||
                    Queue queueById = queueService.findQueueById(tenantId, new QueueId(UUID.fromString(queueId)));
 | 
			
		||||
                    if (queueById != null) {
 | 
			
		||||
                        configuration.put("queueName", queueById.getName());
 | 
			
		||||
                        node.setConfiguration(configuration);
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            result.add(node);
 | 
			
		||||
        }
 | 
			
		||||
        return result;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -15,21 +15,18 @@
 | 
			
		||||
 */
 | 
			
		||||
package org.thingsboard.server.service.edge.rpc.constructor.rule;
 | 
			
		||||
 | 
			
		||||
import org.thingsboard.server.dao.queue.QueueService;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.EdgeVersion;
 | 
			
		||||
 | 
			
		||||
public final class RuleChainMetadataConstructorFactory {
 | 
			
		||||
 | 
			
		||||
    public static RuleChainMetadataConstructor getByEdgeVersion(EdgeVersion edgeVersion,
 | 
			
		||||
                                                                QueueService queueService) {
 | 
			
		||||
    public static RuleChainMetadataConstructor getByEdgeVersion(EdgeVersion edgeVersion) {
 | 
			
		||||
        switch (edgeVersion) {
 | 
			
		||||
            case V_3_3_0:
 | 
			
		||||
                return new RuleChainMetadataConstructorV330(queueService);
 | 
			
		||||
                return new RuleChainMetadataConstructorV330();
 | 
			
		||||
            case V_3_3_3:
 | 
			
		||||
                return new RuleChainMetadataConstructorV333(queueService);
 | 
			
		||||
            case V_3_4_0:
 | 
			
		||||
            default:
 | 
			
		||||
                return new RuleChainMetadataConstructorV340(queueService);
 | 
			
		||||
                return new RuleChainMetadataConstructorV340();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -27,7 +27,6 @@ import org.thingsboard.server.common.data.rule.NodeConnectionInfo;
 | 
			
		||||
import org.thingsboard.server.common.data.rule.RuleChainConnectionInfo;
 | 
			
		||||
import org.thingsboard.server.common.data.rule.RuleChainMetaData;
 | 
			
		||||
import org.thingsboard.server.common.data.rule.RuleNode;
 | 
			
		||||
import org.thingsboard.server.dao.queue.QueueService;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.RuleChainMetadataUpdateMsg;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
@ -43,16 +42,11 @@ public class RuleChainMetadataConstructorV330 extends AbstractRuleChainMetadataC
 | 
			
		||||
    private static final String RULE_CHAIN_INPUT_NODE = TbRuleChainInputNode.class.getName();
 | 
			
		||||
    private static final String TB_RULE_CHAIN_OUTPUT_NODE = TbRuleChainOutputNode.class.getName();
 | 
			
		||||
 | 
			
		||||
    public RuleChainMetadataConstructorV330(QueueService queueService) {
 | 
			
		||||
        super(queueService);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    protected void constructRuleChainMetadataUpdatedMsg(TenantId tenantId,
 | 
			
		||||
                                                        RuleChainMetadataUpdateMsg.Builder builder,
 | 
			
		||||
                                                        RuleChainMetaData ruleChainMetaData) throws JsonProcessingException {
 | 
			
		||||
        List<RuleNode> supportedNodes = filterNodes(ruleChainMetaData.getNodes());
 | 
			
		||||
        supportedNodes = updateQueueIdToQueueNameNodeConfiguration(tenantId, supportedNodes);
 | 
			
		||||
 | 
			
		||||
        NavigableSet<Integer> removedNodeIndexes = getRemovedNodeIndexes(ruleChainMetaData.getNodes(), ruleChainMetaData.getConnections());
 | 
			
		||||
        List<NodeConnectionInfo> connections = filterConnections(ruleChainMetaData.getNodes(), ruleChainMetaData.getConnections(), removedNodeIndexes);
 | 
			
		||||
 | 
			
		||||
@ -1,50 +0,0 @@
 | 
			
		||||
/**
 | 
			
		||||
 * Copyright © 2016-2022 The Thingsboard Authors
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
 * You may obtain a copy of the License at
 | 
			
		||||
 *
 | 
			
		||||
 *     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 *
 | 
			
		||||
 * Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 * distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 * See the License for the specific language governing permissions and
 | 
			
		||||
 * limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
package org.thingsboard.server.service.edge.rpc.constructor.rule;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.core.JsonProcessingException;
 | 
			
		||||
import lombok.extern.slf4j.Slf4j;
 | 
			
		||||
import org.thingsboard.server.common.data.id.TenantId;
 | 
			
		||||
import org.thingsboard.server.common.data.rule.RuleChainMetaData;
 | 
			
		||||
import org.thingsboard.server.common.data.rule.RuleNode;
 | 
			
		||||
import org.thingsboard.server.dao.queue.QueueService;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.RuleChainMetadataUpdateMsg;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.TreeSet;
 | 
			
		||||
 | 
			
		||||
@Slf4j
 | 
			
		||||
public class RuleChainMetadataConstructorV333 extends AbstractRuleChainMetadataConstructor {
 | 
			
		||||
 | 
			
		||||
    public RuleChainMetadataConstructorV333(QueueService queueService) {
 | 
			
		||||
        super(queueService);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    protected void constructRuleChainMetadataUpdatedMsg(TenantId tenantId,
 | 
			
		||||
                                                        RuleChainMetadataUpdateMsg.Builder builder,
 | 
			
		||||
                                                        RuleChainMetaData ruleChainMetaData) throws JsonProcessingException {
 | 
			
		||||
        List<RuleNode> nodes = updateQueueIdToQueueNameNodeConfiguration(tenantId, ruleChainMetaData.getNodes());
 | 
			
		||||
        builder.addAllNodes(constructNodes(nodes))
 | 
			
		||||
                .addAllConnections(constructConnections(ruleChainMetaData.getConnections()))
 | 
			
		||||
                .addAllRuleChainConnections(constructRuleChainConnections(ruleChainMetaData.getRuleChainConnections(), new TreeSet<>()));
 | 
			
		||||
        if (ruleChainMetaData.getFirstNodeIndex() != null) {
 | 
			
		||||
            builder.setFirstNodeIndex(ruleChainMetaData.getFirstNodeIndex());
 | 
			
		||||
        } else {
 | 
			
		||||
            builder.setFirstNodeIndex(-1);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -19,7 +19,6 @@ import com.fasterxml.jackson.core.JsonProcessingException;
 | 
			
		||||
import lombok.extern.slf4j.Slf4j;
 | 
			
		||||
import org.thingsboard.server.common.data.id.TenantId;
 | 
			
		||||
import org.thingsboard.server.common.data.rule.RuleChainMetaData;
 | 
			
		||||
import org.thingsboard.server.dao.queue.QueueService;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.RuleChainMetadataUpdateMsg;
 | 
			
		||||
 | 
			
		||||
import java.util.TreeSet;
 | 
			
		||||
@ -27,10 +26,6 @@ import java.util.TreeSet;
 | 
			
		||||
@Slf4j
 | 
			
		||||
public class RuleChainMetadataConstructorV340 extends AbstractRuleChainMetadataConstructor {
 | 
			
		||||
 | 
			
		||||
    public RuleChainMetadataConstructorV340(QueueService queueService) {
 | 
			
		||||
        super(queueService);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    protected void constructRuleChainMetadataUpdatedMsg(TenantId tenantId,
 | 
			
		||||
                                                        RuleChainMetadataUpdateMsg.Builder builder,
 | 
			
		||||
 | 
			
		||||
@ -23,53 +23,37 @@ import org.junit.Assert;
 | 
			
		||||
import org.junit.Before;
 | 
			
		||||
import org.junit.Test;
 | 
			
		||||
import org.junit.runner.RunWith;
 | 
			
		||||
import org.mockito.Mockito;
 | 
			
		||||
import org.mockito.junit.MockitoJUnitRunner;
 | 
			
		||||
import org.thingsboard.common.util.JacksonUtil;
 | 
			
		||||
import org.thingsboard.server.common.data.id.QueueId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.RuleChainId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.RuleNodeId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.TenantId;
 | 
			
		||||
import org.thingsboard.server.common.data.queue.Queue;
 | 
			
		||||
import org.thingsboard.server.common.data.rule.NodeConnectionInfo;
 | 
			
		||||
import org.thingsboard.server.common.data.rule.RuleChainMetaData;
 | 
			
		||||
import org.thingsboard.server.common.data.rule.RuleNode;
 | 
			
		||||
import org.thingsboard.server.dao.queue.QueueService;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.EdgeVersion;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.RuleChainConnectionInfoProto;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.RuleChainMetadataUpdateMsg;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.RuleNodeProto;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.UpdateMsgType;
 | 
			
		||||
import org.thingsboard.server.service.edge.rpc.constructor.rule.RuleChainMetadataConstructorV333;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Optional;
 | 
			
		||||
import java.util.UUID;
 | 
			
		||||
 | 
			
		||||
import static org.mockito.Mockito.mock;
 | 
			
		||||
 | 
			
		||||
@Slf4j
 | 
			
		||||
@RunWith(MockitoJUnitRunner.class)
 | 
			
		||||
public class RuleChainMsgConstructorTest {
 | 
			
		||||
 | 
			
		||||
    private RuleChainMsgConstructor constructor;
 | 
			
		||||
 | 
			
		||||
    private QueueService queueService;
 | 
			
		||||
 | 
			
		||||
    private TenantId tenantId;
 | 
			
		||||
 | 
			
		||||
    private String queueId = "af588000-6c7c-11ec-bafd-c9a47a5c8d99";
 | 
			
		||||
 | 
			
		||||
    @Before
 | 
			
		||||
    public void setup() {
 | 
			
		||||
        queueService = mock(QueueService.class);
 | 
			
		||||
        constructor = new RuleChainMsgConstructor(queueService);
 | 
			
		||||
        constructor = new RuleChainMsgConstructor();
 | 
			
		||||
        tenantId = new TenantId(UUID.randomUUID());
 | 
			
		||||
 | 
			
		||||
        Queue queue = new Queue();
 | 
			
		||||
        queue.setName("HighPriority");
 | 
			
		||||
        Mockito.when(queueService.findQueueById(tenantId, new QueueId(UUID.fromString(queueId)))).thenReturn(queue);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
@ -88,7 +72,7 @@ public class RuleChainMsgConstructorTest {
 | 
			
		||||
 | 
			
		||||
        assertCheckpointRuleNodeConfiguration(
 | 
			
		||||
                ruleChainMetadataUpdateMsg.getNodesList(),
 | 
			
		||||
                "{\"queueId\":\"" + queueId + "\"}");
 | 
			
		||||
                "{\"queueName\":\"HighPriority\"}");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Test
 | 
			
		||||
@ -345,7 +329,7 @@ public class RuleChainMsgConstructorTest {
 | 
			
		||||
        return createRuleNode(ruleChainId,
 | 
			
		||||
                "org.thingsboard.rule.engine.flow.TbCheckpointNode",
 | 
			
		||||
                "Checkpoint node",
 | 
			
		||||
                JacksonUtil.OBJECT_MAPPER.readTree("{\"queueId\":\"" + queueId + "\"}"),
 | 
			
		||||
                JacksonUtil.OBJECT_MAPPER.readTree("{\"queueName\":\"HighPriority\"}"),
 | 
			
		||||
                JacksonUtil.OBJECT_MAPPER.readTree("{\"description\":\"\",\"layoutX\":178,\"layoutY\":647}"));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user