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); } }
private void fillDoWalk(Node node, Set includes) { if (includes.contains(node.getObjectIdentifierValue().getName())) { // set parents and itself Node currentNode = node; while (currentNode != null) { currentNode.setDoWalk(true); currentNode = currentNode.getParent(); } fillDoWalkChildren(node); } for (Node child : node.getChildren()) { fillDoWalk(child, includes); } }
private void fillDoWalkChildren(Node node) { for (Node child : node.getChildren()) { child.setDoWalk(true); fillDoWalkChildren(child); } }
private void fillTreeFromSNMP(Node node, TableUtils tutils ) throws IOException { if (!node.isDoWalk()) return; ObjectIdentifierValue oid = node.getObjectIdentifierValue(); MibValueSymbol mibValueSymbol = oid.getSymbol(); if (mibValueSymbol != null) { ArrayList<OID> oidList = new ArrayList<OID>(); for (Node child : node.getChildren()) { if (child.isDoWalk()) { ObjectIdentifierValue childOid = child.getObjectIdentifierValue(); oidList.add(new OID(childOid.getSymbol().getValue().toString())); List table = tutils.getTable(getTarget(), oids, new OID("0"), null); node.setTable(table); ) { final OID oid1 = new OID(node.getObjectIdentifierValue().toString()); VariableBinding vb = getSingleVariable(oid1); node.setVb(vb); for (Node child : node.getChildren()) { fillTreeFromSNMP(child, tutils);
private void printTreeAsXML(Node node, String tabs, StringBuilder sb, boolean oidFlag) { if (node == null) return; if (!node.isDoWalk()) return; final ObjectIdentifierValue objectIdentifierValue = node.getObjectIdentifierValue(); if (objectIdentifierValue == null) return; String tagName = objectIdentifierValue.getName(); final MibValueSymbol symbol = node.getObjectIdentifierValue().getSymbol(); String syntaxString=""; String snmpSyntax = ""; description = ""; if (node.getChildren() == null) return; if (node.getChildren().size() == 0) { final VariableBinding vb1 = node.getVb(); if (vb1 == null) return; final Variable variable = vb1.getVariable(); logger.trace(sb.toString()); } else { if (node.getTable() != null) { printNodeTableAsXML(node, tabs, sb, oidFlag); logger.trace(sb.toString()); for (Node child : node.getChildren()) { printTreeAsXML(child, tabs + "\t", sb1, oidFlag);
private void printNodeTableAsXML(Node node, String tabs, StringBuilder sb, boolean oidFlag) { String tagName = node.getObjectIdentifierValue().getName(); int i = 0; for (TableEvent tableEvent : node.getTable()) { i++; StringBuilder sbTable = new StringBuilder(); printTableRowsAsXML(node, tabs, sbRows, tableEvent.getColumns(), oidFlag); final MibValueSymbol symbol = node.getObjectIdentifierValue().getSymbol(); SnmpObjectType symbolType = (SnmpObjectType) symbol.getType(); MibType syntax = symbolType.getSyntax(); if (oidFlag) { sbTable.append(String.format("%s<%s oid=\"%s\" primitiveSyntax=\"%s\" snmpSyntax =\"%s\" access=\"%s\" units=\"%s\">", tabs, tagName, node.getObjectIdentifierValue(), syntaxString,snmpSyntax, accessString, units)); sbTable.append(String.format("\n\t%s<description><![CDATA[%s]]></description>",tabs,description)); } else {
if (vb == null) continue; String childTagName = null; for (Node child : node.getChildren()) { final ObjectIdentifierValue objectIdentifierValue = child.getObjectIdentifierValue(); if (objectIdentifierValue == null) continue; try { final String var = escapeForXML(variable.toString()); if (oidFlag) { ObjectIdentifierValue objectIdentifierValue = node.getObjectIdentifierValue(); final MibValueSymbol mibValueSymbol = objectIdentifierValue.getSymbol(); if (mibValueSymbol == null)
/** * <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; }
/** {@inheritDoc} */ @Override public String toString() { return "Node{" + "name=" + getObjectIdentifierValue().getName() + "value="+getObjectIdentifierValue().toDetailString() + '}'; } }
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 printTableIndexAsXML(Node node, String tabs, StringBuilder sb, OID indexOID, int instanceIndex, boolean oidFlag) { if (node == null) return; final ObjectIdentifierValue objectIdentifierValue = node.getObjectIdentifierValue(); if (objectIdentifierValue == null) return; final MibValueSymbol mibValueSymbol = objectIdentifierValue.getSymbol();