def monitoredPorts(self):
        base = RVBDUtils.monitoredPortsPath(self.fields)

        portMap = Nodes.getMgmtTabularSubtree(self.mgmt, base, Nodes.parentKeyStringIntCmp)
        result = self.doc.createElement('monitoredPorts')
        for eachPort in portMap:
            portEl = self.doc.createElement('port')
            portEl.setAttribute('number', eachPort['parentKey'])
            portEl.setAttribute('desc', eachPort['desc'])
            result.appendChild(portEl)
        self.doc.documentElement.appendChild(result)
        self.writeXmlDoc()
    def monitoredPorts(self):
        if 'editPolicy' in self.fields:
            base = self.cmcPolicyRetarget('/rbt/sport/reports/config/bandwidth/port')
        else:
            base = RVBDUtils.monitoredPortsPath()

        portMap = Nodes.getMgmtTabularSubtree(self.mgmt, base, Nodes.parentKeyStringIntCmp)
        result = self.doc.createElement('monitoredPorts')
        for eachPort in portMap:
            portEl = self.doc.createElement('port')
            portEl.setAttribute('number', eachPort['parentKey'])
            portEl.setAttribute('desc', eachPort['desc'])
            result.appendChild(portEl)
        self.doc.documentElement.appendChild(result)
        self.writeXmlDoc()
    def monitoredPorts(self):
        base = RVBDUtils.monitoredPortsPath(self.fields)

        if 'addPort' in self.fields.keys():
            number = self.fields.get('addPort_number')
            if Nodes.present(self.mgmt, '%s/%s' % (base, number)):
                self.setFormError("Port %s is already being monitored." % number)
                return
            else:
                desc = self.fields.get('addPort_desc')
                self.setNodes(('%s/%s/desc' % (base, number), 'string', desc))
        elif 'removePorts' in self.fields.keys():
            FormUtils.deleteNodesFromConfigForm(self.mgmt, base, 'ck_', self.fields)
        elif 'editPort' in self.fields.keys():
            number = self.fields.get('editPort_number', None)
            desc = self.fields.get('editPort_desc', None)
            self.setNodes(('%s/%s/desc' % (base, number), 'string', desc))