ONOS-5917 SNMP Alarm Provider
Change-Id: I9eb39021584f3b1a5baed9dfa638569818901197
diff --git a/protocols/snmp/ctl/src/main/java/org/onosproject/snmp/ctl/DefaultSnmpController.java b/protocols/snmp/ctl/src/main/java/org/onosproject/snmp/ctl/DefaultSnmpController.java
index 8ddbb6b..c02218e 100644
--- a/protocols/snmp/ctl/src/main/java/org/onosproject/snmp/ctl/DefaultSnmpController.java
+++ b/protocols/snmp/ctl/src/main/java/org/onosproject/snmp/ctl/DefaultSnmpController.java
@@ -38,6 +38,7 @@
import org.slf4j.LoggerFactory;
import java.io.IOException;
+import java.net.URI;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
@@ -73,6 +74,7 @@
}
@Override
+ @Deprecated
public ISnmpSession getSession(DeviceId deviceId) throws IOException {
if (!sessionMap.containsKey(deviceId)) {
SnmpDevice device = snmpDeviceMap.get(deviceId);
@@ -112,16 +114,32 @@
}
@Override
+ public SnmpDevice getDevice(URI uri) {
+ //this assumes that only one device is associated with one deviceId
+ return snmpDeviceMap.entrySet()
+ .stream().filter(p -> p.getValue()
+ .getSnmpHost().equals(uri.toString()))
+ .map(Map.Entry::getValue).findFirst().orElse(null);
+ }
+
+ @Override
public void removeDevice(DeviceId did) {
snmpDeviceMap.remove(did);
}
@Override
+ @Deprecated // in 1.14.0
public void addDevice(DeviceId did, SnmpDevice device) {
snmpDeviceMap.put(did, device);
}
@Override
+ public void addDevice(SnmpDevice device) {
+ log.info("Adding device {}", device.deviceId());
+ snmpDeviceMap.put(device.deviceId(), device);
+ }
+
+ @Override
public DefaultAlarm buildWalkFailedAlarm(DeviceId deviceId) {
long timeRaised = System.currentTimeMillis();
return new DefaultAlarm.Builder(