/** * <p>snmpWalk.</p> * * @param includes an array of {@link java.lang.String} objects. * @return a {@link net.itransformers.snmp2xml4j.snmptoolkit.Node} object. * @throws java.io.IOException if any. */ public Node snmpWalk(String[] includes) throws IOException { ObjectIdentifierValue oid = loader.getRootOid(); Set<String> includesSet = new HashSet<String>(Arrays.asList(includes)); Node rootNode = new Node(oid, null); fillTreeFromMib(rootNode); fillDoWalk(rootNode, includesSet); fillTreeFromSNMP(rootNode); return rootNode; }
public String snmpWalkToString(String[] includes) throws IOException { ObjectIdentifierValue oid = loader.getRootOid(); Set<String> includesSet = new HashSet<String>(Arrays.asList(includes)); Node rootNode = new Node(oid, null); fillTreeFromMib(rootNode); fillDoWalk(rootNode, includesSet); fillTreeFromSNMP(rootNode); SnmpXmlPrinter snmpXmlPrinter = new SnmpXmlPrinter(loader,rootNode); return snmpXmlPrinter.printTreeAsXML(); }
private void fillTreeFromMib(Node node) { ObjectIdentifierValue oid = node.getObjectIdentifierValue(); ObjectIdentifierValue[] children = oid.getAllChildren(); for (ObjectIdentifierValue child : children) { if (child == null) { // in case it is not found continue; } Node childNode = new Node(child, node); node.addChild(childNode); fillTreeFromMib(childNode); } }