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(); }
SnmpObjectType symbolType = (SnmpObjectType) symbol.getType(); syntaxString = symbolType.getName(); snmpSyntax = determineSyntaxType(symbolType.getSyntax()); SnmpAccess access = symbolType.getAccess(); accessString = access.toString(); ObjectIdentifierType symbolType = (ObjectIdentifierType) symbol.getType(); syntaxString = symbolType.getName(); snmpSyntax = determineSyntaxType(symbolType); accessString = "not-accessible"; description = ""; if (vb1 == null) return; final Variable variable = vb1.getVariable(); final String vb = variable != null ? escapeForXML(variable.toString()) : ""; if (oidFlag) { } else { if (node.getTable() != null) { printNodeTableAsXML(node, tabs, sb, oidFlag); logger.trace(sb.toString()); StringBuilder sb1 = new StringBuilder(); for (Node child : node.getChildren()) { printTreeAsXML(child, tabs + "\t", sb1, oidFlag);
/** * <p>printTreeAsXML.</p> * * @return a {@link java.lang.String} object. */ public String printTreeAsXML() { StringBuilder sb = new StringBuilder(); sb.append("<?xml version=\"1.0\" ?>\n"); sb.append("<root>\n"); printTreeAsXML(node, "", sb, false); sb.append("</root>"); logger.trace(sb.toString()); return sb.toString(); }
StringBuilder sbIndex = new StringBuilder(); StringBuilder sbRows = new StringBuilder(); printTableIndexAsXML(node, tabs, sbIndex, tableEvent.getIndex(), i, oidFlag); printTableRowsAsXML(node, tabs, sbRows, tableEvent.getColumns(), oidFlag); MibType syntax = symbolType.getSyntax(); String syntaxString = syntax.getName(); String snmpSyntax = determineSyntaxType(syntax); SnmpAccess access = symbolType.getAccess(); String accessString = access.toString();
accessString = access.toString(); String indexVal = new OID(indexOID.getValue(), pos, 1).toString(); snmpSyntax = determineSyntaxType(syntax); sb.append(String.format("\t%s<index name=\"%s\" primitiveSyntax=\"%s\" snmpSyntax =\"%s\" oid=\"%s\" access=\"%s\">%s</index>\n", tabs, indexName, syntaxString, snmpSyntax, index, accessString, escapeForXML(indexVal))); } else { sb.append(String.format("\t%s<index name=\"%s\">%s</index>\n", tabs, indexName, escapeForXML(indexVal))); MibValueSymbol symbol11 = findSymbolFromMibs(indexName); snmpSyntax = determineSyntaxType(((SnmpObjectType) syntax).getSyntax()); sb.append(String.format("\t%s<index name=\"%s\" primitiveSyntax=\"%s\" snmpSyntax =\"%s\" oid=\"%s\" access=\"%s\">%s</index>\n", tabs, indexName, syntaxString,snmpSyntax, index, accessString, escapeForXML(indexVal.toString()))); } else { sb.append(String.format("\t%s<index name=\"%s\">%s</index>\n", tabs, indexName, escapeForXML(indexVal.toString()))); sb.append(String.format("\t%s<instance instanceIndex=\"%s\" instanceName=\"%s\" instanceValue=\"%s\">%s</instance>\n", tabs, instanceIndex, instance.toString(), escapeForXML(instanceValues.toString()),escapeForXML(indexOID.toString())));
final Variable variable = vb.getVariable(); if (variable == null) continue; final String var = escapeForXML(variable.toString()); if (oidFlag) { ObjectIdentifierValue objectIdentifierValue = node.getObjectIdentifierValue(); MibType syntax = symbolType.getSyntax(); String syntaxString = syntax.getName(); String snmpSyntax = determineSyntaxType(syntax); SnmpAccess access = symbolType.getAccess(); String description = symbolType.getDescription().replaceAll("\\n"," ");
/** * <p>printTreeAsXML.</p> * * @param detailedInfoFlag a boolean. * @return a {@link java.lang.String} object. */ public String printTreeAsXML(boolean detailedInfoFlag) { StringBuilder sb = new StringBuilder(); sb.append("<?xml version=\"1.0\" ?>\n"); sb.append("<root>\n"); printTreeAsXML(node, "", sb, detailedInfoFlag); sb.append("</root>"); logger.trace(sb.toString()); return sb.toString(); }
private static byte[] snmpWalk(Map<String,String> settings) throws Exception {//}, MibLoaderException { String queryParameters = settings.get("query.parameters"); String[] params = queryParameters.split(","); String mibDir = settings.get("mibDir"); MibLoaderHolder holder = new MibLoaderHolder(new File(System.getProperty("base.dir"), mibDir), false); SnmpManager snmpManager = new SnmpUdpV2Manager(holder.getLoader(),ipAddress.toString(),settings.get("community-ro"),3,1000,10,65535,161); snmpManager.init(); //(holder,new UdpTransportMappingFactory(), new DefaultMessageDispatcherFactory()); String address = ipAddress; if (address == null) throw new RuntimeException("Resource Address is null"); Properties parameters = new Properties(); parameters.put(SnmpConfigurator.O_ADDRESS, Arrays.asList(address)); parameters.put(SnmpConfigurator.O_COMMUNITY, Arrays.asList(settings.get("community-ro"))); String version = settings.get("version") == null ? "2c" : settings.get("version"); int retriesInt = settings.get("retries") == null ? 3 : Integer.parseInt(settings.get("retries")); int timeoutInt = settings.get("timeout") == null ? 1200 : Integer.parseInt(settings.get("timeout")); int maxrepetitions = settings.get("max-repetitions") == null ? 100 : Integer.parseInt(settings.get("max-repetitions")); int nonrepeaters = settings.get("non-repeaters") == null ? 10 : Integer.parseInt(settings.get("max-repetitions")); parameters.put(SnmpConfigurator.O_VERSION, Arrays.asList(version)); parameters.put(SnmpConfigurator.O_TIMEOUT, Arrays.asList(timeoutInt)); parameters.put(SnmpConfigurator.O_RETRIES, Arrays.asList(retriesInt)); parameters.put(SnmpConfigurator.O_MAX_REPETITIONS, Arrays.asList(maxrepetitions)); parameters.put(SnmpConfigurator.O_NON_REPEATERS,Arrays.asList(nonrepeaters)); Node root = snmpManager.snmpWalk(params); SnmpXmlPrinter snmpXmlPrinter = new SnmpXmlPrinter(holder.getLoader(),root); String xml = snmpXmlPrinter.printTreeAsXML(); return xml.getBytes(); } private synchronized void doPause() {
protected RawDeviceData getRawData (SnmpManager snmpManager,DiscoveryHelper discoveryHelper){ String[] requestParamsList = discoveryHelper.getRequestParams(discoveryTypes); Node rawDatNode = null; RawDeviceData rawData = null; try { rawDatNode = snmpManager.snmpWalk(requestParamsList); snmpManager.closeSnmp(); } catch (IOException e) { logger.error(e.getMessage(),e); } if (rawDatNode != null) { SnmpXmlPrinter snmpXmlPrinter = new SnmpXmlPrinter(mibLoaderHolder.getLoader(), rawDatNode); rawData = new RawDeviceData(snmpXmlPrinter.printTreeAsXML().getBytes()); logger.trace(new String(rawData.getData())); } else { return null; } return rawData; }
snmpXmlPrinter = new SnmpXmlPrinter(mibLoaderHolder.getLoader(),root); String xml =snmpXmlPrinter.printTreeAsXML();
logger.debug("PDU response event is null"); SnmpXmlPrinter xmlPrinter = new SnmpXmlPrinter(mibLoaderHolder.getLoader(),snmpUdpv3Manager.snmpWalk(new String[]{"system", "interfaces"})); String xml = xmlPrinter.printTreeAsXML(true);
SnmpXmlPrinter snmpXmlPrinter = new SnmpXmlPrinter(mibLoaderHolder.getLoader(), rawDatNode); rawData = new net.itransformers.idiscover.api.models.node_data.RawDeviceData(snmpXmlPrinter.printTreeAsXML().getBytes());