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:");
}
});
}