public static String getByOid(String ipAddress, String oid, String community,String timeout, String retries) throws Exception {
if (mockSnmpForXslt != null) {
return mockSnmpForXslt.getByOid(ipAddress, oid, community, timeout, retries);
}
HashMap<String, String> deviceNameMap = discoveredIPs.get(ipAddress);
String deviceName = null;
if(!ipAddressValidator.isValid(ipAddress))
return null;
if (deviceNameMap != null) {
deviceName = deviceNameMap.get(community);
}
if ("".equals(deviceName)) {
return null;
} else if (deviceName == null) {
if ("".equals(retries) || retries==null) retries = "1";
if ("".equals(timeout) || timeout==null) timeout = "300";
Map<String, String> resourceParams = new HashMap<String, String>();
resourceParams.put("snmpCommunity", community);
resourceParams.put("version", "1");
resourceParams.put("retries", retries);
resourceParams.put("timeout", timeout);
resourceParams.put("ipAddress",ipAddress);
SnmpManager snmpManager = createSnmpManager(resourceParams);
final String oidValue = snmpManager.snmpGet(oid);
logger.debug("hostname:" + ipAddress + ", community: " + community + ", oidValue:" + oidValue);
return oidValue;
} else {
return null;
}
}