async createBrokerTopology()

in artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/artemis-service.ts [205:235]


    async createBrokerTopology(maxAddresses: number, addressFilter: string): Promise<BrokerTopology> {
        return new Promise<BrokerTopology>(async (resolve, reject) => {
            try {
                var brokerInfo = await this.getBrokerInfo();
                var brokerObjectName = await this.brokerObjectName;
                const topology = await jolokiaService.execute(brokerObjectName, LIST_NETWORK_TOPOLOGY_SIG) as string;
                brokerInfo.networkTopology =  new BrokerNetworkTopology(JSON.parse(topology));
                var brokerTopology: BrokerTopology = {
                    broker: brokerInfo,
                    addresses: []
                }
                var addresses: string[] = (await this.getAllAddresses(addressFilter));
                var max: number = maxAddresses < addresses.length ? maxAddresses: addresses.length;
                addresses = addresses.slice(0, max);
                log.info()
                for (const address of addresses) {
                    var queuesJson: string = await this.getQueuesForAddress(address);
                    var queues: Queue[] = JSON.parse(queuesJson).data;
                    brokerTopology.addresses.push({
                        name: address,
                        queues: queues
                    })
                }
                resolve(brokerTopology);
                
            } catch (error) {
                reject("invalid response:");
            }
        
        });
    }